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.25.0' 'etlantic-sqlmodel==0.25.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.25.0.tar.gz (5.5 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.25.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: etlantic_sqlmodel-0.25.0.tar.gz
  • Upload date:
  • Size: 5.5 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.25.0.tar.gz
Algorithm Hash digest
SHA256 dd4c7378511fd6d057e2326d617fe10d1920b9a79bb682d9ee4351f564d646fb
MD5 a3f1f9c025ceb5a4dba36304d6804d6b
BLAKE2b-256 b40dd2a78a43ffa3b5fa50e4d0b5a6bcbb155bed854c50a5c633513b2e1cf1dc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: etlantic_sqlmodel-0.25.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.25.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e55299f5d5b1b6613951fa915008d6fedc9af81679ed3a1febdd0d28443f61b9
MD5 d550f3435be4dddb6bcd45f7f23fe22f
BLAKE2b-256 2c7160a7976e6df75af6ba69b265b70c73353622354865a30274c300a12e2699

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