application.columnar
Papel na engine
application.columnar define fronteiras de dados entre domínio e representação tabular. Em um módulo crítico, esse contrato evita deriva de schema e reduz risco de regressão silenciosa.
Módulo: application.columnar.schema
Constantes:
SCHEMA_VERSION = "1"SCHEMA_VERSION_COLUMN = "__schema_version"DEMAND_FRAME_COLUMNSFORECAST_FRAME_COLUMNS
assert_required_columns(context, columns, required) -> None
Valida presença de colunas obrigatórias e levanta InvariantViolation em caso de ausência.
Módulo: application.columnar.ports
DomainToColumnarPort
demand_series_to_frame(series) -> Anyforecast_run_to_frame(run) -> Any
ColumnarToDomainPort
frame_to_demand_series(frame) -> DemandSeriesframe_to_forecast_points(frame, grain, expected_uom) -> list[ForecastPoint]
ColumnarStoragePort
write_frame(frame, destination, schema_version) -> strread_frame(source, expected_schema_version) -> Any
Notas de implementação
- O pacote define contratos abstratos e não fixa o tipo de frame (
Any). - A implementação de referência está em
adapters.columnarcom Polars.