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.34.

Install

pip install etlantic-sqlmodel

Sessions, Alembic migrations, and repository helpers are planned across 0.40–0.44. 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.

Links

Optional packages · Source · Issues

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.34.0.tar.gz (5.9 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.34.0-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: etlantic_sqlmodel-0.34.0.tar.gz
  • Upload date:
  • Size: 5.9 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.34.0.tar.gz
Algorithm Hash digest
SHA256 5c2c06b0e97d0eb0592d156aa1b04efe124f6a0ebe66eccaca6fb2ef37367c24
MD5 67b004884920f80ff4420205a4aea569
BLAKE2b-256 270fa04d017b3037dd1e29bcc74f1011571522d1e3097f5ac5f1caffbefb67d4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: etlantic_sqlmodel-0.34.0-py3-none-any.whl
  • Upload date:
  • Size: 6.3 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.34.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c7aaa41fc0c0d31041bdf199888f48a414aeb10c5ee0d7574ce7925bf38cf843
MD5 8c9a8e74e223709a04768b09530fa3a3
BLAKE2b-256 987fee235c0537a4183be296bc2ddca6a563ec2b4e6e17b90ed192fa0391f970

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