Skip to main content

LLM model discovery and tracking system for real-time monitoring of available models across multiple providers

Project description

llm-discovery

LLM model discovery and tracking system for real-time monitoring of available models across multiple providers (OpenAI, Google AI Studio/Vertex AI, Anthropic).

Features

  • Zero-Configuration Quick Start: Use prebuilt model data without API keys (max 24h old)
  • Real-time Model Discovery: Fetch available models from multiple LLM providers
  • Automatic Data Source Switching: Seamlessly switches between API and prebuilt data
  • Multi-format Export: Export model data in JSON, CSV, YAML, Markdown, and TOML formats
  • Change Detection: Track model additions and removals over time
  • Data Source Transparency: See whether data comes from API or prebuilt sources with timestamps
  • CI/CD Integration: Easy integration with GitHub Actions and other CI/CD systems
  • Python API: Use as a library in your Python applications
  • Offline Mode: Cache-first operation for offline usage

Installation

Method 1: uvx (No Installation Required - Recommended)

# Fetch and cache models
uvx llm-discovery update

# Display cached models
uvx llm-discovery list

Method 2: pip

pip install llm-discovery

Quick Start

Without API Keys (Zero Configuration)

Try llm-discovery instantly without any API keys using prebuilt model data (updated daily):

# Display models using prebuilt data (no API keys required)
uvx llm-discovery list

# Export prebuilt data
uvx llm-discovery export --format json --output models.json

The data source and timestamp are displayed in the output, showing whether data comes from API or prebuilt sources.

With API Keys (Real-time Data)

Set up API keys for the providers you want to use:

# OpenAI
export OPENAI_API_KEY="sk-..."

# Google AI Studio
export GOOGLE_API_KEY="AIza..."

# Google Vertex AI (alternative to AI Studio)
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/gcp-credentials.json"

Basic Usage

# Fetch and cache models from all providers
uvx llm-discovery update

# Display cached models in a table
uvx llm-discovery list

# Detect changes from previous snapshot
uvx llm-discovery update --detect-changes

# Export to JSON
uvx llm-discovery export --format json --output models.json

Python API

import asyncio
from llm_discovery import DiscoveryClient
from llm_discovery.models.config import Config

async def main():
    # Load configuration from environment variables
    config = Config.from_env()
    client = DiscoveryClient(config)

    # Fetch models from all providers
    provider_snapshots = await client.fetch_all_models()

    # Display all models
    for provider in provider_snapshots:
        for model in provider.models:
            print(f"{model.provider_name}/{model.model_id}: {model.model_name}")

asyncio.run(main())

Documentation

For detailed documentation, visit our documentation site or see:

Development

Setup

# Clone the repository
git clone https://github.com/drillan/llm-discovery.git
cd llm-discovery

# Install with development dependencies
uv sync --all-extras --all-groups

# Run tests
uv run pytest

# Run linting
ruff check .

# Run type checking
mypy llm_discovery/

License

MIT License - see LICENSE for details.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

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

llm_discovery-0.1.0.tar.gz (251.7 kB view details)

Uploaded Source

Built Distribution

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

llm_discovery-0.1.0-py3-none-any.whl (39.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: llm_discovery-0.1.0.tar.gz
  • Upload date:
  • Size: 251.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for llm_discovery-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2f1c606844fb06105de00a8ce0f25c64b745d442baba8714302f0f80afa4b40f
MD5 048cf9f6affb529a1137544e3d89f86e
BLAKE2b-256 fd1cbdf93b802ea5014766ba29fc2b10835d35bd84014783b5c0fff94f1b70c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_discovery-0.1.0.tar.gz:

Publisher: publish.yml on drillan/llm-discovery

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: llm_discovery-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 39.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for llm_discovery-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c9c8efccc7d3ae3abd8c3d9670e36e060e304d18bbf4072e12fc7b431c1af1fd
MD5 df9afb5bc4cc1fbcb8bf2abc3a920cf3
BLAKE2b-256 934cb630621f5fc85cf1d76b29ab3ec735a5174968bb92625ef8ddd15b65953d

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_discovery-0.1.0-py3-none-any.whl:

Publisher: publish.yml on drillan/llm-discovery

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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