A tool for scoring sleep data from PSG and forehead EEG recordings.
Project description
NIDRA v0.2.3 - super simple sleep scoringAn easy way to use powerful machine learning models to autoscore sleep recordings with excellent accuracy. No programming required, but Python endpoints are available. NIDRA can accurately score recordings from 2-channel EEG wearables such as ZMax (using ezscore-f models), as well as full PSG recordings (using U-Sleep 2.0 via sleepyland).Please see the NIDRA Manual for a detailed user guide, installation, and examples.Download the NIDRA GUI installer for Windows 10/11Or install from PyPI:(clean virtual environment recommended)pip install nidraThen launch the GUI: nidraOr use as Python package: import NIDRA
scorer = NIDRA.scorer(
type = 'psg',
input = '/path/to/recording.edf'
)
scorer.score()
|
Features
- Uses state-of-the-art, validated, high-accuracy deep learning models to reliably classify sleep stages.
ezscore-fmodels for 2-channel EEG wearables (e.g., ZMax).u-sleep-nsrr-2024(U-Sleep 2.0) model for full polysomnography.- Simple point-and-click interface (GUI) for non-programmers.
- Flexible
NIDRA.scorer()endpoint for developers and data pipelines. - Autoscore single or multiple files or folders.
- Accepts in-memory numpy arrays for real-time applications.
- Automatic channel detection.
- Outputs sleep stages, classifier probabilities (hypnodensity), and sleep statistics.
- Visual reports with spectrograms and hypnograms.
- Runs on Windows, macOS, and Linux.
How to cite NIDRA
If you use NIDRA in your research, please cite both the NIDRA software itself and the paper for the specific model you used.
Zerr, P. (2025). NIDRA: super simple sleep scoring. GitHub. https://github.com/paulzerr/nidra
Attribution
ezscore-f (ez6 and ez6moe) models were developed by Coon et al., see:
Coon WG, Zerr P, Milsap G, Sikder N, Smith M, Dresler M, Reid M.
ezscore-f: A Set of Freely Available, Validated Sleep Stage Classifiers for Forehead EEG.
https://www.biorxiv.org/content/10.1101/2025.06.02.657451v1
https://ezgithub.com/coonwg1/ezscore
U-Sleep models were developed by Perslev et al., see:
Perslev, M., Darkner, S., Kempfner, L., Nikolic, M., Jennum, P. J., & Igel, C. (2021).
U-Sleep: resilient high-frequency sleep staging.
https://www.nature.com/articles/s41746-021-00440-5
https://github.com/perslev/U-Time
The U-Sleep model weights used in this repo were re-trained by Rossi et al., see:
Rossi, A. D., Metaldi, M., Bechny, M., Filchenko, I., van der Meer, J., Schmidt, M. H., ... & Fiorillo, L. (2025).
SLEEPYLAND: trust begins with fair evaluation of automatic sleep staging models.
https://arxiv.org/abs/2506.08574v1
https://github.com/biomedical-signal-processing/sleepyland
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nidra-0.2.3.tar.gz.
File metadata
- Download URL: nidra-0.2.3.tar.gz
- Upload date:
- Size: 3.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e0df0ce94f5376c7ae495aa32fa7a302173a8c1e4322e25cfb779d22c90acd0
|
|
| MD5 |
17808d540a2a97dbe71ea1dd8c304225
|
|
| BLAKE2b-256 |
36c6db2fb49b3e3cd3c2d500171bd444b939e10b73beee0b649823406f87b446
|
Provenance
The following attestation bundles were made for nidra-0.2.3.tar.gz:
Publisher:
build.yml on paulzerr/nidra
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nidra-0.2.3.tar.gz -
Subject digest:
2e0df0ce94f5376c7ae495aa32fa7a302173a8c1e4322e25cfb779d22c90acd0 - Sigstore transparency entry: 795589448
- Sigstore integration time:
-
Permalink:
paulzerr/nidra@0a564738039194f9049ae10faa01f0a06ae3993e -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/paulzerr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@0a564738039194f9049ae10faa01f0a06ae3993e -
Trigger Event:
push
-
Statement type:
File details
Details for the file nidra-0.2.3-py3-none-any.whl.
File metadata
- Download URL: nidra-0.2.3-py3-none-any.whl
- Upload date:
- Size: 3.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa413b41718215e60420af6b88486748c1cfa8159fc34f5e04a805f01319644e
|
|
| MD5 |
5aded5d0d83a997612d9e99654e11006
|
|
| BLAKE2b-256 |
11c8aa0bc0d36a29903c495d1fbbbdd12398c3e4e303baa0e9a3970a80318ae2
|
Provenance
The following attestation bundles were made for nidra-0.2.3-py3-none-any.whl:
Publisher:
build.yml on paulzerr/nidra
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nidra-0.2.3-py3-none-any.whl -
Subject digest:
aa413b41718215e60420af6b88486748c1cfa8159fc34f5e04a805f01319644e - Sigstore transparency entry: 795589489
- Sigstore integration time:
-
Permalink:
paulzerr/nidra@0a564738039194f9049ae10faa01f0a06ae3993e -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/paulzerr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@0a564738039194f9049ae10faa01f0a06ae3993e -
Trigger Event:
push
-
Statement type: