Skip to main content

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+.

Metadata

Release files for projforge 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 projforge 0.1.0
File Size Uploaded Provenance Actions
projforge-0.1.0.tar.gz 8.5 kB Without provenance Details for projforge-0.1.0.tar.gz

Built distribution (wheel)

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

Total release size: 18.8 kB

Release files / projforge-0.1.0.tar.gz

Download URL projforge-0.1.0.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
038463e0de69fdb7b929ae990731569e7112cf0ba098cfddbfd19452f9be6ccf
BLAKE2b-256 checksum
How to use checksums
5ce99dedc56197a87466e405a4bcaa384f18aec82877ac19d607aaa918cf84e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

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

Download URL projforge-0.1.0-py3-none-any.whl
Size 10.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
70a0071d7c9579d774ee9cd1052a6884786a8b40606da62de0c5b45a03113d28
BLAKE2b-256 checksum
How to use checksums
ce87e7aed7e054ae3ba05e79db38ec2c8ed473bdf496c2ff31e77501b7fa731e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Security for projforge 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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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 No 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