Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 1.17.5 instead.
Reason given by maintainers: Severe regression regarding effective sampling frequency and clock segments

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyxdf-1.17.1.tar.gz (30.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyxdf-1.17.1-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file pyxdf-1.17.1.tar.gz.

File metadata

  • Download URL: pyxdf-1.17.1.tar.gz
  • Upload date:
  • Size: 30.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.2

File hashes

Hashes for pyxdf-1.17.1.tar.gz
Algorithm Hash digest
SHA256 161044dec30410f5aa19691888b950cbe26c55adbacb72aa8c37bc518950302f
MD5 467979ea2263684c563fe65fda82240f
BLAKE2b-256 fa72df0104ddd963fc04d0a4b4e132b574075fd86d3b2475011ecf93da7362ee

See more details on using hashes here.

File details

Details for the file pyxdf-1.17.1-py3-none-any.whl.

File metadata

  • Download URL: pyxdf-1.17.1-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.2

File hashes

Hashes for pyxdf-1.17.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e08114265f5a4a081ebeb3fbdf2cf98f99628c00c40108bebb798e5b49159f9f
MD5 9d3ac15321d28b3b8721bd6a5da9ab99
BLAKE2b-256 d74ffbfc67b5577b530222d5708c15ad91c4a548e0964d04b2e31da416f67353

See more details on using hashes here.

Release history Release notifications | RSS feed

1.17.5

2 files

1.17.4

2 files

1.17.3

2 files

1.17.2

2 files

This release

1.17.1 This release

2 files

1.17.0

2 files

1.16.8

2 files

1.16.7

2 files

1.16.6

2 files

1.16.5

2 files

1.16.4

2 files

1.16.3

2 files

1.16.2

2 files

1.16.1

2 files

1.16.0

2 files

1.15.2

2 files

1.15.1

2 files

1.14.0

2 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