| # Requires Python 3.10–3.12 (rdkit / numpy / pandas / pyarrow / scipy / scikit-learn / statsmodels pins ship cp310–cp312 wheels only). |
| # See AGENTS.md §3 for the full coding-standards contract. |
|
|
| # --- Web / API layer --- |
| fastapi==0.115.0 |
| uvicorn[standard]==0.30.6 |
| pydantic==2.9.2 |
|
|
| # --- Core data stack --- |
| numpy==1.26.4 |
| pandas==2.2.2 |
| pyarrow==17.0.0 |
| scipy==1.13.1 |
| scikit-learn==1.5.1 |
|
|
| # --- Modality: tabular / molecules (BBB pipeline) --- |
| rdkit==2024.3.5 |
|
|
| # --- Modality: signal (EEG pipeline) --- |
| mne==1.7.1 |
|
|
| # --- Modality: image (MRI pipeline) --- |
| nibabel==5.2.1 |
| neuroharmonize==2.4.5 # ComBat harmonization wrapper |
| neuroCombat==0.2.12 # transitive dep of neuroharmonize; pinned for reproducibility |
| statsmodels==0.14.6 # transitive dep of neuroharmonize; pinned for reproducibility |
|
|
| # --- Experiment tracking --- |
| mlflow==2.16.0 |
|
|
| # --- Downstream ML / XAI (Day 5 decision layer) --- |
| shap==0.46.0 |
| joblib==1.4.2 |
| onnxruntime==1.19.2 # MRI volumetric ONNX inference (external DL artifact) |
| torch==2.4.1 # MRI 2D resnet18 inference (Plan: external-assets-integration) |
| torchvision==0.19.1 # resnet18 + image transforms |
| pillow==10.4.0 # image loading for 2D MRI inputs |
|
|
| # --- Tooling / tests --- |
| pytest==8.3.3 |
| pytest-cov==5.0.0 |
| httpx==0.27.2 # FastAPI test client |
|
|
| # --- RAG (knowledge retrieval for agent feedback loop) --- |
| fastembed==0.4.2 # ONNX-based embeddings, no torch dep |
| faiss-cpu==1.8.0 # vector store |
| pypdf==5.0.1 # PDF text extraction |
|
|
| # --- Frontend (B2B dashboard) --- |
| streamlit==1.39.0 |
|
|
| # --- LLM provider (Day 7 explainer) --- |
| openai==1.51.0 # OpenRouter SDK (Day-7 LLM explainer; deterministic-template fallback always available) |
| python-dotenv==1.0.1 # Load OPENROUTER_API_KEY from local .env for API/agent demos |
|
|