ProjForge
🚀 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
.gitignoreand folder structure - Easy integration with CI/CD, testing, and ML workflows
📦 Features
- ✅ Generate ML projects with a single CLI command
- ✅ Optional Docker support via
--dockerflag - ✅ 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!
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m "Add feature") - 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.