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 an examples module, which can be run from the command line for basic functionality.
print_metadatawill enable a DEBUG logger to log read messages, then it will print basic metadata about each found stream.python -m pyxdf.examples.print_metadata -f=/path/to/my.xdf
playback_lslwill 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.examples.playback_lsl /path/to/my.xdf
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.16.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyxdf-1.16.8.tar.gz | 21.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyxdf-1.16.8-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 38.8 kB
Release files / pyxdf-1.16.8.tar.gz
| Download URL | pyxdf-1.16.8.tar.gz |
|---|---|
| Size | 21.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c75db4e42b46bd8dbd69ff7ab190d7a461f55e28e2ff8279d5136d57f7849f6
|
|
BLAKE2b-256 checksum How to use checksums |
fe4ab9cf5def63e63ed2faa08533ff8c5e38443ddc101b82ddfce584b1d071e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|
Release files / pyxdf-1.16.8-py2.py3-none-any.whl
| Download URL | pyxdf-1.16.8-py2.py3-none-any.whl |
|---|---|
| Size | 17.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
8745e4b41aae974d7327cd35ebeeed84cc010991200078ef3dead20e1e79bf2d
|
|
BLAKE2b-256 checksum How to use checksums |
c3224aa399b40a10a77e2594b8bf3063443a92b25d4c8bcc00303a49405c3188
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|