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

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.1.0.tar.gz (3.0 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.1.0-py3-none-any.whl (2.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for scaffml-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e974010ec8e747b94694fc70e1d6aa7d9c4e15a6bfc4afdfb6288ba2099b6921
MD5 703efa3b749a935bc5d53eea37094d37
BLAKE2b-256 77633d185565cff9e4d680f580c6ccc3dd4c2f80be044457a3d9833454506f84

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scaffml-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 2.7 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f595107e9c92c0b49aab20f1dd659fdbfe8a818d6a7b714e5bd5761d5e91ddce
MD5 703291f441004353b8b79a018760ab56
BLAKE2b-256 fe8de4254b6f2c2b9da1ac9ef3199cbb0e408a071a0c8f04b52a4d44446ea34e

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