fastapi<1.0.0,>=0.104.0
uvicorn[standard]<1.0.0,>=0.24.0
pydantic<3.0.0,>=2.0.0
pydantic-settings<3.0.0,>=2.0.0
pyyaml<7.0,>=6.0
numpy<2.0.0,>=1.24.0
requests<3.0.0,>=2.31.0
python-multipart<1.0.0,>=0.0.6
httpx<1.0.0,>=0.25.0
python-dotenv<2.0.0,>=1.0.0

[adapters]
glassbox-rag[adapters-haystack,adapters-langchain,adapters-llamaindex]

[adapters-haystack]
haystack-ai>=2.0.0

[adapters-langchain]
langchain-core>=0.1.0

[adapters-llamaindex]
llama-index-core>=0.10.0

[all]
glassbox-rag[adapters,auth,databases,embeddings,generation,multimodal,reranking,telemetry,tokens,vector-stores]

[auth]
redis>=5.0.0

[auto]
glassbox-rag[embeddings,generation,tokens]
qdrant-client>=2.4.0
aiosqlite>=0.19.0

[auto-chroma]
glassbox-rag[embeddings,generation,tokens]
chromadb>=0.4.0
aiosqlite>=0.19.0

[databases]
psycopg2-binary>=2.9.0
asyncpg>=0.29.0
aiosqlite>=0.19.0
pymongo>=4.6.0
mysql-connector-python>=8.1.0

[dev]
pytest>=7.0.0
pytest-cov>=4.0.0
pytest-asyncio>=0.23.0
black>=23.0.0
isort>=5.12.0
flake8>=6.0.0
mypy>=1.0.0
ruff>=0.1.0

[embeddings]
onnxruntime>=1.16.0
tokenizers>=0.15.0
ollama>=0.0.50
openai>=1.3.0
cohere>=4.0.0
google-generativeai>=0.3.0
aiohttp>=3.8.0

[generation]
openai>=1.3.0
tiktoken>=0.5.0

[multimodal]
pillow>=10.0.0
pypdf>=3.17.0
python-pptx>=0.6.21
pytesseract>=0.3.10

[reranking]
sentence-transformers>=2.2.0
cohere>=4.0.0

[telemetry]
opentelemetry-api>=1.20.0
opentelemetry-sdk>=1.20.0
opentelemetry-exporter-otlp>=1.20.0
prometheus-client>=0.19.0

[tokens]
tiktoken>=0.5.0

[vector-stores]
qdrant-client>=2.4.0
chromadb>=0.4.0
faiss-cpu>=1.7.0
pinecone-client>=2.2.0
weaviate-client>=3.25.0
