Pip-installable, ready-to-run example models and pipelines for
Michelangelo — a
lightweight on-ramp for trying Michelangelo without a full monorepo
checkout, the heavyweight example extra, or a running sandbox.
pip install michelangelo-examples[<example-name>]The full example pipelines in
michelangelo/python/examples/
are the canonical, full-fidelity reference — they exercise real
Cadence/Temporal orchestration, Spark, and a live sandbox, and they aren't
going anywhere. But trying one today means checking out the whole monorepo
and installing one heavyweight extra that bundles every example's
dependencies (torch, transformers, xgboost, pyspark, ray,
mlflow, peft, and more) at once, regardless of which example you
actually want.
michelangelo-examples is a second, lighter tier: each example is its own
pip extra with only the dependencies it needs, plus a plain-Python
run_local.py entrypoint that trains/evaluates locally — no Cadence, no
Spark, no sandbox. It's the "try it in five minutes" path underneath the
full pipeline reference, not a replacement for it.
Ported so far:
california_housing — a
project (use case) with one pipeline so far,
pytorch_train
(California Housing price prediction via PyTorch Lightning, migrated from
core michelangelo's
python/examples/pipelines/california_housing_lightning/). Structuring it
as a project with a pipelines/ subfolder leaves room for sibling
pipelines against the same use case — e.g. a future xgboost_train
pipeline — without another top-level rename.
v1 candidates (not yet ported): movielens, bert-cola. See the
project spec
for the full list this repo is drawing from.
Each project lives entirely under
src/michelangelo_examples/<project-name>/ — a real subpackage of the one
michelangelo_examples package this repo ships, including its
pipeline.yaml/README.md (bundled as package data so a plain pip install gets everything, not just the Python code) alongside each
pipeline's model/training/task code and __main__.py local runner. Code
shared across a project's sibling pipelines (e.g. dataset loading/feature
prep) lives in <project-name>/pipelines/libs/.
pip install "michelangelo-examples[california-housing]"
python -m michelangelo_examples.california_housing.pipelines.pytorch_trainExtras are scoped per project, not per pipeline: installing
california-housing pulls in the dependencies for every pipeline under
that project (today just pytorch_train), since they already
share one built image and mostly overlapping dependency sets.
The pip install + python -m commands above run the lightweight local
tier only. To run a pipeline's full Cadence-dispatched version against a
Michelangelo sandbox (ma project apply → ma pipeline apply →
ma pipeline run), see the end-to-end command sequence in that pipeline's
own README — e.g.
pytorch_train's.
michelangelo— the core platform;python/examples/there remains the full pipeline reference (Cadence/Temporal/Spark/sandbox).michelangelo-models— pluggable model architecture definitions. Some examples here may import a seed architecture from there instead of defining their own model.
This repo uses uv for dependency
management.
uv build
uv run pytest