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:
[]
= { = "https://github.com/lipish/llm-providers.git" }
Python
Install via pip (once published) or build from source:
# From PyPI (Coming Soon)
# Build from source (requires maturin)
Usage
Rust
use get_providers_data;
Python
# List all supported providers
# Output: ['aliyun', 'anthropic', 'deepseek', 'openai', ...]
# Get provider object (Rich Type)
=
# Get raw JSON info
=
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:
- Edit
providers.jsonin the root directory. - Run tests to ensure validity:
- Submit a Pull Request.
License
MIT