flask>=3.1.3
celery>=5.5.3
redis>=6.4.0
flower
pandas>=2.2.2
numpy>=1.26.4
scipy>=1.15.3
scikit-learn>=1.5.0
matplotlib>=3.10.5
seaborn>=0.13.2
dython>=0.7.5
setuptools<81
shap>=0.48.0
h5py>=3.14.0
openpyxl>=3.1.5
pgeocode>=0.5.0
pyyaml>=6.0
pyarrow>=15.0.0

[agentic]
openai>=1.6.0
langchain>=0.3.0
langchain-openai>=0.3.0
langchain-community>=0.3.0
langchain-text-splitters>=0.3.0
faiss-cpu>=1.7.0
numpy>=1.26.4
pandas>=2.0.0
pyyaml>=6.0
python-dotenv>=1.0.0
pymupdf>=1.24.0

[dev]
pytest>=7.0
pytest-flask
flake8>=6.0
pytest-cov>=4.0

[docs]
sphinx==6.2.1
sphinx-rtd-theme==1.2.2
sphinxemoji
breathe

[globus]
globus-compute-sdk>=2.3.0
globus-sdk>=3.20.0

[llm]
openai>=1.0

[mcp]
mcp>=1.0
openai>=1.6.0
langchain>=0.3.0
langchain-openai>=0.3.0
langchain-community>=0.3.0
langchain-text-splitters>=0.3.0
faiss-cpu>=1.7.0
python-dotenv>=1.0.0
pymupdf>=1.24.0

[telemetry]
opentelemetry-api>=1.20
opentelemetry-sdk>=1.20
opentelemetry-instrumentation-flask>=0.41b0
opentelemetry-exporter-otlp>=1.20
