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.0.tar.gz (29.2 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.0-cp311-cp311-macosx_11_0_arm64.whl (270.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for llm_providers_list-0.2.0.tar.gz
Algorithm Hash digest
SHA256 40504951d8856befd42db0145845c1e4bbeffabf620a152fd849d7075c68abd6
MD5 79c9a8b567d432901016a06fc2520066
BLAKE2b-256 88db750584f4659683f6aeacc3265c2f743fb298649f50a00003c8901f186e1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for llm_providers_list-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 828699ad64c9c5cd56afa237e87ad9487f5c5c4ce5dd00d27bff7fb3f4824c11
MD5 fd704135d4294814089b0fac8601e50a
BLAKE2b-256 650bb5ef93221d0b463edc772dd275defef9f2caa83d9af1c2b07761f5675d40

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