Skip to content

Install

Prodrome needs Python 3.10 or newer. The base install runs the whole pipeline: ingest, train, calibrate, evaluate and gate.

pip install prodrome

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
pip install "prodrome[serve]"     # the HTTP service
pip install "prodrome[dev]"       # developing Prodrome

Check the installation

prodrome doctor

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.

Documentation locally

pip install "mkdocs-material>=9.5,<10"
mkdocs serve