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.0.tar.gz (62.1 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.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aimo_registry-0.1.0.tar.gz
  • Upload date:
  • Size: 62.1 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.0.tar.gz
Algorithm Hash digest
SHA256 655d31079a7eca1bf7519997e0f1ec7133175925aed85b79d1bd0ff3ec2aa31a
MD5 fdd6ba51dedccde44e060fd892662c51
BLAKE2b-256 b0f9b6ff2068c8b85339f8014ac7bb976a27c83df98f7f64168493d2f8a845f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aimo_registry-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 db1d4773d2b1e6ea0e5d7b50221de662919e60454cfe60701f353c6770be74c7
MD5 15de3abb30c4b20cde9345dbd1cb81e4
BLAKE2b-256 f1aa8ab70001fc9804358cdfac8f4f042d3a8385fd7dc88fcc26ef530eb54060

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