-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrequirements.txt
More file actions
50 lines (43 loc) · 2.06 KB
/
Copy pathrequirements.txt
File metadata and controls
50 lines (43 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# APEX dependencies.
# NOTE: pin against a Python 3.11 venv (see README) — several of these (torch,
# wfdb wheels) may not yet publish 3.14 wheels.
# --- data / signal ---
numpy>=1.26
pandas>=2.1
scipy>=1.11
wfdb>=4.1 # read PTB-XL waveforms
scikit-learn>=1.4 # AUROC / F1 / calibration metrics
requests>=2.31 # parallel dataset download (S3 mirror)
# --- modeling ---
torch>=2.2 # 1D CNN / transformer detector
# --- image digitization (Phase 10) ---
pillow>=10.0 # render/read paper-ECG images
matplotlib>=3.7 # EDA/grounding figures + digitization overlays
# --- experiment tracking ---
wandb>=0.16
# openai>=1.0 # optional: scripts/gpt4o_baseline.py --openai (Phase-12 GPT-4o baseline)
# --- generation ---
anthropic>=0.40 # Claude API backend for explanations
transformers>=4.56.2,<5.0 # trl needs >=4.56.2; pin below v5 -- 5.x's parallel weight-
# loading (core_model_loading.py) segfaults on this Mac
# (Python 3.11 / torch 2.13); 4.57.6 is the verified-working pin
peft>=0.12 # LoRA adapters
trl>=0.9 # SFTTrainer (supervised fine-tuning)
datasets>=2.20 # JSONL -> HF Dataset for training
accelerate>=0.33 # device placement / training loop backend
# bitsandbytes>=0.43 # 4-bit QLoRA — CUDA only, install on the GPU box for --load-in-4bit
# --- serving / UI ---
fastapi>=0.110
uvicorn[standard]>=0.29
pydantic>=2.6
python-multipart>=0.0.9 # file uploads for POST /analyze
gradio>=4.40,<5 # Phase-11 dashboard; gradio 6 needs huggingface-hub>=1.0,
huggingface-hub<1.0 # which breaks transformers 4.57.6 (needs <1.0) — keep both here
# --- dev ---
# FHIR validation (Phase 23) is test-only on purpose: src/ehr emits plain dicts, so the
# serving path gains no dependency, and the bundles are checked against the published R4B
# StructureDefinitions in tests/ and scripts/ehr_examples.py rather than being assumed valid.
fhir.resources>=8.0
pytest>=8.0
ruff>=0.3
httpx>=0.27 # FastAPI TestClient (tests/test_serving.py endpoint tests)