Skip to main content

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.

Metadata

Release files for llm-discovery 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llm-discovery 0.1.0
File Size Uploaded
llm_discovery-0.1.0.tar.gz 251.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llm-discovery 0.1.0
File Interpreter ABI Platform
llm_discovery-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 291.0 kB

Release files / llm_discovery-0.1.0.tar.gz

Download URL llm_discovery-0.1.0.tar.gz
Size 251.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2f1c606844fb06105de00a8ce0f25c64b745d442baba8714302f0f80afa4b40f
BLAKE2b-256 checksum
How to use checksums
fd1cbdf93b802ea5014766ba29fc2b10835d35bd84014783b5c0fff94f1b70c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2025.

Transparency log

Release files / llm_discovery-0.1.0-py3-none-any.whl

Download URL llm_discovery-0.1.0-py3-none-any.whl
Size 39.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c9c8efccc7d3ae3abd8c3d9670e36e060e304d18bbf4072e12fc7b431c1af1fd
BLAKE2b-256 checksum
How to use checksums
934cb630621f5fc85cf1d76b29ab3ec735a5174968bb92625ef8ddd15b65953d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page