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
  • 🧩 Static .pyi stubs for LSP autocomplete of common aimo.openai.gpt_4o paths

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.3.tar.gz (96.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.3-py3-none-any.whl (43.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aimo_registry-0.1.3.tar.gz
  • Upload date:
  • Size: 96.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.3.tar.gz
Algorithm Hash digest
SHA256 b88e9696fd66465351d8623f7434954a1befb20ff24b4dc145a6c0c12cd7c150
MD5 5501292c51c8e4eeb5ffe2a717d4c412
BLAKE2b-256 57cea9d03fc5c8aed11a91291e183725428a82280e0b7b8f5f54e7c9731ba22e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aimo_registry-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 43.6 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bf04ee06cc0057d9095f7b7a4288c511d36b025853f3b2bfa790843414e1390d
MD5 5242e459c12b2bbf2ec8e1c6e432249e
BLAKE2b-256 f190a975f41c202d15351c2146b8b590739879be5e805d6bb8ba8c61d465385d

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