Skip to main content

ETLantic logo

ETLantic

Typed Python data pipelines with validate-before-write.
Design once. Validate everywhere.

CI PyPI Python versions MIT license Ruff

Documentation · Quickstart · Capabilities · Roadmap


ETLantic lets you define Python data pipelines as typed classes or functional builders / JSON (PipelineDefinition), catch bad wiring and contract mismatches before any write, then run or compile the same pipeline on local Python, Polars, Pandas, SQL, or Spark—and emit Airflow DAGs when you need them.

It is not a warehouse tool (use dbt), not a scheduler (use Airflow, Dagster, or Prefect), and not a dataframe engine. It is a typed pipeline framework that coordinates the tools you already choose.

Typed contracts ──▶ Validation ──▶ Deterministic plan ──▶ Run or compile

Why ETLantic?

  • Catch invalid wiring, incompatible contracts, missing capabilities, and untrusted plugins before a write.
  • Validate extracted inputs, transformation outputs, engine transitions, and publication boundaries against the same contracts.
  • Keep one logical pipeline across local Python, Polars, Pandas, SQL, and PySpark; compile to Airflow DAGs; run under Prefect where the local MVP applies.
  • Review deterministic, secret-free plans and preserve structured diagnostics, lineage, schema observations, and run reports.
  • Install a small core and add only the engines you need.

Quickstart

Requires Python 3.11 or newer. Use an empty directory for init (or pass --force). On Windows PowerShell, activate with .\.venv\Scripts\Activate.ps1 and prefer py -3.11 -m … (see Installation).

python -m venv .venv && source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install 'etlantic==0.32.0'
python -m etlantic --version

mkdir my-pipeline && cd my-pipeline
python -m etlantic init --with-toml
python -m etlantic validate pipeline.py:SamplePipeline --profile development
python -m etlantic run pipeline.py:SamplePipeline --profile development
cat data/out.json

You should see run status succeeded and JSON rows for Ada and Grace (identity transform on the sample). That proves plumbing—next, change the transform in First Pipeline.

The CLI defaults to development when --profile is omitted (or your project's default_profile). Prefer an explicit profile in scripts and CI.

Full walkthrough: Quickstart.

After first success (clone only): repository demos under examples/ (for example memory_customers.py) require a git checkout — they are not in the PyPI wheel.

Status: ETLantic 0.32.0 is a Beta (PyPI) release suitable for documented single-tenant pilots—not unrestricted enterprise production. Structured Streaming remains experimental. See Capabilities and Production readiness.

Engines and integrations

Integration Install Role
Polars etlantic-polars Eager/lazy dataframe execution and portable compilation
Pandas etlantic-pandas Eager dataframe execution and portable compilation
SQL etlantic-sql Parameterized relational execution and portable SQL compilation
PySpark etlantic-pyspark Spark execution and portable compilation
Airflow etlantic-airflow Compile plans into DAG artifacts (does not install Airflow)
Prefect etlantic-prefect Direct-execution local MVP (deployment/serve remain future)
Keyring etlantic-keyring OS keyring secret provider
SQLModel etlantic-sqlmodel SQLModel bridge helpers
Medallantic medallantic SparkForge IR → ETLantic migration adapter (native authoring + quality gates in 0.30; prefer medallantic over deprecated etlantic-sparkforge)
DataFusion etlantic-datafusion Experimental query engine stub (Gate B)
FastAPI etlantic-fastapi Thin 0.30 authoring/service reference adapter (not the 1.1 control plane)

See Optional packages for observability (otel / observability extras) and Arrow helpers.

Matching extras such as etlantic[polars] are equivalent. Pin matching minors while ETLantic is pre-1.0.

Architecture

ETLantic keeps logical meaning separate from physical execution:

Data + Transformation + Pipeline contracts
                              │
                       validate and plan
                              ▼
                    secret-free PipelinePlan
                              │
                  ┌───────────┼───────────┐
                  ▼           ▼           ▼
               execute      compile     generate
                  │           │           │
                  └──── plugins and external systems

Plans and reports contain secret references, never resolved secret values. Production profiles require explicit plugin allowlists. Backend optimizations may change the physical graph but must preserve contracts, validation boundaries, security domains, and logical attribution.

Contract standards (ODCS / DTCS / DPCS) and the validation envelope are covered in the Architecture and Validation Everywhere guides.

Capability boundary

Capability 0.32
Cohesive CLI (init, doctor, durable reports) Available
Typed contracts, graph validation, deterministic planning Available
Local, Polars, Pandas, SQL, and PySpark execution paths Available
Portable compilers for Polars, Pandas, SQL, and PySpark Available
Portable quality expressions (etlantic.quality/1) Available (Polars/Pandas/local; SQL/PySpark fail-closed)
ODCS, DTCS, DPCS, schema drift, lineage, reports, and SARIF Available
Airflow compilation (compile-only) and Prefect local MVP Available (bounded)
Versioned Polars↔Pandas tabular interchange Available
Contract and configuration freeze (deep plans, security_mode) Available
Trust, isolation, safe I/O, SBOM/attestations (single-tenant reference) Available (bounded)
Structured Streaming Experimental
etlantic-datafusion Experimental
Full multi-tenant control plane / SLA / unrestricted enterprise Not included

See the full Capabilities guide for precise guarantees and limitations.

Release notes: What's New in 0.32.

Learn more

Installation · Quickstart · Engine selection · Compare · Security · Roadmap · Contributing

MIT licensed.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

etlantic-0.32.0.tar.gz (618.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

etlantic-0.32.0-py3-none-any.whl (451.4 kB view details)

Uploaded Python 3

File details

Details for the file etlantic-0.32.0.tar.gz.

File metadata

  • Download URL: etlantic-0.32.0.tar.gz
  • Upload date:
  • Size: 618.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for etlantic-0.32.0.tar.gz
Algorithm Hash digest
SHA256 fdf7d6830bfb1f202170a4fa4ab8a414b6229c485e7822c95ee60572183a8511
MD5 ba1bfcdfa72184836c1294a98bf6208f
BLAKE2b-256 40570b70a249fdc174d2edfe25a41528a0ffe87271a8db0f76f07d3b28716b49

See more details on using hashes here.

File details

Details for the file etlantic-0.32.0-py3-none-any.whl.

File metadata

  • Download URL: etlantic-0.32.0-py3-none-any.whl
  • Upload date:
  • Size: 451.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for etlantic-0.32.0-py3-none-any.whl
Algorithm Hash digest
SHA256 addbd8a1de0281c83a7f22a73933da419ba1c89e0a137f2fef2044cf10639124
MD5 1a9194f929029c8c0b20f5d121e33cb7
BLAKE2b-256 f261e5a450ac58da5f6f50ed80ac6b7036818d66235a40ef7f5bdbe8f6df2c4f

See more details on using hashes here.

Release history Release notifications | RSS feed

0.53.0

2 files

0.52.1

2 files

0.52.0

2 files

0.51.0

2 files

0.50.1

2 files

0.50.0

2 files

0.49.0

2 files

0.48.0

2 files

0.47.0

2 files

0.46.0

2 files

0.45.0

2 files

0.44.0

2 files

0.43.0

2 files

0.42.0

2 files

0.41.0

2 files

0.40.0

2 files

0.39.0

2 files

0.38.0

2 files

0.37.0

2 files

0.36.0

2 files

0.35.0

2 files

0.34.0

2 files

0.33.0

2 files

This release

0.32.0 This release

2 files

0.31.0

2 files

0.30.0

2 files

0.29.0

2 files

0.27.0

2 files

0.26.0

2 files

0.25.0

2 files

0.24.0

2 files

0.23.0

2 files

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page