Metadata-Version: 2.4
Name: llm-clients
Version: 0.1.2
Summary: A reusable library for LLM clients with LangChain framework
Author-email: Debasish Nath <nath.debasish@gmail.com>
License: MIT
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Requires-Dist: langchain-core>=0.3
Requires-Dist: langchain-mcp-adapters>=0.1
Requires-Dist: langgraph>=0.2
Requires-Dist: pydantic>=2.0
Provides-Extra: all
Requires-Dist: huggingface-hub>=0.23; extra == 'all'
Requires-Dist: langchain-anthropic>=0.3; extra == 'all'
Requires-Dist: langchain-google-genai>=2.0; extra == 'all'
Requires-Dist: langchain-groq>=0.2; extra == 'all'
Requires-Dist: langchain-huggingface>=0.1; extra == 'all'
Requires-Dist: langchain-openai>=0.2; extra == 'all'
Provides-Extra: anthropic
Requires-Dist: langchain-anthropic>=0.3; extra == 'anthropic'
Provides-Extra: azure
Requires-Dist: langchain-openai>=0.2; extra == 'azure'
Provides-Extra: google
Requires-Dist: langchain-google-genai>=2.0; extra == 'google'
Provides-Extra: groq
Requires-Dist: langchain-groq>=0.2; extra == 'groq'
Provides-Extra: huggingface
Requires-Dist: huggingface-hub>=0.23; extra == 'huggingface'
Requires-Dist: langchain-huggingface>=0.1; extra == 'huggingface'
Provides-Extra: openai
Requires-Dist: langchain-openai>=0.2; extra == 'openai'
Description-Content-Type: text/markdown

# llm-clients

A reusable library for LLM clients with LangChain.

Supports OpenAI, Anthropic, Azure OpenAI, Google Gemini, and HuggingFace.

## Install

```bash
# Core only
pip install llm-clients

# With specific provider(s)
pip install "llm-clients[openai]"
pip install "llm-clients[anthropic]"
pip install "llm-clients[azure]"
pip install "llm-clients[google]"
pip install "llm-clients[huggingface]"

# All providers
pip install "llm-clients[all]"
```

## Quick start

```python
from llm_clients import LLMClientFactory

# Create any LLM (reads API keys from env vars by default)
llm = LLMClientFactory.create("openai", model="gpt-4o")
llm = LLMClientFactory.create("anthropic")
llm = LLMClientFactory.create("azure", azure_deployment="...", azure_endpoint="...")
llm = LLMClientFactory.create("google", model="gemini-2.0-flash")
llm = LLMClientFactory.create("huggingface", repo_id="HuggingFaceH4/zephyr-7b-beta")

```

## Environment variables

| Variable | Provider |
|---|---|
| `OPENAI_API_KEY` | OpenAI |
| `ANTHROPIC_API_KEY` | Anthropic |
| `AZURE_OPENAI_API_KEY` | Azure |
| `GOOGLE_API_KEY` | Google Gemini |
| `HUGGINGFACEHUB_API_TOKEN` | HuggingFace |
