Metadata-Version: 2.4
Name: llm-rotate
Version: 0.1.1
Summary: Unified LLM client with key rotation, health-aware failover, and multi-provider orchestration.
Project-URL: Repository, https://github.com/Research-Commons/llm-rotate
Author: llm-rotate contributors
License-Expression: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: anthropic<1,>=0.85
Requires-Dist: google-auth<3,>=2.0
Requires-Dist: google-genai<2,>=1.60
Requires-Dist: openai<3,>=2.20
Requires-Dist: pydantic<3,>=2.0
Requires-Dist: typing-extensions>=4.12
Provides-Extra: dev
Requires-Dist: coverage[toml]>=7.0; extra == 'dev'
Requires-Dist: hypothesis>=6.100; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Provides-Extra: otel
Requires-Dist: opentelemetry-api>=1.20; extra == 'otel'
Requires-Dist: opentelemetry-sdk>=1.20; extra == 'otel'
Provides-Extra: redis
Requires-Dist: redis[hiredis]<6,>=5.0; extra == 'redis'
Description-Content-Type: text/markdown

# llm-rotate

`llm-rotate` is a Python library for resilient LLM calls across providers.
It provides API key rotation, health-aware selection, retry/failover, and a unified chat interface.

## What it does

- Unified API for OpenAI, Anthropic, Google AI Studio, Vertex AI, and OpenRouter
- Automatic key rotation on rate-limit/auth/transient failures
- Provider fallback chains
- Streaming and sync/async chat support
- Structured per-call usage logging