michelangelo-models
Pluggable, community-contributed model architectures for Michelangelo — installable as a standalone Python package and integrated with core Michelangelo's training, serving, and registry infrastructure via a plugin contract rather than a hard dependency in either direction.
pip install michelangelo-models[<family>-<arch>]
Why a separate repo
Model architectures evolve independently of the platform that trains and serves them, and different architectures often need conflicting library versions (PyTorch, Ray, CUDA). Splitting architectures out of core Michelangelo into their own repo, installed via optional extras, lets each one pin what it needs without forcing a single environment on every user of the platform.
Model families
"Foundation model" is one model family among others here — not the whole scope of the repo. The repo is organized by family and architecture, e.g.:
architectures/
├── foundation/
│ └── <arch>/
├── embedding/
│ └── <arch>/
└── ranking/
└── <arch>/
New families are welcome; each is its own top-level directory under
architectures/, not partitioned by contributing company. See
Contributing for how ownership works.
Repo structure
michelangelo-models/
├── core/
│ ├── interfaces.py # ABCs: Backbone, Tokenizer/Processor, Head, Adapter
│ ├── registry.py # entry-point-based self-registration
│ └── model_spec.py # ModelSpec (pydantic) — architecture metadata contract
├── architectures/
│ └── <family>/
│ └── <arch>/
│ ├── model.py
│ ├── OWNERS
│ └── pyproject.toml
├── training/ # shared training entrypoints/utilities
├── serving/ # adapters mapping a ModelSpec to core Michelangelo's serving/packaging infra
└── evaluation/ # shared eval harnesses
core/interfaces.py defines the contract every architecture implements.
core/registry.py uses Python entry points so architectures/<family>/<arch>/
packages self-register without core/ ever importing them directly.
Installing an architecture
Each architecture is installed via its own extra:
pip install michelangelo-models[foundation-<arch>]
pip install michelangelo-models[embedding-<arch>]
Only that architecture's dependencies are pulled in.
Contributing
- New architectures live under
architectures/<family>/<arch>/with their ownOWNERSfile listing individual maintainers (and affiliation) — not a company-owned directory. core/changes require review from maintainers across at least two different affiliations, since changes here affect every architecture.- New model families require an RFC first.
See CONTRIBUTING.md for the full process (coming soon).
License
Metadata
Release files for michelangelo-models 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| michelangelo_models-0.0.1.tar.gz | 5.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| michelangelo_models-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.5 kB
Release files / michelangelo_models-0.0.1.tar.gz
| Download URL | michelangelo_models-0.0.1.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e8a21fb6f1393e54ed21fb5f464d31d679f926c1462c83048b09099115f854f2
|
|
BLAKE2b-256 checksum How to use checksums |
d4198c00989973ed95e7d3d7ecb68415bc40d8ff3c89e4fedc53518001dcf546
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / michelangelo_models-0.0.1-py3-none-any.whl
| Download URL | michelangelo_models-0.0.1-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4b40100dd4b0540597757a03347c2d690d3611b116ab64040fbf5485112b50ea
|
|
BLAKE2b-256 checksum How to use checksums |
97acdffe2dae5046116cbb70365ce24d1a0c31ad7fdbfcdba03c820ddc2b93b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|