wfdb
The WFDB Python package: tools for reading, writing, and processing physiologic signals and annotations.
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and is licensed permissively. It is the standard Python tool for WFDB format I/O in biomedical research. Install it if you work with physiologic signals in WFDB format or need to integrate PhysioNet datasets into Python workflows.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- On some systems, libsndfile must be installed separately for soundfile support; see soundfile installation notes.
- Low friction: pure Python wheel with eight common scientific dependencies (numpy, scipy, pandas, matplotlib, aiohttp, fsspec, requests, soundfile).
- Active maintenance with a recent release 192 days ago and 847 repository stars.
License · maintenance · safety
MIT License (permissive) — MIT License permits unrestricted use, modification, and distribution in both open-source and commercial contexts with minimal attribution requirements.
last release 2026-02-03 (192 days) · last repo commit 2026-06-30 · 847 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 247,228 downloads/mo, #8,697 on PyPI
Alternatives
Verify before relying
pip install wfdb
import wfdb
record = wfdb.rdrecord('path/to/record')
wfdb.plot_wfdb(record=record)- Whether the package can handle real-time streaming of physiologic signals or is limited to file-based I/O.
- Performance characteristics and maximum dataset size the package handles efficiently.
- Extent of annotation format support beyond the core WFDB specification.
What it is and what it does
WFDB is a Python library for working with physiologic signal data in the Waveform Database format, a standard used in biomedical research and clinical applications. It provides core I/O functionality to read and write signal files and annotations, along with processing and visualization capabilities built on numpy, scipy, pandas, and matplotlib. The package is inspired by the original WFDB Software Package but operates as an independent project adhering to the WFDB specification.
Typical use involves loading time-series physiologic data (such as ECG, EEG, or other biomedical signals) from WFDB-formatted files, manipulating or analyzing the signals using standard scientific Python tools, and generating plots or exporting results. It integrates with the broader scientific Python ecosystem through its dependencies, making it suitable for research workflows, clinical data analysis, and signal processing pipelines that work with standardized physiologic datasets.
Use it for
- Load and analyze ECG or EEG recordings from PhysioNet datasets for research or clinical validation studies.
- Convert physiologic signal data between WFDB format and other formats (via numpy/pandas integration) for cross-platform analysis.
- Visualize multi-channel biomedical signals with annotations to inspect data quality or identify events.
- Process batch collections of physiologic records for feature extraction or machine-learning pipelines.
- Read signal annotations (e.g., beat markers, arrhythmia labels) alongside raw waveforms for supervised learning tasks.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, installs with low friction, and is licensed permissively. It is the standard Python tool for WFDB format I/O in biomedical research. Install it if you work with physiologic signals in WFDB format or need to integrate PhysioNet datasets into Python workflows.
Install
wfdb on PyPI
Before you install
Low friction: pure Python wheel with eight common scientific dependencies (numpy, scipy, pandas, matplotlib, aiohttp, fsspec, requests, soundfile). Active maintenance with a recent release 192 days ago and 847 repository stars.
On some systems, libsndfile must be installed separately for soundfile support; see soundfile installation notes.
License in practice
MIT License permits unrestricted use, modification, and distribution in both open-source and commercial contexts with minimal attribution requirements.
Quickstart
pip install wfdb
import wfdb
record = wfdb.rdrecord('path/to/record')
wfdb.plot_wfdb(record=record)
Verify before relying
- Whether the package can handle real-time streaming of physiologic signals or is limited to file-based I/O.
- Performance characteristics and maximum dataset size the package handles efficiently.
- Extent of annotation format support beyond the core WFDB specification.
Package facts
| License | MIT License permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 8 packagesaiohttpfsspecmatplotlibnumpypandasrequestsscipysoundfile |
| Maintenance | Actively maintained 192 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 247,228 / month, #8,697 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: wfdb-4.3.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “physiologic signal processing”
- wfdbRead, write, process, and plot physiologic signal and annotation data…
- doppler-dspProvides a C99 digital signal processing library with Python…
- neurokit2NeuroKit2 processes physiological signals (ECG, RSP, EDA, EMG, PPG,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Information Analysis packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyarrow provides Python bindings to Apache Arrow's C++ libraries for efficient columnar data processing, serialization, and interoperability with pandas, NumPy, and other Python ecosystem tools.
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
Snowpark Python provides APIs to query and process data directly in Snowflake without moving data to your local system, with support for both native Snowpark and pandas-compatible interfaces.
Install it if you use Snowflake and want to process data without moving it to your application layer.
See also bioc · edfio · neurokit2 · pyPPG · obspy · soundfile · pyjls · doppler-dsp · pyEDFlib · audiofile