Skip to main content

QuickELT

 ██████╗ ██╗   ██╗██╗ ██████╗██╗  ██╗███████╗██╗  ████████╗
██╔═══██╗██║   ██║██║██╔════╝██║ ██╔╝██╔════╝██║  ╚══██╔══╝
██║   ██║██║   ██║██║██║     █████╔╝ █████╗  ██║     ██║   
██║▄▄ ██║██║   ██║██║██║     ██╔═██╗ ██╔══╝  ██║     ██║   
╚██████╔╝╚██████╔╝██║╚██████╗██║  ██╗███████╗███████╗██║   
 ╚══▀▀═╝  ╚═════╝ ╚═╝ ╚═════╝╚═╝  ╚═╝╚══════╝╚══════╝╚═╝   

PyPI - Version Python Version Powered by uv License

QuickELT is a modern, fast CLI tool to scaffold production-ready Lakehouse projects in seconds. It provides data ingestion templates, standardizes the Medallion Architecture, and automates infrastructure setup.


🚀 Quick Start

You can run quickelt without installing it permanently using uvx!

uvx --from quickelt quickelt init my_lakehouse

Alternatively, install it globally via uv:

uv tool install quickelt
quickelt init my_lakehouse

🛠️ Usage

Interactive Mode (Wizard)

By simply running quickelt init, you'll be greeted with an interactive wizard that guides you through the project setup:

quickelt init

Non-Interactive Mode

For CI/CD environments or power users, you can bypass the wizard by providing flags. Use the --yes (-y) flag to automatically accept default values for any omitted configurations.

quickelt init my_project --engine polars --storage adls --quality gx --iac terraform --yes

💻 Commands

Command Description
quickelt init [project_name] Initializes a new Lakehouse project. Supports interactive wizard or CLI flags.
quickelt doctor Verifies if your system has all required dependencies (Python, uv, Docker, Git, Terraform).

Available Flags for init:

  • --storage / -s: Cloud / Storage Target (s3, adls, gcs, minio)
  • --engine / -e: Execution Engine (polars, duckdb)
  • --quality / -q: Data Quality (pandera, gx, none)
  • --iac / -i: Infrastructure (terraform, none)
  • --yes / -y: Skip confirmations and use defaults when something is omitted.

🏗️ Project Structure (Medallion Architecture)

The generated project follows best practices for Data Engineering, structured around the Medallion Architecture:

graph TD
    A[my_lakehouse/] --> B[config/]
    A --> C[pipelines/]
    A --> D[contracts/]
    A --> E[infrastructure/]
    
    C --> C1[bronze/]
    C --> C2[silver/]
    C --> C3[gold/]
    
    C1 -. Raw Data Ingestion .-> C2
    C2 -. Cleansing & Joins .-> C3
    C3 -. Business Aggregations .-> F[(Analytics / BI)]
    
    D -. Data Quality Schemas .-> C2

Directory breakdown:

  • config/: Environment and project settings (.env, settings.py).
  • pipelines/: Data transformation logic separated into Bronze, Silver, and Gold layers.
  • contracts/: Data quality schemas (Pandera or Great Expectations).
  • infrastructure/: Infrastructure as Code (Terraform) to provision cloud resources.

🤝 Contributing

Contributions are welcome! To develop quickelt locally:

  1. Clone the repository and install dependencies using uv:
    git clone https://github.com/mpraes/quickelt.git
    cd quickelt
    uv sync
    
  2. Make your changes and test the CLI:
    uv run quickelt init test_project
    
  3. Run tests:
    uv run pytest
    
  4. Submit a Pull Request describing your changes.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for quickelt 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quickelt 0.1.0
File Size Uploaded Provenance
quickelt-0.1.0.tar.gz 13.3 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for quickelt 0.1.0
File Interpreter ABI Platform
quickelt-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 26.4 kB

Release files / quickelt-0.1.0.tar.gz

Download URL quickelt-0.1.0.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9877f7b48461a4d26a63c95d6b98fd91994c5141abdbf917f033707f49484b28
BLAKE2b-256 checksum
How to use checksums
61a970a73c16514f55d626e56361cb731c52059c3cf2372b8aada1a3687b6cdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

Release files / quickelt-0.1.0-py3-none-any.whl

Download URL quickelt-0.1.0-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dce83e24a804b3cd6683256926d9ce3633db5ea9528221a95df53ff3ba87011f
BLAKE2b-256 checksum
How to use checksums
5c2ae850552c4c824713c0390f89261fb893fc06498c295c15d2259ccacaba8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

Security for quickelt 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for quickelt-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page