QuickELT is a data engineering starter project focused on practical ingestion templates and reproducible infrastructure setup.
- Data ingestion templates for common sources.
- Local-first development flow with Python tooling (
uv,pytest). - Infrastructure setup wizard with named setup workspaces.
- Azure Terraform provisioning and destroy workflow.
- Automated infrastructure test suite.
- Python 3.10+
uvfor dependency management- Cloud CLIs depending on your provider:
- AWS CLI for AWS flows
- Azure CLI for Azure flows
- Terraform (auto-install is supported by the setup wizard on Linux/macOS)
git clone https://github.com/mpraes/quickelt.git
cd quickelt
uv syncUse the CLI entrypoint:
quickelt setupThis launches the interactive infrastructure setup wizard and creates a named setup under infrastructure/setups/<setup-name>/.
quickelt setup
quickelt setup --destroy --setup-name my-project
quickelt cleanup --setup-name my-project
quickelt cleanup --setup-name my-project --yesBehavior summary:
setup: creates or configures infrastructure for a named setup.setup --destroy: destroys Azure Terraform resources tied to the setup workspace.cleanup: removes local setup files and Terraform state only (no cloud destroy).
pytest infrastructure/test -qcd infrastructure/terraform/azure
terraform fmt -check -recursive
terraform init -backend=false
terraform validatequickelt/
├── docs/
├── infrastructure/
│ ├── setup.py
│ ├── setup/
│ ├── terraform/azure/
│ └── test/
├── src/
├── pyproject.toml
└── README.md
- Infrastructure execution details:
docs/INFRASTRUCTURE_GUIDE-EN.md - Ingestion considerations:
docs/INGESTION_MAIN_CONSIDERATIONS.md - Project checklist:
docs/CHECKLIST.md
- Create a feature branch.
- Make changes with tests.
- Run
pytest infrastructure/test -q. - Open a pull request with a clear summary.