Skip to main content

ETLantic logo

ETLantic

One typed pipeline model. Many execution backends.
Typed contracts. Deterministic plans. Pluggable execution.

CI status PyPI version Supported Python versions Project status: beta MIT license

Quickstart · Documentation · Is ETLantic for me? · Python API · CLI


ETLantic is a Python library for defining data pipelines as typed contracts and graphs, validating them before they run, and producing a deterministic plan that a plugin executes (local Python, Polars, Pandas, SQL, PySpark, DataFusion, or DuckDB) or an orchestrator compiles (Airflow). It is not dbt, not a dataframe engine, and not a hosted scheduler.

Quickstart

ETLantic requires Python 3.11 or newer. In an activated virtual environment:

python -m pip install 'etlantic==0.54.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

The run should succeed and write Ada and Grace to data/out.json. See the full Quickstart for setup details and expected output.

If init refuses the directory, use an empty folder (or --force only after you have reviewed what it overwrites). Pin every official plugin to the same version as core (etlantic-polars==0.54.0 with etlantic==0.54.0). Mixed plugin versions fail closed — see Troubleshooting.

What it provides

  • Typed Data, Transformation, Extract, Load, and Pipeline building blocks.
  • Validation before execution or publication, with human, JSON, and SARIF diagnostics.
  • Deterministic plans that can be inspected, fingerprinted, diffed, run, or compiled.
  • Contract generation for ODCS, DTCS, and DPCS artifacts.
  • Pluggable execution across local Python, Polars, Pandas, SQL, and PySpark, DataFusion, and DuckDB, plus orchestration integrations.

Define transformation logic once with @Transformation.portable. ETLantic's qualified relational baseline runs that definition across all seven engines. Use @Transformation.implementation(...) only as an explicit escape hatch for behavior outside the portable surface: native bodies are tied to one engine and will not be eligible for adaptive execution.

Application code should use the curated public facade:

import etlantic as etl

The public CLI (see the CLI reference):

  • Authoring: init, doctor, validate, inspect, plan, profile, run, compile, generate, diff
  • Ops: plugin, schema, reliability, erasure, viz, report, watch, stream, schedule, scheduler, worker
  • Agents: context, proposal

Execution options

Core has no dataframe, database, Spark, or orchestrator dependency. Install only the integrations a pipeline needs:

Capability 0.54
Local Python + JSON/CSV etlantic
Polars or Pandas etlantic[polars] or etlantic[pandas]
SQL or PySpark etlantic[sql] or etlantic[pyspark]
Airflow or Prefect etlantic[airflow] or etlantic[prefect]

Prefer portable transformations and set portable_transform_policy="require" so unsupported semantics fail during validation or planning. In controlled deployments, pin ETLantic and official plugins to the same release. See engine selection and compatibility.

Security and production posture

ETLantic is Beta, community-supported, with no SLA. Use it for documented single-tenant pilots. You can embed an HTTP control plane (etlantic-fastapi) with Supported isolation profiles (isolated-deployment, dedicated-schema). There is no hosted multi-tenant SaaS. See Capabilities and the control-plane program.

Plans and reports contain secret references, never resolved secret values. Production profiles require an explicit non-empty plugin_allowlist; an allowlist controls selection but is not a sandbox. Schema history stores fingerprints and metadata, never source rows.

Review the production readiness and security model before a pilot.

Learn more

These links use the Read the Docs stable alias, which remains on the latest published release. The immutable patch-release tree is at v0.54.0.

Contributing

See CONTRIBUTING.md for development setup and pull-request guidance. Use GitHub Issues for bugs and questions, and follow the private instructions in SECURITY.md to report vulnerabilities.

ETLantic is available under the MIT License.

Release files for etlantic 0.54.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for etlantic 0.54.0
File Size Uploaded
etlantic-0.54.0.tar.gz 1.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for etlantic 0.54.0
File Interpreter ABI Platform
etlantic-0.54.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.4 MB

Release files / etlantic-0.54.0.tar.gz

Download URL etlantic-0.54.0.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
bc00349e265664fe08c55d978c7167d5361bce75574d690ee8e1cd11ceaf26d5
BLAKE2b-256 checksum
How to use checksums
af5fb367f49534efbaafbc24f54b70a1f8e05f0d1e0f719bf2aa334a7a34e865
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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}

Release files / etlantic-0.54.0-py3-none-any.whl

Download URL etlantic-0.54.0-py3-none-any.whl
Size 924.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
69173b7472202ad6d41ee51b8aae2ab69559fc9dc3f417d96e0f5cfdee0a4dac
BLAKE2b-256 checksum
How to use checksums
ad48526f0984420152ccfed1097cd27da8d30e7fb2cbe8b22728fcc46d84d82e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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}

Release history Release notifications | RSS feed

This release

0.54.0 This release

2 release files

0.53.0

2 release files

0.52.1

2 release files

0.52.0

2 release files

0.51.0

2 release files

0.50.1

2 release files

0.50.0

2 release files

0.48.0

2 release files

0.47.0

2 release files

0.46.0

2 release files

0.45.0

2 release files

0.40.0

2 release files

0.39.0

2 release files

0.38.0

2 release files

0.37.0

2 release files

0.36.0

2 release files

0.35.0

2 release files

0.34.0

2 release files

0.33.0

2 release files

0.32.0

2 release files

0.31.0

2 release files

0.30.0

2 release files

0.29.0

2 release files

0.27.0

2 release files

0.26.0

2 release files

0.25.0

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release 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