# Core dependencies for ragpackai
langchain>=0.2.0,<0.3.0
langchain-openai>=0.1.0,<0.2.0
openai>=1.30.0,<2.0.0
chromadb>=0.5.0,<0.6.0
langchain-chroma>=0.1.0,<0.3.0
langchain-community>=0.2.0,<0.3.0
pydantic>=2.0.0,<3.0.0
sentence-transformers>=2.0.0,<3.0.0
faiss-cpu>=1.7.0,<2.0.0
tqdm>=4.60.0,<5.0.0
PyPDF2>=3.0.0,<4.0.0
cryptography>=3.4.0,<42.0.0
python-dotenv>=0.19.0,<2.0.0
numpy>=1.21.0,<2.0.0
transformers>=4.20.0,<5.0.0

# Optional provider dependencies
langchain-google-genai>=1.0.0,<2.0.0
langchain-google-vertexai>=1.0.0,<2.0.0
langchain-groq>=0.1.0,<1.0.0
langchain-cerebras>=0.1.0,<1.0.0
langchain-nvidia-ai-endpoints>=0.1.0,<1.0.0
groq>=0.4.0,<1.0.0
cerebras-cloud-sdk>=1.0.0,<2.0.0
google-cloud-aiplatform>=1.30.0,<2.0.0

# Additional useful packages
torch>=1.13.0,<3.0.0
pandas>=1.3.0,<3.0.0
requests>=2.25.0,<3.0.0
urllib3>=1.26.0,<3.0.0
aiohttp>=3.8.0,<4.0.0
httpx>=0.24.0,<1.0.0
tiktoken>=0.4.0,<1.0.0
scipy>=1.7.0,<2.0.0
scikit-learn>=1.0.0,<2.0.0

# Development and notebook dependencies
ipykernel>=6.0.0,<7.0.0
jupyter>=1.0.0,<2.0.0
notebook>=6.4.0,<8.0.0
ipython>=7.30.0,<9.0.0
matplotlib>=3.5.0,<4.0.0
seaborn>=0.11.0,<1.0.0

# Build and packaging
setuptools>=60.0.0,<70.0.0
wheel>=0.37.0,<1.0.0
build>=0.8.0,<1.0.0
twine>=4.0.0,<5.0.0

# Development dependencies
pytest>=7.0.0,<8.0.0
pytest-cov>=4.0.0,<5.0.0
pytest-asyncio>=0.21.0,<1.0.0
pytest-mock>=3.10.0,<4.0.0
pytest-xdist>=3.0.0,<4.0.0
black>=22.0.0,<25.0.0
flake8>=5.0.0,<7.0.0
mypy>=1.0.0,<2.0.0
isort>=5.10.0,<6.0.0
coverage>=6.0.0,<8.0.0
pre-commit>=2.20.0,<4.0.0
bandit>=1.7.0,<2.0.0
safety>=2.0.0,<4.0.0
