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.50.1'
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.50.1 with etlantic==0.50.1). 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.50
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 (currently 0.50.1). The pinned tree is also at v0.50.1.

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.50.1.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.50.1-py3-none-any.whl (799.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: etlantic-0.50.1.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.50.1.tar.gz
Algorithm Hash digest
SHA256 a10b8520c2ba20011bb4a6fe7acb7e577cdb158664409a9c72cc87563b607327
MD5 38b32ae26adaf0c613b7d64662a407c4
BLAKE2b-256 d61ca80e67da6c3e5c2cb05384ddc2e60cd4d55049942d283046f49afe1b4053

See more details on using hashes here.

File details

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

File metadata

  • Download URL: etlantic-0.50.1-py3-none-any.whl
  • Upload date:
  • Size: 799.7 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.50.1-py3-none-any.whl
Algorithm Hash digest
SHA256 17168c7b26057810f2b1d4ed9da26b0e84a18cf04da330cd50853490eddab0f3
MD5 09cf37fff94c1f9110bc524b754d95c7
BLAKE2b-256 5e796325a78a314a7a4d6abaac155264520b3aca9719ba3138c09376fee88601

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

This release

0.50.1 This release

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