Skip to main content

Smart AI model registry with hierarchical access and rich metadata

Project description

aimo

Proof of concept: aimo is an experimental model-registry package. It is useful enough to try, but there is no clear long-term maintenance plan yet. Expect API changes, stale upstream metadata, and rough edges until the project proves its shape.

Smart AI Model Registry — Hierarchical access to AI model identifiers with rich metadata.

Combines metadata from LiteLLM and models.dev.

Features

  • ✨ Hierarchical access: aimo.openai.gpt_4o, aimo.anthropic.claude_3_5_sonnet
  • 🧠 Rich objects that act like strings: pass them to DSPy, LiteLLM, LangChain, SDKs, etc.
  • 📊 Metadata: context window, pricing, capabilities, vision support, and upstream raw fields
  • 🔄 Explicit cache refresh from LiteLLM + models.dev via aimo.update()
  • 🚀 Zero runtime dependencies; lazy startup with local caching

Installation

pip install aimo-registry

Usage

import aimo

# Hierarchical access. The first registry access loads cached data, or downloads it
# if the cache has not been populated yet.
model = aimo.openai.gpt_4o
model = aimo.anthropic.claude_3_5_sonnet_20240620
model = aimo.groq.llama3_70b_8192

# Works as a string.
print(model)                    # "gpt-4o"
assert isinstance(model, str)

# Human-readable summary when you want one.
print(model.pretty())

# Common attributes from LiteLLM + models.dev are available when present.
print(model.context)            # e.g. 128000
print(model.input_price)        # e.g. 2.5e-06
print(model.output_price)       # e.g. 1e-05
print(model.supports_vision)    # e.g. True
print(model.capabilities)       # e.g. ['vision', 'function_calling']

# Full raw data.
print(list(model.raw.keys()))

# Use anywhere a string is expected.
# lm = dspy.LM(model)
# response = litellm.completion(model=model, messages=[...])

Search & Aliases

import aimo

# Search
models = aimo.search("claude")
models = aimo.search("gpt-4", provider="openai")
models = aimo.search(provider="groq")

# Popular aliases, when present in the upstream data
model = aimo.gpt4o
model = aimo.claude35
model = aimo.sonnet
model = aimo.haiku
model = aimo.o1
model = aimo.o3

Updating the Model List

import aimo

aimo.update()   # Force refresh from LiteLLM + models.dev and update the registry in place.

By default, aimo stores upstream JSON files in ~/.cache/aimo. Set AIMO_CACHE_DIR to use a different cache directory.

License

MIT

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

aimo_registry-0.1.1.tar.gz (62.7 kB view details)

Uploaded Source

Built Distribution

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

aimo_registry-0.1.1-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file aimo_registry-0.1.1.tar.gz.

File metadata

  • Download URL: aimo_registry-0.1.1.tar.gz
  • Upload date:
  • Size: 62.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for aimo_registry-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0a7728450059c59726b58dd3b5f910f355051281107e940aba93fb80145fe9f9
MD5 e006bed8f6f62bd59304d8fa3a2b0271
BLAKE2b-256 0c770104fa80a925256a9244fab222b68a4fa8d3ef6268394fc1e9519208f2fa

See more details on using hashes here.

File details

Details for the file aimo_registry-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: aimo_registry-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for aimo_registry-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6bb16f37311de24c947d503f47a502dd912ee2cdd863c252fa8683d4d38c34e1
MD5 8569d9e877c75ec1781556b2aa227647
BLAKE2b-256 33421b7e47b5ada119d8ec168c7acc5fa52470ebeb23b51d48431c9e1c6beca6

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