Professional ML Project Structure Generator
Project description
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+.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scaffml-0.3.0.tar.gz.
File metadata
- Download URL: scaffml-0.3.0.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eee29317a404e6841dc6727031e7e429b412c9246885d4d9f9e181fda65499f7
|
|
| MD5 |
79f8d9597ddf357180d619c51fe866b2
|
|
| BLAKE2b-256 |
fd89d0f32f105c383d0a058a0abceab7738ec3ec024be32478375e189df9cf2c
|
File details
Details for the file scaffml-0.3.0-py3-none-any.whl.
File metadata
- Download URL: scaffml-0.3.0-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d0b85191c424b2f2262564b9d52910d99935e8d331b18c940360adcc095359d
|
|
| MD5 |
425dfa2a285958002e3bbcae51905c5b
|
|
| BLAKE2b-256 |
fa8a14c988627649b1e3eed29e30cb5d0a24b6ac44cbb8ed650f9737bee2e156
|