Skip to main content

etlantic-sql

SQLite and PostgreSQL reference SQL execution plugin for ETLantic 0.43. Install when pipelines need Profile(sql_engine="sql"), SQL→SQL fusion, or Experimental postgresql source/sink/storage connectors. Keep the pin matched to core.

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==0.50.0'
# pip install 'etlantic==0.50.0'
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

Release files for etlantic-sql 0.50.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-sql 0.50.0
File Size Uploaded
etlantic_sql-0.50.0.tar.gz 38.9 kB Details

Built distribution (wheel)

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

Total release size: 85.7 kB

Release files / etlantic_sql-0.50.0.tar.gz

Download URL etlantic_sql-0.50.0.tar.gz
Size 38.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1671781c8c0394aa710d950c52be11f7237c64e5a9df1dc30d6156a6aea36aa1
BLAKE2b-256 checksum
How to use checksums
06db45b79222b277e84a9d9ce6d2c1cc0826c3bc1b3758addc34a95a520e7435
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_sql-0.50.0-py3-none-any.whl

Download URL etlantic_sql-0.50.0-py3-none-any.whl
Size 46.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e69e02794068d9ee193f8432539e90aff7e1608057479e3abe964226702f0adf
BLAKE2b-256 checksum
How to use checksums
13bbadd6030fbbb8192da0008fd05b01bc90aa21af9142371b6ae7d1dafdba69
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.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

This release

0.50.0 This release

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

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