$npx skillfedfor your agent

edfio

Read and write EDF/EDF+C/BDF/BDF+C files.

Worth itPyPI Scientific/EngineeringReleased Jul 202692.5K downloads / moApache-2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — edfio-0.4.16-py3-none-any.whl
v0.4.16 · released 2026-07-31 · Python >=3.9 · 2 runtime deps: numpy, typing-extensions

Yes. edfio is actively maintained, has no known vulnerabilities, low install friction, and fills a clear niche for EDF/BDF file handling in Python. It is suitable for production use in biomedical signal processing workflows if your use case does not require discontiguous file support or non-integer-duration slicing.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python>=3.9 and NumPy>=1.22; slicing to non-integer-multiple timespans of data record duration is not supported.
  • Low install friction: pure Python wheel with only numpy and typing-extensions as runtime dependencies.
  • Active maintenance with a release 14 days ago and commits through August 2026.

License · maintenance · safety

Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.

last release 2026-07-31 (14 days) · last repo commit 2026-08-10 · 39 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 92,544 downloads/mo, #13,445 on PyPI

Verify before relying

pip install edfio

from edfio import read_edf
edf = read_edf("example.edf")

# Or create and write:
import numpy as np
from edfio import Edf, EdfSignal
edf = Edf([EdfSignal(np.random.randn(30 * 256), sampling_frequency=256, label="EEG")])
edf.write("output.edf")
  • Performance characteristics for files larger than a few GB and whether 'seconds' speed claim is typical or best-case.
  • Whether 'fail late on read' behavior is appropriate for your use case or if early validation is needed.
Same gist for agents: .md · .json

What it is and what it does

edfio is a Python library for reading and writing EDF (European Data Format) and related biomedical signal files—formats widely used in EEG, sleep studies, and other physiological recording domains. It wraps NumPy for fast I/O, allowing you to load and save gigabyte-scale recordings, manipulate signal and recording metadata, drop or anonymize signals, slice by time or annotation, and work with both standard EDF and the extended EDF+ and BDF variants. The library uses an object-oriented design with full type annotations, making it IDE-friendly, and includes 100% test coverage.

The package trades some flexibility for safety: on read, it tolerates non-compliant headers and only raises exceptions when you access the problematic field; on write, it validates upfront to prevent creating invalid files. It does not enforce the EDF spec's recommended 61440-byte data record size limit, and discontiguous (EDF+D) files are treated as contiguous. Slicing to non-integer multiples of the data record duration is not supported.

Use it for

  • Load EEG or polysomnography recordings from clinical EDF files for signal processing or machine learning pipelines.
  • Convert or migrate between EDF, EDF+C, BDF, and BDF+C formats while preserving or modifying annotations.
  • Anonymize patient recordings by dropping or modifying signal headers and metadata before sharing.
  • Slice multi-hour sleep studies into shorter segments aligned to annotation events (e.g., sleep stages).
  • Build a data pipeline that reads raw biomedical signals, modifies headers, and writes compliant output files.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

edfio is actively maintained, has no known vulnerabilities, low install friction, and fills a clear niche for EDF/BDF file handling in Python. It is suitable for production use in biomedical signal processing workflows if your use case does not require discontiguous file support or non-integer-duration slicing.

Install

edfio on PyPI

Before you install

Low install friction: pure Python wheel with only numpy and typing-extensions as runtime dependencies. Active maintenance with a release 14 days ago and commits through August 2026.

Requires Python>=3.9 and NumPy>=1.22; slicing to non-integer-multiple timespans of data record duration is not supported.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.

Quickstart

pip install edfio

from edfio import read_edf
edf = read_edf("example.edf")

# Or create and write:
import numpy as np
from edfio import Edf, EdfSignal
edf = Edf([EdfSignal(np.random.randn(30 * 256), sampling_frequency=256, label="EEG")])
edf.write("output.edf")

Verify before relying

  • Performance characteristics for files larger than a few GB and whether 'seconds' speed claim is typical or best-case.
  • Whether 'fail late on read' behavior is appropriate for your use case or if early validation is needed.

Package facts

LicenseApache-2.0 permissive
Python supportSupports the current Python release >=3.9
Install frictionLow. Pure-Python wheel
Runtime dependencies
2 packages
numpytyping-extensions
MaintenanceActively maintained 14 days since the last release
Last repo commit
First released
Downloads92,544 / month, #13,445 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9

Evidence: edfio-0.4.16-py3-none-any.whl

Tags

Capabilities
EDF file reader writerEDF+ format supportBDF biosemi filesphysiological signal formatEEG data file handlingbiomedical signal I/OEDF annotation support
Topics
biomedical-signalsfile-formateeg-data

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 › “EDF file reader writer”

  • edfioedfio reads and writes EDF, EDF+C, BDF, and BDF+C files—standard…
  • pyEDFlibpyEDFlib reads and writes EDF+/BDF+ biomedical signal files, with…
  • fabioFabIO reads and writes 2D X-ray detector images in 30 different…

Give your agent the search over MCP, or paste the wish link into any chat.

More Scientific/Engineering packages

numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
pandas Worth it
PyPI · Scientific/Engineering · released Jul 2026

pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.

BSD-3-Clausecompiled wheel · 3.11+
769.1Mdownloads / mo
scipy Worth it
PyPI · Libraries · released Jun 2026

scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.

BSD-3-Clausecompiled wheel · 3.12+
449.0Mdownloads / mo
scikit-learn Worth it
PyPI · Software Development · released Jun 2026

scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.

Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.

BSD-3-Clausecompiled wheel · 3.11+
235.5Mdownloads / mo
dill Worth it
PyPI · Software Development · released Jan 2026

dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.

BSD-3-Clausepure Python · 3.9+
208.1Mdownloads / mo
multiprocess Worth it
PyPI · Software Development · released Jan 2026

Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.

Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.

BSD-3-Clausepure Python · 3.9+
202.7Mdownloads / mo

See also pyEDFlib · wfdb · SigMF · neurokit2 · edn-format · bioc · fabio · neo · mne-bids · pyPPG