Skip to main content

Parallel, config-driven SQL Server ETL tool

Project description

Impecunious SQL ETL

Config-driven, parallel ETL tool for SQL Server with Azure AD and SQL authentication.

Install

pip install Impecunious-sql-etl

Run

impecunious-sql-etl --config configs/etl.yaml --workers 4

Defaults

Config Item If Missing Default Used
target_table omitted Inferred automatically from file name or SQL source
mapping omitted No renaming (1:1 columns)
dtypes omitted Pandas inferred types
select omitted All columns loaded
mode omitted truncate_load
schema omitted dbo

Minimal config example

target:
  connection:
    server: myserver.database.windows.net
    database: TargetDB
    auth_mode: azure_interactive

sources:
  - type: csv
    path: data/customers.csv

Multiple files + SQL table config example

target:
  connection:
    server: myserver.database.windows.net
    database: TargetDB
    auth_mode: azure_interactive

sources:
  - type: csv
    path: data/customers.csv

  - type: parquet
    path: data/products.parquet

  - type: sql
    path: SELECT * FROM sales.orders
    connection:
      server: onprem-sql
      database: SourceDB
      auth_mode: sql
      username: etl_user
      password: secret
    mode: append
    save_parquet: true

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

impecunious_sql_etl-0.1.3.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

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

impecunious_sql_etl-0.1.3-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file impecunious_sql_etl-0.1.3.tar.gz.

File metadata

  • Download URL: impecunious_sql_etl-0.1.3.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for impecunious_sql_etl-0.1.3.tar.gz
Algorithm Hash digest
SHA256 20740e303c6dc2a94b45f6a41da6c7a428e5568117b4dd4e585460762ff16843
MD5 8ada2e507abdf1ad1ee5e1ef72b0923f
BLAKE2b-256 dea15b42a7fa945d30a080b64ab06309ab194bcda86545dae3e52fd20a4c48a1

See more details on using hashes here.

File details

Details for the file impecunious_sql_etl-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: impecunious_sql_etl-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for impecunious_sql_etl-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9b32695261d129938d75adb0d316d4730427f5220ca042927f5c5876d1a5ea89
MD5 d35ff02051d17822d9a2819d6d026fcd
BLAKE2b-256 f628c698e538f1a6e52892ac2b3c9046054b4bb8a89650f2a9f6141363c3b5f8

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