SleePyPhases
  • Tutorial
    • Overview
    • Core pyPhases Concepts
    • Create a Project
    • Load Data
    • Dataset Splits
    • Classification Specification
    • Preprocess Signals
    • Manipulate Data
    • Define a Model
    • Train
    • Evaluate
  • Guides
    • New Record Loader
    • Vendor Config YAML
    • Signal Exporter
    • Swappable Classes
    • Adding Custom Label Channels
    • Use a Published Study
  • Reference
    • Config System
    • Config Keys

SleePyPhases

Open-source framework for reproducible sleep ML pipeline development

SleePyPhases is an open-source Python framework providing unified access to multiple sleep data repositories. It offers integrated data harmonization, configuration-based preprocessing, and the development of machine learning pipelines.

Built on top of pyPhases — a config-driven pipeline framework where every experiment is described by a single project.yaml file and every intermediate result is cached and reproducible.

Start here

Build a sleep ML study

Follow the step-by-step tutorial using the spp-example project: from loading SleepEDF data to training and evaluating a CNN sleep stager.
→ Tutorial: Sleep Study

Add a new dataset

Build a record-loader package for your PSG device or configure an existing vendor device with a YAML file.
→ New Record Loader · Vendor Config

Integrate and publish a new sleep study (HuggingFace, GitLab, Docker, PyPI)

Load a pre-trained PPG-based sleep stager from HuggingFace and run inference on your own recordings in minutes.
→ Integrate a Study

Run a published sleep study

Load a pre-trained PPG-based sleep stager from HuggingFace and run inference on your own recordings in minutes.
→ Use a Published Study


Ecosystem

graph TD
    subgraph Core["Core Layer"]
        PY[pyPhases<br/><i>Phase - Config - Project</i>]
        PH[phases<br/><i>CLI - project.yaml runner</i>]
        PY -->|required by| PH
    end

    subgraph Plugins["Extension Plugins"]
        ML[pyPhasesML<br/><i>PyTorch / TensorFlow</i>]
        RL[pyPhasesRecordloader<br/><i>Unified signal base</i>]
        SH[SleepHarmonizer<br/><i>PSG harmonization</i>]
        PY --> ML
        PY --> RL
    end

    subgraph Loaders["Optional Dataset Loaders"]
        SEDF[...SleepEDF<br/><i>dataset</i>]
        ALICE[pyPhasesRecordloaderAlice<br/><i>vendor</i>]
    end

    SPY[SleePyPhases<br/><i>sleep ml framework</i>]
    YOU[<b>Your Study</b>]
  

    RL -.->|plugin| SEDF
    RL -.->|plugin| ALICE
    RL --> SH
    PH --> SPY
    ML --> SPY
    SH --> SPY
    SPY --> YOU
    SEDF -.->|loaded via project.yaml| SH
    ALICE -.->|loaded via project.yaml| SH
    SEDF -.->|loaded via project.yaml| YOU
    ALICE -.->|loaded via project.yaml| YOU


Package overview

Package (PyPi) Role
pyPhases Foundation — Phase, Config, Project, Exporter
phases CLI — phases create, phases run
pyPhasesML ML extension — PyTorch / TensorFlow model manager
pyPhasesRecordloader Signal loading base — EDF, H5, MAT, WFDB
SleepHarmonizer PSG channel / annotation harmonization
SleePyPhases Multi-dataset sleep research framework

→ Full table with all dataset loaders: Plugins & Loaders reference

TU Dresden / sleep-is-all-you-need group — MIT License

 
  • Report an issue