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
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 published 0.55.0 line remains supported while 0.56.0 is a qualification candidate. 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 with etlantic). 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.56
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.55.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.

Metadata

Release files for etlantic 0.56.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.56.0
File Size Uploaded
etlantic-0.56.0.tar.gz 2.0 MB Details

Built distribution (wheel)

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

Total release size: 3.2 MB

Release files / etlantic-0.56.0.tar.gz

Download URL etlantic-0.56.0.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
750b4b7f6dfd83c94d3041b570e64dd22b4c3487016e330fe3812e219ab05cc7
BLAKE2b-256 checksum
How to use checksums
c60adfd0f2f5f18e9c398ebbb39c9d5d0e7d28d1fd7adc19e978a88cc8151904
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.56.0-py3-none-any.whl

Download URL etlantic-0.56.0-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d204aae06921a3da05073403ec6b0c93cc7e464b9844f12b0b65191a6d7e2341
BLAKE2b-256 checksum
How to use checksums
37d50dfea85d42d7132fd010c1b3b3488243c402bd4a26f8a7692be69bdc5fbf
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

0.59.0

2 release files

0.58.0

2 release files

0.57.2

2 release files

0.57.1

2 release files

This release

0.56.0 This release

2 release files

0.55.0

2 release files

0.54.0

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