Metadata-Version: 2.1
Name: sleepecg
Version: 0.5.0
Summary: A package for sleep stage classification using ECG data
Home-page: https://github.com/cbrnr/sleepecg
Author: Florian Hofer
Author-email: hofaflo@gmail.com
Maintainer: Clemens Brunner
Maintainer-email: clemens.brunner@gmail.com
License: BSD 3-Clause License
Keywords: sleep,ecg,qrs,peak
Platform: UNKNOWN
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy (>=1.20.0)
Requires-Dist: requests (>=2.25.0)
Requires-Dist: scipy (>=1.6.0)
Requires-Dist: tqdm (>=4.59.0)
Requires-Dist: PyYAML (>=5.4.0)
Provides-Extra: cibw
Requires-Dist: mne (>=0.23.0) ; extra == 'cibw'
Requires-Dist: numba (>=0.53.0) ; extra == 'cibw'
Requires-Dist: pyEDFlib (>=0.1.25) ; extra == 'cibw'
Requires-Dist: wfdb (>=3.3.0) ; extra == 'cibw'
Provides-Extra: dev
Requires-Dist: furo (>=2022.1.2) ; extra == 'dev'
Requires-Dist: joblib (>=1.0.0) ; extra == 'dev'
Requires-Dist: matplotlib (>=3.4.0) ; extra == 'dev'
Requires-Dist: mne (>=0.23.0) ; extra == 'dev'
Requires-Dist: myst-parser (>=0.15.0) ; extra == 'dev'
Requires-Dist: numba (>=0.53.0) ; extra == 'dev'
Requires-Dist: numpydoc (>=1.1.0) ; extra == 'dev'
Requires-Dist: pandas (>=1.2.0) ; extra == 'dev'
Requires-Dist: pre-commit (>=2.13.0) ; extra == 'dev'
Requires-Dist: pyEDFlib (>=0.1.25) ; extra == 'dev'
Requires-Dist: pytest (>=6.2.0) ; extra == 'dev'
Requires-Dist: setuptools (>=56.0.0) ; extra == 'dev'
Requires-Dist: sphinx (>=4.1.0) ; extra == 'dev'
Requires-Dist: tensorflow (>=2.7.0) ; extra == 'dev'
Requires-Dist: wfdb (>=3.3.0) ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: furo ; extra == 'doc'
Requires-Dist: myst-parser ; extra == 'doc'
Requires-Dist: numpydoc ; extra == 'doc'
Requires-Dist: sphinx ; extra == 'doc'
Provides-Extra: full
Requires-Dist: joblib (>=1.0.0) ; extra == 'full'
Requires-Dist: matplotlib (>=3.4.0) ; extra == 'full'
Requires-Dist: mne (>=0.23.0) ; extra == 'full'
Requires-Dist: numba (>=0.53.0) ; extra == 'full'
Requires-Dist: pandas (>=1.2.0) ; extra == 'full'
Requires-Dist: tensorflow (>=2.7.0) ; extra == 'full'
Requires-Dist: wfdb (>=3.3.0) ; extra == 'full'

![Py Version](https://img.shields.io/pypi/pyversions/sleepecg.svg?logo=python&logoColor=white)
[![PyPI Version](https://img.shields.io/pypi/v/sleepecg)](https://pypi.org/project/sleepecg/)
[![conda-forge version](https://img.shields.io/conda/v/conda-forge/sleepecg.svg?label=conda-forge)](https://anaconda.org/conda-forge/sleepecg)
[![Docs](https://readthedocs.org/projects/sleepecg/badge/?version=latest)](https://sleepecg.readthedocs.io/en/stable/index.html)

# SleepECG
SleepECG provides tools for sleep stage classification when [EEG](https://en.wikipedia.org/wiki/Electroencephalography) signals are not available. Based only on [ECG](https://en.wikipedia.org/wiki/Electrocardiography) (and to a lesser extent also movement data), SleepECG provides functions for
- downloading and reading open polysomnography datasets,
- detecting heartbeats from ECG signals, and
- classifying sleep stages (which includes the complete preprocessing, feature extraction, and classification pipeline).


## Documentation
Documentation for SleepECG is available on [Read the Docs](https://sleepecg.readthedocs.io/en/stable/index.html).


## Installation
SleepECG is available on PyPI and can be installed with [pip](https://pip.pypa.io/en/stable/):
```
pip install sleepecg
```
Alternatively, install via [conda](https://docs.conda.io/en/latest/):
```
conda install -c conda-forge sleepecg
```

Optional dependencies provide additional features if installed:
- joblib≥1.0.0 (parallelized feature extraction)
- matplotlib≥3.4.0 (plot hypnograms and confusion matrices)
- mne≥0.23.0 (read data from [MESA](https://sleepdata.org/datasets/mesa), [SHHS](https://sleepdata.org/datasets/shhs))
- numba≥0.53.0 (JIT-compiled heartbeat detector)
- pandas≥1.2.0 (read data from [GUDB](https://berndporr.github.io/ECG-GUDB))
- tensorflow≥2.7.0 (sleep stage classification with keras models)
- wfdb≥3.3.0 (read data from [SLPDB](https://physionet.org/content/slpdb), [MITDB](https://physionet.org/content/mitdb), [LTDB](https://physionet.org/content/ltdb))

All optional dependencies can be installed with
```
pip install sleepecg[full]
```


## Contributing
The [contributing guide](https://github.com/cbrnr/sleepecg/blob/main/CONTRIBUTING.md) contains detailed instructions on how to contribute to SleepECG.


