WFDB defines a set of open standards and software tools for the storage, sharing, and analysis of physiologic signal and annotation data. It has been widely used for decades to support biomedical research, clinical studies, and education. For more information on WFDB and its various implementations, see the WFDB website.
This package is heavily inspired by the original WFDB Software Package. It aims to replicate many of its command-line APIs in Python, but there is no promise of consistency between the two. Core I/O functionality is based on the Waveform Database (WFDB) specifications.
- WFDB Website: https://wfdb.mit.edu/
- WFDB-Python Documentation: http://wfdb.readthedocs.io
- WFDB Specification: https://github.com/wfdb/wfdb-spec/
- Demo Notebook: https://github.com/MIT-LCP/wfdb-python/blob/main/demo.ipynb
- WFDB Development Repository: https://github.com/MIT-LCP/wfdb-python
The distribution is hosted on PyPI at: https://pypi.python.org/pypi/wfdb/. The package can be directly installed from PyPI using pip:
pip install wfdbAlternatively, add it to a project managed with uv:
uv add wfdbOn some less-common systems, you may need to install libsndfile separately. See the soundfile installation notes for more information.
The development version is hosted at: https://github.com/MIT-LCP/wfdb-python. This repository also contains demo scripts and example data. To set up a development environment, install uv, clone the repository, navigate to the base directory, and run:
uv syncThis creates a virtual environment in .venv containing the package and all development tools. Commands can then be run inside this environment with uv run, for example:
uv run pytestPlease see the DEVELOPING.md document for contribution/development instructions.
For guidance on creating a new release, see: https://github.com/MIT-LCP/wfdb-python/blob/main/DEVELOPING.md#creating-distributions
When using this resource, please cite the software publication on PhysioNet.
