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.51.0'
# pip install 'etlantic==0.51.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.51.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.51.0.tar.gz | 39.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| etlantic_sql-0.51.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 85.9 kB
Release files / etlantic_sql-0.51.0.tar.gz
| Download URL | etlantic_sql-0.51.0.tar.gz |
|---|---|
| Size | 39.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
75b33ccec672acc40e3f2cf564d4eade1b49be60506655b07a4d79539db83dec
|
|
BLAKE2b-256 checksum How to use checksums |
94e1a9ef79c3b39a961dca9b258b931636515b3197a271620d38786bdca13d29
|
| 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.51.0-py3-none-any.whl
| Download URL | etlantic_sql-0.51.0-py3-none-any.whl |
|---|---|
| Size | 46.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a08d5faa0dd45eb1014d6c87d49de8d704232d23e4a62883990780dd60419a47
|
|
BLAKE2b-256 checksum How to use checksums |
2692ef3507d4d65ae944bb0b5dd136c098dfb0c495ea045fb8f2ae1965be507a
|
| 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}
|