Skip to main content

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 own OWNERS file 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

Apache License 2.0

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

michelangelo_models-0.0.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

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

michelangelo_models-0.0.1-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

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

Hashes for michelangelo_models-0.0.1.tar.gz
Algorithm Hash digest
SHA256 e8a21fb6f1393e54ed21fb5f464d31d679f926c1462c83048b09099115f854f2
MD5 569ee6d3cc15f67731810d164ef9e664
BLAKE2b-256 d4198c00989973ed95e7d3d7ecb68415bc40d8ff3c89e4fedc53518001dcf546

See more details on using hashes here.

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

Hashes for michelangelo_models-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4b40100dd4b0540597757a03347c2d690d3611b116ab64040fbf5485112b50ea
MD5 c550d22753c66e01a5b8d9df438db03a
BLAKE2b-256 97acdffe2dae5046116cbb70365ce24d1a0c31ad7fdbfcdba03c820ddc2b93b2

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