pydantic>=2.10.0
typing-extensions>=4.12.0
numpy>=1.26.0
requests>=2.32.0
aiohttp>=3.11.0
tenacity>=9.0.0
rich>=13.9.0
tqdm>=4.67.0
pyyaml>=6.0.2
python-dotenv>=1.0.0
structlog>=24.4.0
tiktoken>=0.8.0

[all]
ai-prishtina-agentic-rag[dev,docs,documents,llm-all,multimodal,nlp,observability,pdf-advanced,vector-all,web-tools]

[anthropic]
anthropic>=0.40.0

[chroma]
chromadb>=0.5.15

[cli]
click>=8.1.7

[cohere]
cohere>=5.13.0

[dev]
pytest>=8.3.3
pytest-asyncio>=0.24.0
pytest-cov>=6.0.0
black>=24.10.0
isort>=5.13.2
flake8>=7.1.1
mypy>=1.13.0
pre-commit>=4.0.1
httpx>=0.28.1

[docs]
mkdocs>=1.6.1
mkdocs-material>=9.5.49
mkdocstrings[python]>=0.27.2

[documents]
pypdf>=5.1.0
python-docx>=1.1.2
beautifulsoup4>=4.12.3
markdown>=3.7.0
langchain>=0.3.7

[embeddings]
sentence-transformers>=3.3.0

[faiss]
faiss-cpu>=1.9.0

[llama-cpp]
llama-cpp-python>=0.3.0

[llm-all]
openai>=1.58.0
anthropic>=0.40.0
cohere>=5.13.0
ollama>=0.4.0
llama-cpp-python>=0.3.0
transformers>=4.47.0
torch>=2.5.0

[local-llm]
transformers>=4.47.0
torch>=2.5.0

[multimodal]
Pillow>=11.0.0
pytesseract>=0.3.13
pydub>=0.25.1
SpeechRecognition>=3.10.1
opencv-python>=4.10.0.84

[nlp]
spacy>=3.8.2
nltk>=3.9.1

[observability]
opentelemetry-api>=1.29.0
opentelemetry-sdk>=1.29.0
opentelemetry-instrumentation-fastapi>=0.48b0

[ollama]
ollama>=0.4.0

[openai]
openai>=1.58.0

[pdf-advanced]
docling>=2.0
unstructured[all-docs]>=0.16
camelot-py>=0.11
kreuzberg>=0.1
pdf2image>=1.17
pymupdf>=1.25

[pdf-camelot]
camelot-py>=0.11
ghostscript

[pdf-docling]
docling>=2.0

[pdf-kreuzberg]
kreuzberg>=0.1

[pdf-unstructured]
unstructured[all-docs]>=0.16

[pinecone]
pinecone>=5.4.2

[server]
fastapi>=0.115.6
uvicorn[standard]>=0.32.1
redis>=5.2.1
python-jose[cryptography]>=3.3.0

[vector-all]
chromadb>=0.5.15
pinecone>=5.4.2
weaviate-client>=4.11.0
faiss-cpu>=1.9.0

[weaviate]
weaviate-client>=4.11.0

[web-tools]
duckduckgo-search>=7.3.1
