Install¶
Prodrome needs Python 3.10 or newer. The base install runs the whole pipeline: ingest, train, calibrate, evaluate and gate.
The command line is prodrome, because that is what a person types.
Extras¶
Each extra adds one capability. Install only what a configuration names; a component whose dependency is missing raises an error saying which extra provides it, rather than failing somewhere further in.
| Extra | Brings | Needed for |
|---|---|---|
torch |
PyTorch | the gru sequence model |
federated |
Flower | federated training across the two sites |
serve |
FastAPI, uvicorn, Prometheus, OpenTelemetry | prodrome serve |
hub |
huggingface-hub, skops | prodrome publish |
dev |
the test tools, plus serve |
working on Prodrome itself |
all |
every extra above | trying everything |
Check the installation¶
doctor reports which extras are installed, which components are registered, and
whether this configuration can find its corpus, its model and its alert policy.
The corpus¶
Not included, and never committed to the repository or packaged into the wheel.
prodrome init # writes configs/
prodrome data fetch # 42 MB, 40,336 patients, no credentials
prodrome data prepare # parses to columnar and pins the digest
The data is the PhysioNet/Computing in Cardiology Challenge 2019 corpus, published under the Open Database License. That licence is the reason this project can exist in public: the models can be shared and every number reproduced by a stranger. Credentialed corpora such as MIMIC allow neither. See The data.
From source¶
git clone https://github.com/rhs2/prodrome
cd prodrome
make install # virtualenv with the dev extra
make check # ruff, mypy strict, the offline test suite
The test suite runs entirely on a synthetic corpus the package generates, so a fresh clone with no download still proves the pipeline works.