etlantic-sqlmodel
Optional bridge between ETLantic Data contracts and
SQLModel table models, plus optional CP1
control-plane reference stores. Install when you need contract_to_sqlmodel
helpers or SQLModel-backed definition/submission stores for local CP1 demos.
Package version is 0.56.0 — pin with core.
Install
pip install 'etlantic-sqlmodel==0.56.0'
# pip install 'etlantic==0.56.0'
Schema bridge
from etlantic import Data
from etlantic_sqlmodel import contract_to_sqlmodel, compare_metadata
class Customer(Data):
customer_id: int
name: str
CustomerTable = contract_to_sqlmodel(
Customer,
table_name="customer",
primary_key=("customer_id",),
)
assert compare_metadata(Customer, CustomerTable).valid
Control-plane reference stores (CP1/CP2)
Request-scoped sessions and SQLModel-backed DefinitionRepository /
SubmissionStore / CP2 RegistryProvider implementations. Persistence models
are separate from HTTP response models. create_control_plane_tables and
create_registry_tables are for tests and local demos only — production must
apply versioned migrations via etlantic_sqlmodel.migrations (do not use
create_all as the sole schema path).
from etlantic_sqlmodel.control_plane import (
SQLModelDefinitionRepository,
SQLModelSubmissionStore,
SqlModelRegistryProvider,
create_sqlite_engine,
)
from etlantic_sqlmodel.migrations import apply_migrations
engine = create_sqlite_engine("sqlite:///cp.db")
apply_migrations(engine) # all provider-owned CP1–CP4 tables
registry = SqlModelRegistryProvider(engine)
definitions = SQLModelDefinitionRepository(engine)
submissions = SQLModelSubmissionStore(engine)
Registry conformance (memory vs SQLModel promote/suspend):
uv run python scripts/check_registry_conformance.py --fake
These stores honor scoped idempotency and survive process restart when backed
by a durable database URL. For CP-GA Supported profiles, treat snapshots as
canonical for backup/restore; entity dual-write rows are denormalized mirrors
for isolation queries. Use separate engines/schemas per tenant for
isolated-deployment / dedicated-schema.
Links
Metadata
Release files for etlantic-sqlmodel 0.56.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_sqlmodel-0.56.0.tar.gz | 51.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| etlantic_sqlmodel-0.56.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 120.8 kB
Release files / etlantic_sqlmodel-0.56.0.tar.gz
| Download URL | etlantic_sqlmodel-0.56.0.tar.gz |
|---|---|
| Size | 51.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9df0d433607a7b9819db6623580538efcbc081307a02905e674b61613e185a6f
|
|
BLAKE2b-256 checksum How to use checksums |
025029080a9d544f70dd9e625b86482664bb0f79d084d5b6e9cdba60b542abb5
|
| 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_sqlmodel-0.56.0-py3-none-any.whl
| Download URL | etlantic_sqlmodel-0.56.0-py3-none-any.whl |
|---|---|
| Size | 69.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fbaaf32dfaf97e429626af5935be5330cc14a294d811ccf549b733bb1dce7c45
|
|
BLAKE2b-256 checksum How to use checksums |
2613710262bc97be2c3bf4eb501a599ee1f6b1bc2b32fbf6ea1ba012dad9986d
|
| 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}
|