Skip to main content

Latest PyPI Release Latest Conda Release Python 3.9+ License

pyXDF

pyXDF is a Python importer for XDF files.

Sample usage

import matplotlib.pyplot as plt
import numpy as np

import pyxdf

data, header = pyxdf.load_xdf("test.xdf")

for stream in data:
    y = stream["time_series"]

    if isinstance(y, list):
        # list of strings, draw one vertical line for each marker
        for timestamp, marker in zip(stream["time_stamps"], y):
            plt.axvline(x=timestamp)
            print(f'Marker "{marker[0]}" @ {timestamp:.2f}s')
    elif isinstance(y, np.ndarray):
        # numeric data, draw as lines
        plt.plot(stream["time_stamps"], y)
    else:
        raise RuntimeError("Unknown stream format")

plt.show()

CLI examples

pyxdf has a cli module with the following basic command line tools:

  • print_metadata will enable a DEBUG logger to log read messages, then it will print basic metadata for each found stream.
    • python -m pyxdf.cli.print_metadata -f=/path/to/my.xdf
  • playback_lsl will open an XDF file, then replay its data in an infinite loop, but using current timestamps. This is useful for prototyping online processing.
    • python -m pyxdf.cli.playback_lsl /path/to/my.xdf --loop

Installation

The latest stable version can be installed with pip install pyxdf.

For the latest development version, use pip install git+https://github.com/xdf-modules/pyxdf.git.

For maintainers

A new release is automatically uploaded to PyPI. Therefore, as soon as a new release is created on GitHub (using a tag labeled e.g. v1.16.3), a PyPI package is created with the version number matching the release tag.

Metadata

Release files for pyxdf 1.17.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyxdf 1.17.0
File Size Uploaded
pyxdf-1.17.0.tar.gz 20.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyxdf 1.17.0
File Interpreter ABI Platform
pyxdf-1.17.0-py3-none-any.whl Python 3 none any Details

Total release size: 39.0 kB

Release files / pyxdf-1.17.0.tar.gz

Download URL pyxdf-1.17.0.tar.gz
Size 20.2 kB
Tags Source
SHA-256 checksum
How to use checksums
9980c5506945632fcb27cca899e4db12b156d70fc31c703d3fdb2f0870dbaee9
BLAKE2b-256 checksum
How to use checksums
ea6792ddc296e1b25f421983c5e58fb59f85a26350af9805359b356abbf6337e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.5.15

Release files / pyxdf-1.17.0-py3-none-any.whl

Download URL pyxdf-1.17.0-py3-none-any.whl
Size 18.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a651ab64283e05b4ea98e403aeb6b695e83902d2a1f3c43fa80f9679c91f023f
BLAKE2b-256 checksum
How to use checksums
2570d56d7f4c0bc61e35b83ec949b34393e845d8b68f52f6b290b3186e4b24c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.5.15

Release history Release notifications | RSS feed

1.17.5

2 release files

1.17.4

2 release files

1.17.3

2 release files

1.17.1

2 release files

This release

1.17.0 This release

2 release files

1.16.8

2 release files

1.16.7

2 release files

1.16.6

2 release files

1.16.5

2 release files

1.16.4

2 release files

1.16.2

2 release files

1.16.1

2 release files

1.16.0

2 release files

1.15.1

2 release files

1.14.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page