scaffml
🚀 Overview
scaffml 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:
app/,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
Create directory:
mkdir your_root_project_name
cd your_root_project_name
Activate vertual Env(Recommended):
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
Install via pip:
pip install scaffml
Or clone and install locally:
git clone https://github.com/epythonlab2/scaffml.git
cd scaffml
pip install .
⚡ Usage
Check version
scaffml version
Create a new ML project
scaffml create my_ml_project
Create a new ML project with Docker support
scaffml 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+.
Release files for scaffml 0.3.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 | |
|---|---|---|---|
| scaffml-0.3.0.tar.gz | 9.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scaffml-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.3 kB
Release files / scaffml-0.3.0.tar.gz
| Download URL | scaffml-0.3.0.tar.gz |
|---|---|
| Size | 9.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eee29317a404e6841dc6727031e7e429b412c9246885d4d9f9e181fda65499f7
|
|
BLAKE2b-256 checksum How to use checksums |
fd89d0f32f105c383d0a058a0abceab7738ec3ec024be32478375e189df9cf2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / scaffml-0.3.0-py3-none-any.whl
| Download URL | scaffml-0.3.0-py3-none-any.whl |
|---|---|
| Size | 10.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5d0b85191c424b2f2262564b9d52910d99935e8d331b18c940360adcc095359d
|
|
BLAKE2b-256 checksum How to use checksums |
fa8a14c988627649b1e3eed29e30cb5d0a24b6ac44cbb8ed650f9737bee2e156
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|