Skip to main content

Professional ML Project Structure Generator

Project description

ProjForge

Python Version
License


๐Ÿš€ Overview

ProjForge is a professional ML project structure generator that allows data scientists and ML engineers to quickly scaffold production-ready machine learning projects.

It provides:

  • Clean, modular project architecture
  • Optional Docker support
  • Templated code files for rapid development
  • Preconfigured .gitignore and folder structure
  • Easy integration with CI/CD, testing, and ML workflows

๐Ÿ“ฆ Features

  • โœ… Generate ML projects with a single CLI command
  • โœ… Optional Docker support via --docker flag
  • โœ… Predefined folder hierarchy: src/, data/, notebooks/, tests/
  • โœ… Jinja2 templated files for customizable project boilerplate
  • โœ… Safe collision detection to avoid overwriting existing projects
  • โœ… Professional CLI with version info and help menus

๐Ÿ› ๏ธ Installation

Install via pip:

pip install projforge

Or clone and install locally:

git clone https://github.com/epythonlab2/projforge.git
cd projforge
pip install .

โšก Usage

Check version

projforge version

Create a new ML project

projforge create my_ml_project

Create a new ML project with Docker support

projforge create my_ml_project --docker
  • This generates a professional folder structure with templated files.
  • Empty directories are preserved with .gitkeep.

๐Ÿ“‚ Generated Project Structure

Example project layout:

my_ml_project/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ api/
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ prediction.py
โ”‚   โ”‚   โ”œโ”€โ”€ main.py
โ”‚   โ”‚   โ””โ”€โ”€ schemas.py
โ”‚   โ”œโ”€โ”€ pipelines/
โ”‚   โ”œโ”€โ”€ services/
โ”‚   โ””โ”€โ”€ core/
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ”œโ”€โ”€ config.py
โ”‚       โ””โ”€โ”€ logger.py
โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ raw/
โ”‚   โ”œโ”€โ”€ processed/
โ”‚   โ””โ”€โ”€ external/
โ”œโ”€โ”€ notebooks/
โ”œโ”€โ”€ models/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ data/
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ loader.py
โ”‚   โ”‚   โ””โ”€โ”€ preprocessing.py
โ”‚   โ”œโ”€โ”€ features/
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ””โ”€โ”€ build_features.py
โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ train.py
โ”‚   โ”‚   โ””โ”€โ”€ predict.py
โ”‚   โ””โ”€โ”€ utils/
โ”‚       โ””โ”€โ”€ __init__.py
โ”œโ”€โ”€ tests/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ test_api.py
โ”‚   โ””โ”€โ”€ test_data.py
โ”œโ”€โ”€ .github/
โ”‚   โ””โ”€โ”€ workflows/
โ”‚       โ””โ”€โ”€ ci.yml
โ”œโ”€โ”€ __init__.py
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ Dockerfile
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ pyproject.toml

๐Ÿ“ Contributing

We welcome contributions!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -m "Add feature")
  4. Push and submit a pull request

๐Ÿ“„ License

MIT License โ€“ see LICENSE for details.


๐Ÿ’ก Notes

  • Designed for ML engineers who want clean, production-ready projects quickly.
  • Easily extendable for additional templates and features.
  • Works cross-platform (Linux/macOS/Windows) with Python 3.10+.

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

projforge-0.1.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

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

projforge-0.1.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file projforge-0.1.0.tar.gz.

File metadata

  • Download URL: projforge-0.1.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for projforge-0.1.0.tar.gz
Algorithm Hash digest
SHA256 038463e0de69fdb7b929ae990731569e7112cf0ba098cfddbfd19452f9be6ccf
MD5 762c0747f14f0242246f913834eff6e4
BLAKE2b-256 5ce99dedc56197a87466e405a4bcaa384f18aec82877ac19d607aaa918cf84e9

See more details on using hashes here.

File details

Details for the file projforge-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: projforge-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for projforge-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70a0071d7c9579d774ee9cd1052a6884786a8b40606da62de0c5b45a03113d28
MD5 a3bdd755dc19d0ddf6811b5aeed2e362
BLAKE2b-256 ce87e7aed7e054ae3ba05e79db38ec2c8ed473bdf496c2ff31e77501b7fa731e

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