Metadata-Version: 2.4
Name: a3m-router
Version: 2.2.0
Summary: Intelligent LLM routing for Python — routes to cheapest capable model across 47+ providers
License: MIT
Project-URL: Homepage, https://github.com/Das-rebel/a3m-router
Project-URL: Documentation, https://das-rebel.github.io/a3m-router
Project-URL: Repository, https://github.com/Das-rebel/a3m-router
Project-URL: Changelog, https://github.com/Das-rebel/a3m-router/releases
Keywords: llm,routing,openai,proxy,ai-gateway,routellm,litellm,multi-llm,model-selection,cost-optimization,langchain,llamaindex,rag,vector-search,embeddings,parallel,ensemble,router
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.24.0
Provides-Extra: langchain
Requires-Dist: langchain>=0.1.0; extra == "langchain"
Provides-Extra: llamaindex
Requires-Dist: llamaindex>=0.9.0; extra == "llamaindex"
Provides-Extra: qdrant
Requires-Dist: qdrant-client>=1.7.0; extra == "qdrant"
Provides-Extra: weaviate
Requires-Dist: weaviate-client>=4.0.0; extra == "weaviate"
Provides-Extra: adapters
Requires-Dist: langchain>=0.1.0; extra == "adapters"
Requires-Dist: llamaindex>=0.9.0; extra == "adapters"
Requires-Dist: qdrant-client>=1.7.0; extra == "adapters"
Requires-Dist: weaviate-client>=4.0.0; extra == "adapters"
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"

# A3M Router Python SDK

Intelligent LLM routing for Python — routes to cheapest capable model across 47+ providers.

## Installation

```bash
pip install a3m-router
```

## Usage

```python
from a3m import A3MRouter

router = A3MRouter()  # localhost:8787
response = await router.chat("What is 2+2?")
```

## Framework Adapters

| Adapter | Import | Use Case |
|---------|--------|----------|
| **LangChain** | `from a3m import LangChainAdapter` | Chain-based AI workflows |
| **LlamaIndex** | `from a3m import LlamaIndexAdapter` | RAG and document QA |
| **Qdrant** | `from a3m import QdrantAdapter` | Vector search + RAG |
| **Weaviate** | `from a3m import WeaviateAdapter` | Vector search + RAG |

Install adapters:
```bash
pip install a3m-router[langchain]   # LangChain
pip install a3m-router[llamaindex] # LlamaIndex
pip install a3m-router[qdrant]      # Qdrant
pip install a3m-router[weaviate]    # Weaviate
pip install a3m-router[all]         # All adapters
```

## API Reference

| Method | Description |
|--------|-------------|
| `chat(message)` | Send chat message with auto-routing |
| `route(query)` | Get routing decision (no execution) |
| `stream_chat(message)` | Stream response tokens |
| `models()` | List available models |
| `health()` | Provider health status |

## Links

- [GitHub](https://github.com/Das-rebel/a3m-router)
- [npm Package](https://www.npmjs.com/package/adaptive-memory-multi-model-router)

## License

MIT
