Skip to main content

etlantic-sql

SQLite and PostgreSQL reference SQL execution plugin for ETLantic 0.38.

Note: This plugin and ETLantic core use Beta classifiers for documented single-tenant pilots. Classifiers are not an enterprise SLA.

Install

pip install etlantic-sql
export ETLANTIC_SQL_URL=postgresql+psycopg://user:pass@localhost:5432/etlantic
# Or use SQLite:
# export ETLANTIC_SQL_URL=sqlite+pysqlite:///:memory:

Uses SQLAlchemy Core. Driver dependencies stay out of etlantic core.

Wiring

from etlantic import Profile

Profile(name="sql-prod", sql_engine="sql")

The etlantic.sql_plugins entry point named sql registers etlantic_sql:create_plugin. Profiles select it with sql_engine="sql"; keep connection URLs in environment-backed configuration or secret providers, not in plans.

Register @Transformation.implementation("sql") handlers that take RelationRef inputs and return SQL query handles (not fetched rows).

Capabilities

  • SQL→SQL fusion without intermediate Python row fetch
  • Durable run-scoped staging tables (not session TEMP)
  • Insert-select / CTAS-style publication
  • Fail-closed planning when required capabilities are missing

SQLite and PostgreSQL are Tier A in 0.33. MERGE / upsert is advertised only for PostgreSQL (sql_merge=True, INSERT … ON CONFLICT); SQLite remains sql_merge=False and fails closed when merge is required.

Connector capability matrix (0.38 Experimental)

Source/sink/storage entry points (postgresql) implement etlantic.connectors protocols. CI uses an in-memory SQLite fake; live PostgreSQL remains the intended production dialect for the SQL plugin.

Capability Source Sink Storage Notes
source.batch_snapshot Bounded table read
source.schema_discovery Row-free field inspect
source.statistics_bounded Row estimate only
write.append Transactional
write.overwrite DELETE + INSERT
write.merge ON CONFLICT (PG / sqlite fake)
publication.atomic Commit / rollback
transactions Autocommit-off path
reconciliation query_id evidence
idempotency Declared

Entry points: etlantic.source_connectors / sink_connectors / storage_connectorspostgresql.

Examples

python examples/sql_to_sql.py
python examples/sql_boundary_hybrid.py
python examples/sql_transactional_write.py
python examples/sql_failure_recovery.py

Links

SQL tutorial · SQL hello · Source · Issues

Download files

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

Source Distribution

etlantic_sql-0.38.0.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

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

etlantic_sql-0.38.0-py3-none-any.whl (37.6 kB view details)

Uploaded Python 3

File details

Details for the file etlantic_sql-0.38.0.tar.gz.

File metadata

  • Download URL: etlantic_sql-0.38.0.tar.gz
  • Upload date:
  • Size: 29.7 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_sql-0.38.0.tar.gz
Algorithm Hash digest
SHA256 eede4d8126ff11c65cf14968f232b90efa39bd13ff7e776f25540f9c8782ae9d
MD5 2cd75d752e1519edea02b633091c0b05
BLAKE2b-256 e013f3250f2b8a61d4d145806ca22cc0360b2e0c9275ec9f03c6e96851632545

See more details on using hashes here.

File details

Details for the file etlantic_sql-0.38.0-py3-none-any.whl.

File metadata

  • Download URL: etlantic_sql-0.38.0-py3-none-any.whl
  • Upload date:
  • Size: 37.6 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_sql-0.38.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd8a9d9ef3994c108a0ccfa21aee5e2368d3b2e1d843378c9036dae7c79a8227
MD5 d8e9185dc5a6db70565ced5eb1ad5526
BLAKE2b-256 4e8fbec446b1a73dacbf431dad5c28bb2834a28224fdd74e53b0cbdfbc4fed5d

See more details on using hashes here.

Release history Release notifications | RSS feed

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

This release

0.38.0 This release

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

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