Skip to content

Installation

Registry Forge runs on any standard Python environment: a laptop, a virtual machine, a Jupyter server or a cloud notebook. There are no infrastructure requirements beyond Python and a short list of packages. Where to run it covers Jupyter, Google Colab, AWS and other platforms, and what to confirm before real records go in.

Get the code

Every file referenced on this page is on the Downloads page, including RegistryForge.zip with everything in one file.

Requirements

  • Python 3.10 or newer
  • 4 GB RAM (more for very large cohorts)
  • Local disk space roughly three times the size of the chunked CSV inputs
Package Version Used by
pandas 2.0 or later CSV reading, Excel output
pypdf 4.0 or later PDF text extraction
openpyxl 3.1 or later Excel writer engine
requests, networkx any recent Mondo-OMOP bridge only (optional)
reportlab 4.0 or later the invented-cohort generator only
pytest 8.0 or later the tests only

The pipeline itself uses only standard library modules (xml.etree.ElementTree, json, base64, re, unicodedata, logging) beyond pandas, pypdf and openpyxl.

Install

unzip RegistryForge.zip
cd RegistryForge
python -m pip install -r requirements.txt

On Windows, use py in place of python.

Check the install

python -m pytest -q tests

The tests build the invented ALS cohort in a temporary folder, run every module over it, run the single-patient sample export through the core pipeline, and check the outputs, including that the counts-only reports hold no patient IDs, names or record dates. They use no real data.

Installing without internet access

Secure environments often have no internet connection. Download the packages on a connected machine with the same operating system and Python version, copy the folder across, and install from it:

# connected machine
python -m pip download -r requirements.txt -d wheels
# secure environment
python -m pip install --no-index --find-links wheels -r requirements.txt

Running

The pipeline is a set of Python scripts with command-line options. Three equivalent ways to run it:

python pipeline/run_all.py --base-dir /path/to/working/directory --cutoff 2026-10-31

Open notebooks/run_registry_forge.ipynb, check the settings cell and run the cells in order.

import sys
sys.path.insert(0, '/path/to/RegistryForge/pipeline')
import run_pipeline
bundle = run_pipeline.main(['--base-dir', '/path/to/working/directory'])
print(f"Patients: {len(bundle['patients'])}")

run_all.py runs the core pipeline and every add-on module; run_pipeline.py runs the core pipeline alone and returns the bundle when called from Python. See Configuration for the options.

Versions used to check this site

On 9 November 2026 the tests passed with Python 3.13 and the package versions in requirements.txt. The site is built by GitHub Actions with Python 3.12 and the versions in requirements-docs.txt, and every build runs the same tests first. To reproduce the check, run python -m pytest -q tests from the unzipped folder.