ETL tool based on SqlAlchemy for building robust ETL pipelies with high emphasis on high data quality
Project description
SqlTask
SqlTask is an extensible ETL library based on SqlAlchemy to help build robust ETL pipelines with high emphasis on data quality.
Main features of SqlTask:
- Create well documented data models that support iterative development of both schema and data transformation logic.
- Tightly coupled data quality checking with transformation logic with automatic creation of visualization-friendly and actionable data quality tables.
- Make use of SQL where practical, especially expensive data filtering and aggregation during data extraction.
- Row-by-row data transformation using Python where SQL falls short, e.g. calling third party libraries or storing state from previous rows.
- Encourage use of modern version control tools and processes, especially GIT.
- Performant data uploading/insertion where supported.
- Easy integration with modern ETL orchestration tools, especially Apache Airflow.
Word of caution: SqlTask is currently under heavy development, and the API is expected to change frequently.
Supported databases
SqlTask supports all databases with a SqlAlchemy dialect, with dedicated support for the following engines:
- Google BigQuery
- MS SQL Server (experimental)
- Postgres
- Sqlite
- Snowflake
Engines not listed above will fall back to using regular inserts.
Installation instructions
To install SqlTask without any dependencies, simply run
pip install sqltask
To automatically pull in dependencies needed by Snowflake, type
pip install sqltask[snowflake]
Please refer to the documentation on Read The Docs for further information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file sqltask-0.4.2.tar.gz
.
File metadata
- Download URL: sqltask-0.4.2.tar.gz
- Upload date:
- Size: 17.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83c977a8eda40826efd32076f4356e61f6861bd2eca31a2b81f705d8c28ab84b |
|
MD5 | 49ed72b6aa2bb3029fe46b3006f757ec |
|
BLAKE2b-256 | 1863330cb1a5918ece24419a2fa44a01f526eeeed17acec363b895bcbeea7c67 |