Skip to main content

ContractModel ↔ SQLModel bridge for ETLantic.

Project description

etlantic-sqlmodel

Optional bridge between ETLantic Data contracts and SQLModel table models for ETLantic 0.20.

pip install 'etlantic==0.22.0' 'etlantic-sqlmodel==0.22.0'
# or: pip install 'etlantic[sqlmodel]'

Sessions, Alembic migrations, and repository helpers are deferred to 1.1+. This package focuses on schema mapping and metadata comparison only.

Usage

from etlantic import Data
from etlantic_sqlmodel import (
    compare_metadata,
    contract_to_sqlmodel,
    create_plugin,
    sqlmodel_to_contract,
)


class Customer(Data):
    customer_id: int
    name: str


CustomerTable = contract_to_sqlmodel(
    Customer,
    table_name="customer",
    primary_key=("customer_id",),
)

metadata = sqlmodel_to_contract(CustomerTable)
report = compare_metadata(Customer, CustomerTable)
assert report.valid

plugin = create_plugin()

This bridge is used explicitly through its public conversion helpers; it does not require a profile engine setting. Register create_plugin() only with tooling that consumes the schema-mapping plugin object.

Generated SQLModel classes are reviewable starting points — relational choices such as primary keys and table names must be supplied explicitly.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

etlantic_sqlmodel-0.22.0.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

etlantic_sqlmodel-0.22.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file etlantic_sqlmodel-0.22.0.tar.gz.

File metadata

  • Download URL: etlantic_sqlmodel-0.22.0.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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

Hashes for etlantic_sqlmodel-0.22.0.tar.gz
Algorithm Hash digest
SHA256 5f2c13e66808fc2b33c753e9ad7f301f76448b025c946a8c9bb09152c3dd711d
MD5 d5c0ad26706a3beb34e97b8be7352724
BLAKE2b-256 c2c0f79f14eecb2c1d6c89189ba44441666933be2062cf6004799fe0756d4bbf

See more details on using hashes here.

File details

Details for the file etlantic_sqlmodel-0.22.0-py3-none-any.whl.

File metadata

  • Download URL: etlantic_sqlmodel-0.22.0-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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

Hashes for etlantic_sqlmodel-0.22.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4800cf20dd7a38f3124ecd0789df96c9aa5a1855fa3ed8cd63942272f5ef017e
MD5 8489d2154c54045e083e6a4d17da29f1
BLAKE2b-256 466556075816cf7065afccb5fa285d8d17bd14eee927de1417d30f648b9b8749

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page