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.4.tar.gz (4.8 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.4-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: impecunious_sql_etl-0.1.4.tar.gz
  • Upload date:
  • Size: 4.8 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.4.tar.gz
Algorithm Hash digest
SHA256 67b920f22ff625007dd64e793c4f2efbf71d0cebb891c4e7699748ce48ae1e02
MD5 52f8e45834f1994f88333011b2d292b8
BLAKE2b-256 90cade63e95565f64af5348b40e904eb8e6276aec51adf8832a0956e043e3b96

See more details on using hashes here.

File details

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

File metadata

  • Download URL: impecunious_sql_etl-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 6.6 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 bcec9cf00f86b3ebfc545580587679a602cf26b0d0db83d697e3c546b54e2f10
MD5 a662afc28d616fd977baebdf9eaa57f3
BLAKE2b-256 dc7459d0f1c2b6906f2b04d25bd6fdf26da97e26cc9649ed7c48830a33231443

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