Pluggable, community-contributed model architectures for Michelangelo
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file michelangelo_models-0.0.1.tar.gz.
File metadata
- Download URL: michelangelo_models-0.0.1.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8a21fb6f1393e54ed21fb5f464d31d679f926c1462c83048b09099115f854f2
|
|
| MD5 |
569ee6d3cc15f67731810d164ef9e664
|
|
| BLAKE2b-256 |
d4198c00989973ed95e7d3d7ecb68415bc40d8ff3c89e4fedc53518001dcf546
|
File details
Details for the file michelangelo_models-0.0.1-py3-none-any.whl.
File metadata
- Download URL: michelangelo_models-0.0.1-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b40100dd4b0540597757a03347c2d690d3611b116ab64040fbf5485112b50ea
|
|
| MD5 |
c550d22753c66e01a5b8d9df438db03a
|
|
| BLAKE2b-256 |
97acdffe2dae5046116cbb70365ce24d1a0c31ad7fdbfcdba03c820ddc2b93b2
|