- Expose detected segment (used in dejittering) as
stream["info"]["segments"]
(#117 by Robert Guggenberger) - A non-looping playback of an XDF file will no longer lead to a
TypeError
(#119 by Stefan Appelhoff) - Reported segments now have the correct sample stop, are no longer duplicated, and empty streams return segments as an empty array rather than [0, -1] (#121 by Jamie Forth)
- Test unduplicated reporting for segments (#123 by Robert Guggenberger, Clemens Brunner)
- Rename
pyxdf.examples
module topyxdf.cli
(#118 by Clemens Brunner) - Reverse logic of
--loop
argument inpyxdf.examples.playback_lsl.py
to be more in line with standard practice: Supplying--loop
will loop, whereas omitting--loop
will NOT loop (#119 by Stefan Appelhoff)
- Fix reading numeric array data on big-endian hosts (#98 by Ben Beasley)
- Add
clock_times
andclock_values
to stream dictionary (#105 by Fabian Grosch)
- Minimum required Python version is now 3.9 (#100 by Clemens Brunner)
- Added compatibility with Python 3.12 (#96 by Clemens Brunner)
- Fix invalid
np.object
type (#87 by Clemens Brunner) - Fix robust fit for large timestamps (#73 by Chadwick Boulay)
- Fix loading stream with no samples when
dejitter_timestamps=False
(#82 by Robert Guggenberger)
- Add Cython type hints (requires optional local compilation) (#17 by Tristan Stenner)
-
Handle XDF files with corrupt chunk headers (missing stream IDs) more gracefully (#62 by Robert Guggenberger)
-
Treat
nominal_srate
field as float to fix parsing errors (#65 by Robert Guggenberger and #68 by Clemens Brunner)
load_xdf
now requires keyword-only arguments after the first two arguments (#59 by Christian Kothe)
- Allow loading from already opened file objects, e.g. in-memory files or network streams (#51 by Tristan Stenner)
- Add CI tests with example data (#49 by Clemens Brunner)
- Compare nominal to effective sampling rates only for regularly sampled streams (#47 by Clemens Brunner)
- More robust error recovery for compressed corrupted files (#50 by Tristan Stenner)
- Speed up loading of numerical data (#46 by Tristan Stenner)
- Avoid/suppress some NumPy warnings (#48 by Clemens Brunner)
- Remove Python 2 compatibility from
setup.py
(#45 by Clemens Brunner)
- Add option to load only specific streams (#24 by Clemens Brunner)
- Add
verbose
argument toload_xdf
(#42 by Chadwick Boulay)
- Fix bug in jitter removal (#35 by Alessandro D'Amico)
- Add compatibility with Python 3.5 by converting Pathlike objects to str for file open functions (#37 by hankso)
- Refactor jitter removal code to be more readable (#36 by Chadwick Boulay)
- Store unique stream ID inside the
["info"]["stream_id"]
dict value (#19 by Clemens Brunner)
- Support pathlib objects (#7 by Clemens Brunner)
- Allow example script to be called with an optional XDF file name (e.g.
python -m pyxdf.example
orpython -m pyxdf.example xdf_file.xdf
) (#10 by Tristan Stenner)
- Use correct data types (#2 by Tristan Stenner)
- Streams are not sorted by name anymore (#3 by Clemens Brunner)
- Support older NumPy versions < 1.14 (#4 by Clemens Brunner)
- Pass correct on_chunk argument (#5 by Clemens Brunner)
- Fix
_scan_forward
(#6 by Clemens Brunner)
- Pull
StreamData
class and chunk 3 reader out ofload_xdf
(#13 by Tristan Stenner)