Skip to content

Releases: xdf-modules/pyxdf

v1.17.3

20 Jan 14:34
9bccae8

Choose a tag to compare

This is a bug-fix release that adjusts the handling of certain anomalous XDF files introduced in v1.17.2, eliminating spurious warnings and unintended behavior.

v1.17.2

07 Jan 14:45
86794ed

Choose a tag to compare

This release contains all contributions from the yanked v1.17.1 release (and of course a fix for the regression that was shipped in v1.17.1) plus additional new features, changes, and fixes. In more detail, here's what's new:

  • The match_streaminfos function has gained a case_sensitive parameter (which defaults to True to maintain previous behavior). If case_sensitive=False, stream properties are matched more leniently.
  • Detected clock segments (used in synchronization) are now exposed as stream["info"]["clock_segments"].
  • Dejittering now also segments at negative time intervals by considering the absolute time difference. This improves the process and yields better results for many real-world files.

This release also fixes several major bugs, including:

  • The effective sample rate is now consistently calculated as (len(time_stamps) - 1) / duration.
  • File playback works again when not looping.
  • A clock synchronization issue that could result in severely incorrect timestamps when an outlet closed before the inlet has been fixed. Although this is an upstream LSL issue which will hopefully be resolved soon, we have implemented a fix to correctly read existing affected files.

As always, please refer to our CHANGELOG.md for a more detailed list of changes.

⚠️ [YANKED] v1.17.1

13 Oct 09:51
1ef0ad9

Choose a tag to compare

This release contains several bug fixes and improvements related to synchronization, calculating the effective sampling rate, and initializing emtpy streams. We've also included new features: first, match_streaminfos gained a case_sensitive parameter (defaulting to False to maintain previous behavior), and second, detected clock segments are now exposed as stream["info"]["clock_segments"].

⚠️ YANKED: This release was yanked from PyPI on 2025-10-27 due to a severe regression regarding effective sampling frequency and clock segments calculation. Please use version v1.17.0 or v1.17.2 or later (when available) instead.

v1.17.0

07 Jan 12:13
84be818

Choose a tag to compare

This release exposes auto-detected continuous segments in a stream with interruptions as stream["info"]["segments"]. We've also renamed the pyxdf.examples module to pyxdf.cli, and pyxdf.cli.playback_lsl.py will only loop playback when passing the --loop argument.

v1.16.8

18 Jul 07:18
037d1da

Choose a tag to compare

This bugfix release resolves an issue on big-endian machines.

v1.16.7

17 Jul 14:31
7a94b19

Choose a tag to compare

In this release, we added clock_times and clock_values to the stream dictionary.

v1.16.6

18 Apr 07:35
0e7f623

Choose a tag to compare

Bump minimum required Python version to 3.9.

v1.16.5

12 Jan 07:27
c48301d

Choose a tag to compare

This release adds support for Python 3.12.

v1.16.4

10 Jan 07:15
b3e19e0

Choose a tag to compare

This release contains some bug fixes that keep the package fresh (for details, see our CHANGELOG).

v1.16.3

07 Aug 18:39
59350e2

Choose a tag to compare

This release fixes two bugs so that even more XDF files from the wild can be successfully loaded.