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.45.0 — pin with core.
Install
pip install 'etlantic-sqlmodel==0.45.0'
# pip install 'etlantic==0.45.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) # CP2 registry tables (001_registry_cp2)
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file etlantic_sqlmodel-0.45.0.tar.gz.
File metadata
- Download URL: etlantic_sqlmodel-0.45.0.tar.gz
- Upload date:
- Size: 28.0 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2669ca67ec9998af6515ccf90acaa8cdc8e01453cd76edbbec60b803c17a00fb
|
|
| MD5 |
1c86a533b332b718d3777a82503a2f21
|
|
| BLAKE2b-256 |
e09bf9815edbbf43c7f597dd78f0036e7bda8cc771798fc7a41fd230cfd65d9b
|
File details
Details for the file etlantic_sqlmodel-0.45.0-py3-none-any.whl.
File metadata
- Download URL: etlantic_sqlmodel-0.45.0-py3-none-any.whl
- Upload date:
- Size: 36.6 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bcb73c7b8fada732210dfe2f0dc9e37495e42aa8a4426dc409eb54dbe6d8ccb
|
|
| MD5 |
5402afbc21ebd6f536811e5a352405c3
|
|
| BLAKE2b-256 |
077c8a1bebebf1951697e78040ca09dfed2bf201601c1d78e9bb5d74079214aa
|