Migrating from 0.8 to 0.9¶
ETLantic 0.9 focuses on tooling, SDK polish, and ecosystem readiness. Orchestration protocols from 0.8 are unchanged; 0.9 wraps them with CLI, diagnostics, plugin trust, and optional packages.
What changed¶
- CLI:
compile,generate,diff,plugin,schema *,reliability *,viz *, andreport compare(JSON / human / SARIF where applicable) Profile.plugin_allowlistwith version pins; production profiles fail closedFileSchemaHistoryProviderunder.etlantic/schema-history/- SARIF + GitHub annotation renderers (
etlantic.diagnostics.sarif) - Reliability provider protocols and ops CLI
FileReportStore+ report compare- Visualization: Graphviz DOT, HTML lineage pages, JSON lineage export
- Optional packages:
etlantic-keyring,etlantic-sqlmodel - Optional extra
etlantic[otel]for OpenTelemetry adapter - IDE command/result JSON schemas (
etlantic.ide) - Notebook display helpers and agent guidance generators
- Plugin packages bump to
0.9.0and requireetlantic>=0.9.0,<1.0
Install¶
pip install --upgrade 'etlantic>=0.9.0'
pip install etlantic-keyring # optional OS keyring secrets
pip install etlantic-sqlmodel # optional SQLModel bridge
# or extras:
pip install 'etlantic[keyring,sqlmodel,otel,airflow]'
Plugin trust¶
from etlantic import Profile
profile = Profile(
name="production",
security_domain="production",
plugin_allowlist={
"etlantic-polars": ">=0.9.0,<1.0",
"etlantic-airflow": ">=0.9.0,<1.0",
},
)
Unlisted plugins are rejected in production profiles.
CLI examples¶
etlantic validate module:MyPipeline --format sarif
etlantic compile module:MyPipeline --target airflow -o dags/
etlantic generate module:MyPipeline -o contracts/
etlantic schema monitor module:MyContract --subject orders
etlantic viz html module:MyPipeline -o lineage.html
Unchanged¶
compile_plan/etlantic-airfloworchestration model- Spark / SQL / dataframe execution protocols
- Local orchestrator default