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.2.tar.gz (64.2 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.2-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aimo_registry-0.1.2.tar.gz
  • Upload date:
  • Size: 64.2 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.2.tar.gz
Algorithm Hash digest
SHA256 eb2ca591b4be6188fb6a87a1ad9fb0a09ef761fc29549c0a19b3082482bd2edc
MD5 54bcae57872de8dd0e8b9b3f65f67c3a
BLAKE2b-256 5c1d9c8adc755bbf47cc84a9825a16933db1cd0f035513b948ceae24cc3b998b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aimo_registry-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 11.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 78339c1786df4289e7886a9bf2d77d8002081db9476678a9ceace01e1579f9fa
MD5 f8d9fb4b219e24340b1af40ba49ae897
BLAKE2b-256 e7683e9c3b0436eebc61ef159bedab65922cec01ac4c301cc6a2a6ed523ec4df

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