Plugins & Loaders

All packages are pip-installable. Add the package name to plugins: in project.yaml to activate it.

Core plugins

Package plugins: name Install Description
pyPhasesML pyPhasesML pip install pyPhasesML PyTorch/TensorFlow model manager and exporter
pyPhasesRecordloader pyPhasesRecordloader pip install pyPhasesRecordloader Base signal loader — EDF, H5, MAT, WFDB
SleepHarmonizer SleepHarmonizer pip install SleepHarmonizer PSG channel name + annotation harmonization
SleePyPhases SleePyPhases pip install SleePyPhases Multi-dataset sleep research framework
pyPhasesHDF5RecordExporter (exporter only) pip install pyPhasesHDF5RecordExporter HDF5 storage backend (replaces Memmap)

Public dataset loaders

All require pyPhasesRecordloader as a base.

Package plugins: name Dataset Config key Install
pyphasesrecordloadershhs pyPhasesRecordloaderSHHS Sleep Heart Health Study (SHHS 1 & 2) shhs-path pip install pyPhasesRecordloaderSHHS
pyphasesrecordloadermesa pyPhasesRecordloaderMESA Multi-Ethnic Study of Atherosclerosis (MESA) mesa-path pip install pyPhasesRecordloaderMESA
pyphasesrecordloadermros pyPhasesRecordloaderMrOS MrOS Sleep Study mros-path pip install pyPhasesRecordloaderMrOS
pyphasesrecordloadercfs pyPhasesRecordloaderCFS Cleveland Family Study (CFS) cfs-path pip install pyPhasesRecordloaderCFS
pyphasesrecordloadersof pyPhasesRecordloaderSOF Study of Osteoporotic Fractures (SOF) pip install pyPhasesRecordloaderSOF
pyphasesrecordloaderHSP pyPhasesRecordloaderHSP Human Sleep Project (BIDS) hsp-path pip install pyPhasesRecordloaderHSP
pyphasesrecordloaderSleepEDF pyPhasesRecordloaderSleepEDF PhysioNet Sleep-EDF-X pip install pyPhasesRecordloaderSleepEDF
pyphasesrecordloaderCAP pyPhasesRecordloaderCAP PhysioNet CAP Sleep Database pip install pyPhasesRecordloaderCAP
pyphasesrecordloaderDOD pyPhasesRecordloaderDOD DREEM Open Datasets (DOD) pip install pyPhasesRecordloaderDOD
pyphasesrecordloaderphysionet2018 pyPhasesRecordloaderPhysioNet2018 PhysioNet 2018 Challenge pip install pyPhasesRecordloaderPhysioNet2018
pyphasesrecordloaderphysionet2023 pyPhasesRecordloaderPhysioNet2023 PhysioNet 2023 Challenge pip install pyPhasesRecordloaderPhysioNet2023
pyphasesrecordloaderPhysio2026 pyPhasesRecordloaderPhysioNet2026 PhysioNet 2026 Challenge pip install pyPhasesRecordloaderPhysioNet2026

Example project.yaml with multiple public loaders

plugins:
  - pyPhasesRecordloader
  - pyPhasesRecordloaderSHHS
  - pyPhasesRecordloaderMESA
  - pyPhasesRecordloaderMrOS
  - SleepHarmonizer
  - SleePyPhases

config:
  useLoader: shhs
  shhs-path: /data/shhs
  mesa-path: /data/mesa
  mros-path: /data/mros

Vendor / proprietary format loaders

Package plugins: name Vendor system Config key
pyphasesrecordloaderAlice pyPhasesRecordloaderAlice Philips Alice 6 alice-path
pyphasesrecordloaderDomino pyPhasesRecordloaderDomino SOMNOmedics Domino domino-path
pyphasesrecordloaderNox pyPhasesRecordloaderNox Nox Medical Noxturnal nox-path
pyphasesrecordloaderProfusion pyPhasesRecordloaderProfusion Compumedics Profusion profusion-path
pyphasesrecordloaderSonata pyPhasesRecordloaderSonata Sonata sonata-path
pyphasesrecordloaderdwc pyPhasesRecordloaderDWC DWC dwc-path

Vendor loaders are not published to PyPI. Install directly from the repository.

→ To configure a vendor loader: Vendor Config guide
→ To build a new loader: New Record Loader guide


Selecting the active loader at runtime

config:
  useLoader: shhs    # activates pyPhasesRecordloaderSHHS
# switch dataset without editing project.yaml
phases run --set useLoader=mesa Training