Skip to main content

CLI tool to bootstrap data engineering projects (Spark, Kafka, Airflow scaffolding)

Project description

🚀 Stackgen CLI

Stackgen is a developer-first CLI tool to bootstrap production-ready data engineering projects in seconds.

Build batch, streaming, or full data pipelines with a single command.


✨ Features

  • ⚡ Generate complete data engineering project scaffolds
  • 🧠 Supports Batch, Streaming, and Full pipelines
  • 🐳 Built-in Docker-based infrastructure setup
  • 🔄 Includes Spark, Kafka, Airflow integrations
  • 🎯 Interactive CLI with clean UX
  • 🧩 Template-based architecture (Jinja2)

🧱 Supported Pipelines

🟢 Batch Pipeline

  • Apache Spark (batch jobs)
  • Apache Airflow (orchestration)

🔴 Streaming Pipeline

  • Apache Kafka (event streaming)
  • Spark Structured Streaming

🔥 Full Pipeline

  • Batch + Streaming combined

🚀 Quickstart

1. Clone the Repository

git clone https://github.com/minhazalam/stackgen.git
cd stackgen

2. Setup Virtual Environment

python -m venv venv
source venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Run CLI

python -m stackgen.cli.main init my-project

5. Select Pipeline

? Select pipeline type:
❯ Batch Pipeline (Spark + Airflow)
  Streaming Pipeline (Kafka + Spark)
  Full Pipeline (Spark + Airflow + Kafka)

6. Run Generated Project

cd my-project
docker-compose up

📁 Example Generated Structure

my-project/
├── airflow/           # DAGs
├── spark/jobs/        # Batch & streaming jobs
├── kafka/             # Kafka producer (if streaming)
├── config/            # Config files
├── docker-compose.yml
└── requirements.txt

🛠️ Tech Stack

  • Python
  • Apache Spark
  • Apache Kafka
  • Apache Airflow
  • Docker
  • Jinja2 (templating)

🧠 How It Works

  1. CLI collects user input (pipeline type)
  2. Generator builds project structure
  3. Jinja templates render files dynamically
  4. Docker setup enables instant execution

🛣️ Roadmap

  • Feature toggles (Kafka / Airflow selection)
  • Config-driven generation (YAML support)
  • Cloud integrations (S3, Snowflake, BigQuery)
  • Plugin system for custom stacks
  • CI/CD pipeline templates

🤝 Contributing

Contributions are welcome! Feel free to open issues or submit PRs.


📌 Vision

Stackgen aims to become a go-to CLI tool for data engineers to quickly bootstrap scalable and production-ready data platforms.


👨‍💻 Author

Minhaz Alam


⭐ Support

If you like this project, give it a ⭐ on GitHub!

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

stackgen_cli-0.1.7.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

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

stackgen_cli-0.1.7-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file stackgen_cli-0.1.7.tar.gz.

File metadata

  • Download URL: stackgen_cli-0.1.7.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for stackgen_cli-0.1.7.tar.gz
Algorithm Hash digest
SHA256 b11ea95f7b8e7c2e019ff5bd9fd8631d5edb0d02762f29ae25e890c4bb536a78
MD5 7c44ae1766c938626c79dc39ac376c12
BLAKE2b-256 46f9792d79d6888f853ac0aa386448390bee85d388d2e8eb5365687ab395f59d

See more details on using hashes here.

File details

Details for the file stackgen_cli-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: stackgen_cli-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for stackgen_cli-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 6d3a720f8ee2fd7c794e1baaa3ad1198a2ccd0370c4e2821ee238b124a125773
MD5 c49f01ef77bb05513aa16343a2ada39d
BLAKE2b-256 3faf50ef36491dbd52c27035dc3ba45725ff7ecbf86068ae3d05769d6355a25d

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