Skip to main content

A unified source of truth for LLM providers, models, pricing, and capabilities.

Project description

LLM Providers

A unified source of truth for LLM providers, models, pricing, and capabilities.

Accessible via Rust and Python.

Build Status Crates.io PyPI License

Installation   •   Usage   •   Supported Providers   •   Contributing

Philosophy

Managing LLM provider configurations across multiple projects and languages is a pain. LLM Providers solves this by maintaining a single, curated JSON source of truth for:

  • Model IDs & Names
  • Context Windows & Max Output Tokens
  • Pricing (Input/Output)
  • Capabilities (Tool Support, Vision, etc.)

This data is embedded at compile-time into a Rust crate for zero-latency access and exposed to Python via high-performance bindings.

Features

  • 🚀 Zero-Latency: Data is compiled into the binary; no runtime I/O or API calls.
  • 🦀 Rust Native: Type-safe structs (Provider, Model) for robust development.
  • 🐍 Python Ready: Seamless integration via pip install llm-providers-list.
  • 🔄 Unified Schema: Consistent data structure across all providers (OpenAI, Anthropic, DeepSeek, etc.).
  • 📦 Rich Metadata: Includes pricing, context length, and tool support flags.

Installation

Rust

Add this to your Cargo.toml:

[dependencies]
llm_providers = { git = "https://github.com/lipish/llm-providers.git" }

Python

Install via pip (once published) or build from source:

# From PyPI (Coming Soon)
pip install llm-providers-list

# Build from source (requires maturin)
pip install maturin
maturin develop -m py/Cargo.toml

Usage

Rust

use llm_providers::{get_providers_data, list_providers, list_models, get_model};

fn main() {
    // 1. Get raw map of all providers
    let providers = get_providers_data();
    if let Some(openai) = providers.get("openai") {
        println!("Provider: {}", openai.label);
    }

    // 2. List all provider IDs
    let provider_ids = list_providers();
    println!("Providers: {:?}", provider_ids);

    // 3. List models for a specific provider
    if let Some(models) = list_models("openai") {
        println!("OpenAI Models: {:?}", models);
    }

    // 4. Get specific model details
    if let Some(model) = get_model("openai", "gpt-4o") {
        println!("Model: {} (Price: ${}/1M input)", model.name, model.input_price);
    }
}

Python

import llm_providers_list

# 1. List all supported providers
print(llm_providers_list.list_providers())
# Output: ['aliyun', 'anthropic', 'deepseek', 'openai', ...]

# 2. List models for a specific provider
print(llm_providers_list.list_models("openai"))
# Output: ['gpt-4o', 'gpt-3.5-turbo', ...]

# 3. Get specific model details
model = llm_providers_list.get_model("openai", "gpt-4o")
print(f"Model: {model.name}, Price: ${model.input_price}/1M tokens")

# 4. Get full provider object (Rich Type)
openai = llm_providers_list.get_provider("openai")
print(f"Label: {openai.label}")
print(f"Base URL: {openai.base_url}")

Supported Providers

  • OpenAI (GPT-4o, GPT-3.5, o1)
  • Anthropic (Claude 3.5 Sonnet, Haiku, Opus)
  • DeepSeek (Chat, Reasoner)
  • Aliyun (Qwen Max, Plus, Turbo)
  • Tencent (Hunyuan)
  • Moonshot (Kimi)
    • Moonshot AI (CN)
    • Moonshot AI Global
  • MiniMax
    • MiniMax (CN)
    • MiniMax Global
  • Zhipu (GLM-4)
    • BigModel (Zhipu CN)
    • Z.ai (Zhipu Global)
  • Volcengine (Doubao)
  • LongCat

Contributing

Contributions are welcome! To add a new provider or update existing models:

  1. Edit providers.json in the root directory.
  2. Run tests to ensure validity:
    cargo test
    
  3. Submit a Pull Request.

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

llm_providers_list-0.2.2.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

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

llm_providers_list-0.2.2-cp311-cp311-macosx_11_0_arm64.whl (280.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file llm_providers_list-0.2.2.tar.gz.

File metadata

  • Download URL: llm_providers_list-0.2.2.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.3

File hashes

Hashes for llm_providers_list-0.2.2.tar.gz
Algorithm Hash digest
SHA256 24216cd9e909cb08343ef890b2fb19285e1b4a4f57ae3f6b8959dc42492fd5aa
MD5 364d8691bbfa860e1653c8f114517db2
BLAKE2b-256 ef075dd812d62d397646d2e3f3aba9636a9e5de4dd2edfed5c7d8385648fed76

See more details on using hashes here.

File details

Details for the file llm_providers_list-0.2.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for llm_providers_list-0.2.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b350356e97b42c75afc63370feb874dbdb3020da3a28a024b0d1b89e48bc33c8
MD5 1ab4a51c658a0a2eb119c419d13e50e9
BLAKE2b-256 c03a158a5889856e4d5dbdc4ffc1b54c819b5785aa1fa5d834aa095a428d2899

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