Skip to main content

Professional ML Project Structure Generator

Project description

scaffml

Python Version
License


๐Ÿš€ 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 .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: 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:

``bash mkdir your_root_project_name cd your_root_project_name


Activate vertual Env(Recommended)
```bash
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!

  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

scaffml-0.2.1.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

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

scaffml-0.2.1-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file scaffml-0.2.1.tar.gz.

File metadata

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

File hashes

Hashes for scaffml-0.2.1.tar.gz
Algorithm Hash digest
SHA256 dc287bf3766489ccda529558dafb93c28d3b827240e8422e3b44c0633d739c3f
MD5 a447020d44694f4a7822a4b0492031a7
BLAKE2b-256 7f6dd6a2087605d0e98a66c777cd6a0c207a0debba0ac11d688dcf96686de32e

See more details on using hashes here.

File details

Details for the file scaffml-0.2.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for scaffml-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 37aba9d791310a0e0b3900c0778a394abab292bdf14475b1cd13e5645ba3ba47
MD5 2bc39e33a808cfb670162a55c3471430
BLAKE2b-256 469c62dc96fc4e89d385eff32b1697fc545177bd2daf2a980c35530dfff95d4e

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