langchain<2,>=1.0
langchain-core<2,>=0.3
langchain-openai<2,>=0.2
langgraph<2
fastapi[standard]<1
uvicorn<1
mcp[cli]<2,>=1.23.0
fastmcp<4
typer<1,>=0.15.3
questionary<3,>=2.0
rich<16,>=13.0
dynaconf<4
python-dotenv<2
loguru<1
pyyaml<7,>=6.0.3
psutil<8,>=7.0.0
httpx<1
pymilvus[milvus-lite]<4,>=2.6.4
torch<3,>=2.9.1
sentence-transformers<7,>=5.1.2
sentencepiece<1,>=0.2.0
pypdf<7,>=4.0.0
python-docx<2,>=1.2.0
pdfplumber<1,>=0.11.9
beautifulsoup4<5,>=4.14.3
rank-bm25<1,>=0.2.2
nltk<4,>=3.9.1
numpy<3,>=1.24
pydantic<3,>=2
pyjwt<3,>=2.8

[:python_version < "3.11"]
tomli<3,>=2.0

[all]
lasagna-rag[docling,eval,flag-embedding,graphrag,ingest,lifecycle,local,ocr,opensearch,pgvector,production,providers,storage-all,vector-backends,web]

[docling]
docling>=2.70.0

[eval]
ragas<0.5,>=0.4.0
langchain-community<0.4.2
datasets<6,>=4.0
pandas<4,>=2.0.0
scipy<2,>=1.10
matplotlib>=3.7
seaborn>=0.12
jinja2>=3.0

[flag-embedding]
FlagEmbedding>=1.3.0

[graphrag]
networkx>=3.0

[ingest]
easyocr>=1.7.2
pdf2image>=1.17.0

[lifecycle]
apscheduler<4,>=3.10

[llamaindex]
llama-index-core<1,>=0.12

[local]
langchain-huggingface>=0.1
transformers>=4.40
accelerate>=0.25
langchain-ollama>=0.2

[markitdown]
markitdown[docx,pdf,pptx,xlsx]>=0.1.0

[ocr]
pytesseract<1,>=0.3.10
paddleocr<3,>=2.7
paddlepaddle<4,>=2.6

[opensearch]
opensearch-py>=2.4.0

[pgvector]
pgvector>=0.2.5
psycopg[binary,pool]>=3.1

[production]
redis[hiredis]<9,>=5.0
celery<6,>=5.3
prometheus-client<1,>=0.20
opentelemetry-api<2,>=1.24
opentelemetry-sdk<2,>=1.24
opentelemetry-exporter-otlp-proto-grpc<2,>=1.24
psycopg[binary,pool]<4,>=3.1

[providers]
langchain-anthropic<2,>=0.3
langchain-google-genai<5,>=2.0
langchain-mistralai<2,>=0.2
langchain-cohere<1,>=0.4
langchain-nvidia-ai-endpoints<2,>=0.3

[pymupdf4llm]
pymupdf4llm>=0.0.17

[storage-all]
boto3>=1.28
fsspec<2026.8,>=2024.1
s3fs<2026.8,>=2024.1
gcsfs>=2024.1
adlfs>=2024.1

[storage-s3]
boto3>=1.28

[vector-backends]
pinecone>=5.0.0
qdrant-client>=1.7.0
weaviate-client>=4.4.0
grpcio-status<1.80

[web]
ddgs<10,>=9
