scikit-learn>=1.2.0
joblib>=1.5.0
yara-python>=4.3.0
emoji>=2.0.0
nltk>=3.9.0
numpy>=1.24.0
pandas>=2.0.0
typing-extensions>=4.5.0

[all]
torch>=2.0.0
transformers>=4.30.0
sentence-transformers>=2.0.0
chromadb>=0.4.0
fastapi>=0.100.0
uvicorn>=0.20.0
langchain-ollama>=1.0.0
omegaconf>=2.3.0
hydra-core>=1.3.0

[api]
fastapi>=0.100.0
uvicorn>=0.20.0
pydantic>=2.0.0

[dev]
pytest>=7.4.0
pytest-cov>=4.1.0
pytest-asyncio>=0.21.0
pytest-mock>=3.11.0
black>=23.12.0
ruff>=0.14.5
mypy>=1.8.0
bandit[toml]>=1.7.6
pre-commit>=3.5.0
types-requests>=2.31.0
types-PyYAML>=6.0.0
pydocstyle>=6.3.0
yamllint>=1.33.0
fastapi>=0.100.0
chromadb>=1.2.0
lark>=1.2.0
httpx>=0.25.0
hydra-core>=1.3.0
langchain_google_genai>=2.0.0
langchain_ollama>=0.3.0

[eval]
langchain-ollama>=1.0.0
omegaconf>=2.3.0
hydra-core>=1.3.0

[ml]
torch>=2.0.0
transformers>=4.30.0
sentence-transformers>=2.0.0

[vectordb]
chromadb>=0.4.0
pydantic>=2.0.0
