Skip to main content

Shared MLOps learning architecture for production ML engineering stages.

Project description

ML Production Ecosystem

Published Python generator for local-first ML project scaffolds, plus repository-only lifecycle examples for production ML engineering.

Generate a served model

Prerequisites: Python 3.11+ and uv. Docker is required only for the container step.

From any directory outside this checkout:

uvx --refresh --from ml-production-ecosystem==0.1.0 create-ml-struct churn-api --preset served-model --no-input

That single command only generates the project. Testing, training, serving, prediction, and container building remain explicit commands inside the generated project:

cd churn-api
uv run pytest
uv run python -m churn_api.train
PORT=18080 uv run serve

In another terminal:

curl http://127.0.0.1:18080/health
curl -X POST http://127.0.0.1:18080/predict \
  -H "Content-Type: application/json" \
  -d '{"features":{"a":1.0,"b":2.0}}'
docker build -t churn-api .

The default served-model preset resolves training, evaluation, api, deployment, quality-gate, monitoring, docker, and ci.

flowchart LR
    A[PyPI package] --> B[create-ml-struct]
    B --> C[generated project]
    C --> D[tests and train]
    D --> E[FastAPI health and predict]
    E --> F[Docker image]

Generated served-model tree

churn-api/
├── .github/workflows/ci.yml
├── Dockerfile
├── README.md
├── configs/project.yaml
├── data/README.md
├── docs/
│   ├── infra-checklist.md
│   └── runbook.md
├── ml-struct.yaml
├── orchestration/monitoring_job.py
├── pyproject.toml
├── tests/
│   ├── test_deployment.py
│   ├── test_evaluate.py
│   ├── test_scaffold.py
│   └── test_training.py
└── churn_api/
    ├── __init__.py
    ├── api.py
    ├── deployment.py
    ├── evaluate.py
    ├── predict.py
    └── train.py

After training, these evidence files are created:

artifacts/reports/training-summary.json
artifacts/reports/metrics.json

The starter contract is intentionally honest: training writes deterministic evidence only. /predict remains a dummy threshold seam and does not load the training artifact. Replace churn_api/predict.py and its API contract when integrating a real model.

Other presets

uvx --from ml-production-ecosystem==0.1.0 create-ml-struct --list-presets

Available presets: kaggle, generic-classifier, served-model, asr-served-model, recommendation, batch-inference, existing-model-wrapper, llm-post-training, and enterprise-pipeline.

The full wizard remains available as ml-struct or mle. It can select task, model type, backend, provider, and repeatable infrastructure components. Component dependencies are auto-added and recorded in ml-struct.yaml.

Repository-only development

Clone the repository only to work on the generator or run its broader lifecycle examples:

cd ml-production-ecosystem
uv run ml-struct doctor
uv run ml-struct quickstart
./scripts/validate-production-patterns.sh
./scripts/validate-served-model-release.sh
Area Path Purpose
Runtime package src/ml_production_ecosystem/ Importable generator and local MLOps examples
Scaffold templates src/ml_production_ecosystem/templates/scaffold/ Packaged template resources used by source, wheel, and sdist installs
Examples examples/samples/ Repository-only runnable samples
Runtime state artifacts/, logs/, registry/ Generated local evidence outside source code
Configs configs/ Repository lifecycle and provider-boundary examples

The examples are model-agnostic and provider-agnostic: model and cloud details belong behind explicit contracts and adapters.

The repository is local-first. It does not claim managed cloud deployment, a real Kubernetes runtime, production paging, or automatic use of a trained artifact by generated serving code.

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

ml_production_ecosystem-0.1.0.tar.gz (153.8 kB view details)

Uploaded Source

Built Distribution

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

ml_production_ecosystem-0.1.0-py3-none-any.whl (173.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ml_production_ecosystem-0.1.0.tar.gz
  • Upload date:
  • Size: 153.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ml_production_ecosystem-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0fb4db8a3e945a88c67f9633dc3b4099dab7619c8ff90ab4d63dcf344c5baaf8
MD5 147007a9930470c146555f8212febf5d
BLAKE2b-256 19a0c335dafb573dd4b861a084d1968cd526e72b9e052403956cf3f2f8f6dbcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ml_production_ecosystem-0.1.0.tar.gz:

Publisher: ml-production-ecosystem-publish.yml on fauzanazz/ml-engineering

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for ml_production_ecosystem-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 710613f8e7a60d219f7683d7509768b43746f1a63fe55a7621d2d39273579038
MD5 223231557ed798c516d6bc5a50bb61a5
BLAKE2b-256 bcc043cb3cf1d436dce3b1f3738dfd51a34bed8f979317418c7573fea2103419

See more details on using hashes here.

Provenance

The following attestation bundles were made for ml_production_ecosystem-0.1.0-py3-none-any.whl:

Publisher: ml-production-ecosystem-publish.yml on fauzanazz/ml-engineering

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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