You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using a record after its reader, buffer or trace list is closed, or after a later parse error, now raises ValueError instead of reading freed memory. This covers MS3Record, MS3TraceID, MS3TraceSeg, MS3RecordList and MS3RecordPtr.
Sample and raw-record views now keep their MS3Record alive.
MiniSEEDError only includes libmseed messages from the failing call.
An empty file is read as containing no records by every reader. Previously MS3Record.from_file() and MS3TraceList.from_file()/add_file() raised an error.
Fix a spurious AttributeError warning when MS3Record() construction fails.
Added
Type annotations and a py.typed marker for type checkers.
Contributing sections in README.md and development.md.
Links to the PyPI and conda-forge pages, and the version, in the docs.
Changed
Options to MS3RecordReader, MS3Record.from_buffer()/from_filelike()/parse()/parse_into()/generate()/to_file(), and the matching MS3TraceList methods are now keyword-only.
MS3Record.set_extra_header() raises TypeError for an unsupported value type.
with_datasamples() raises ValueError for a text sample that is not exactly one byte.
MS3RecordReader/MS3Record.iter_records() reject bool as a file descriptor.
validate_extra_headers()/valid_extra_headers() accept os.PathLike, and buffer parameters accept any buffer-protocol object.
Empty numpy sample arrays use the record's sample dtype instead of float64.
Faster record iteration, MS3Record.from_filelike(), with_datasamples() and MS3RecordValidator.validate().
Building from source requires setuptools>=77.
Removed
MS3Record.pack() and MS3TraceList.pack(); use generate().