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.1.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.1-py3-none-any.whl (2.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scaffml-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 90b983fd109f8b7d55dfdd2ac3f148302b344fb889eb61c3e79be589d544b025
MD5 f815fbf082af73a0b1c85e6a19678f5d
BLAKE2b-256 d602c9b9c7d3c89dae1c0d28fd9daab92986f95619465bdda700855bda583265

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scaffml-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b690f770f0bd4f8ccf0e3a928685d06645551634bdda75e7ba4ab93f1c0ca6d3
MD5 c2086a90325b07ea37bc6d77b7514dae
BLAKE2b-256 76efab7c34d77a3587cafefd9e2af495c91b3cc6ff7e81091a2f499e9bf51158

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