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.51.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.51.0 with etlantic==0.51.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.51
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 until 0.51.0 is tagged. The immutable 0.51.0 tree will be at v0.51.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.

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.51.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

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

etlantic-0.51.0-py3-none-any.whl (818.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: etlantic-0.51.0.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for etlantic-0.51.0.tar.gz
Algorithm Hash digest
SHA256 64b88db617c1fa827577b098a6f64db26d4a5d9327dbdb149cfae0ccf4ec85cd
MD5 6a3862f16c22bfe8585ea80df2c7b300
BLAKE2b-256 d89f1f552438d219c7d4883957de807054b63c81d41dd1fa3aed582b50571e87

See more details on using hashes here.

File details

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

File metadata

  • Download URL: etlantic-0.51.0-py3-none-any.whl
  • Upload date:
  • Size: 818.5 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for etlantic-0.51.0-py3-none-any.whl
Algorithm Hash digest
SHA256 339915b63fb639d628122fed78b594efe2ca217af185ace2893299449a833f62
MD5 a4e5fbab8d8c7eb119cb0430311d5931
BLAKE2b-256 b17b1408270f3db8e593736ba21338233c9471e34f52c2337beedeedfd715a6b

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

This release

0.51.0 This release

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

0.32.0

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