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.52.0'
# pip install 'etlantic==0.52.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.
Prefer @Transformation.portable with
portable_transform_policy="require"; the compiler lowers the qualified
baseline to typed, parameterized SQL. Register
@Transformation.implementation("sql") only when dialect-specific behavior
outside that baseline is required. Native handlers take RelationRef inputs
and return SQL query handles (not fetched rows); they are tied to SQL and are
not eligible for adaptive execution.
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_connectors → postgresql.
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.52.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| etlantic_sql-0.52.0.tar.gz | 54.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| etlantic_sql-0.52.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 116.0 kB
Release files / etlantic_sql-0.52.0.tar.gz
| Download URL | etlantic_sql-0.52.0.tar.gz |
|---|---|
| Size | 54.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f0df3dcdd35ba722b54aa2bff765924852a36ee84e49960013d0e8a137baa5ef
|
|
BLAKE2b-256 checksum How to use checksums |
6d923c5cd433f7ee479ed7f16f9bf6493b9b9017e7ead2065d95ef3440edfbf2
|
| 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.52.0-py3-none-any.whl
| Download URL | etlantic_sql-0.52.0-py3-none-any.whl |
|---|---|
| Size | 61.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d378af82af2179bf3cda2d028936bf925de1484096e3679146942e248e5aa7de
|
|
BLAKE2b-256 checksum How to use checksums |
b211e5dcd06c86dd3900bbbdb9f9c5ac60f9d1206d4a7644feee1f1b94b7e520
|
| 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}
|