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.30.0' 'etlantic-sqlmodel==0.30.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.30.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.30.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: etlantic_sqlmodel-0.30.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.30.0.tar.gz
Algorithm Hash digest
SHA256 0e2de9328bb081206ac42a3f53e18f753c6f6eb95bacb8a007b664005592ca4d
MD5 f3fcec5ff0bd8223b10236a43531f145
BLAKE2b-256 1526b393ab422b3c8874ba4a13f8290888907ae236afc3c1f4e1cd10a77129fc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: etlantic_sqlmodel-0.30.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.30.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2efa28b2444b4433427acd07ad2dc87d252093a52a071fde7a5eae68270afa8b
MD5 b650f5a5608f2b10bbf89e9d6b4b21ef
BLAKE2b-256 70dffddaa4ab0c078cb0013d4861c3b3d4df1f0b9b2426c5cb02b7ac8b7e4d08

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