Releases: lasp/space_packet_parser
Releases · lasp/space_packet_parser
6.0.0rc2
What's Changed
- Final fix for release pipeline prerelease regex by @medley56 in #103
- BUGFIX: fix kbps calculation for generator when show_progress=True by @medley56 in #105
- Add documentation about raw vs normal values for parsed parameters by @medley56 in #106
- PERF: Reduce number of times findall is called on XML file by @greglucas in #113
- MNT: Change logger warning to UserWarning and ignore some inconsequential test warnings by @greglucas in #117
- MNT/ENH: Add a raw CCSDS packet generator by @greglucas in #107
- Add continuation packet support by @greglucas in #115
- Add a command line interface by @greglucas in #109
- Modify IMAP code to create generic xarray dataset from packet data file by @medley56 in #118
- Bugfix/in browser demo broken by @medley56 in #119
- Prep for 5.1.0rc1 release by @medley56 in #120
- Release/5.1.0rc1 by @medley56 in #121
- Release/5.1.0rc1 by @medley56 in #122
- fix path to JS script for sphinx to find it by @medley56 in #123
- MNT: Switch linting to ruff by @greglucas in #124
- CI: Add code coverage reports to external source by @greglucas in #125
- CI: Add id-token write permissions for codecov OIDC by @greglucas in #133
- Add workflow to run tests on any change to main and also daily on main by @medley56 in #134
- BUGFIX: update allowed float encodings to match XTCE standard by @cgobat in #127
- Add benchmarking to test suite by @medley56 in #126
- Add example for converting CCSDSPy CSV to an XtcePacketDefinition and demonstrate parsing data by @medley56 in #132
- MNT: Move parameter data types to common module by @greglucas in #139
- MNT: Add extras groups for easier installation of optional packages by @greglucas in #137
- Add pre-commit hooks by @greglucas in #138
- Ensure uniqueness of parsed SequenceContainer objects by @medley56 in #136
- CI: Run pre-commit and not just ruff by @greglucas in #142
- CI: Remove explicit linting job and use precommit.ci instead by @greglucas in #144
- Handle all namespace cases - default, prefixed, no namespace. by @medley56 in #143
- Minor tweaks to readme and metadata by @medley56 in #146
- CI: Try codecov with OIDC and avoid tokens by @greglucas in #149
- MNT: Add backcompat shim to ease transition to new packet file loading by @greglucas in #145
- PERF: Use direct bitshift logic instead of _extract_bits function by @greglucas in #150
- Improve error message for float returned from LinearAdjuster by @medley56 in #148
- Remove errant import line in user docs page by @medley56 in #152
- Package for Anaconda by @medley56 in #153
- Fix recursive search during sigstore signing step of release pipeline by @medley56 in #155
- Bump to 6.0.0rc2 by @medley56 in #156
Full Changelog: 5.0.1...6.0.0rc2
5.1.0rc1
What's Changed
- Final fix for release pipeline prerelease regex by @medley56 in #103
- BUGFIX: fix kbps calculation for generator when show_progress=True by @medley56 in #105
- Add documentation about raw vs normal values for parsed parameters by @medley56 in #106
- PERF: Reduce number of times findall is called on XML file by @greglucas in #113
- MNT: Change logger warning to UserWarning and ignore some inconsequential test warnings by @greglucas in #117
- MNT/ENH: Add a raw CCSDS packet generator by @greglucas in #107
- Add continuation packet support by @greglucas in #115
- Add a command line interface by @greglucas in #109
- Modify IMAP code to create generic xarray dataset from packet data file by @medley56 in #118
- Bugfix/in browser demo broken by @medley56 in #119
- Prep for 5.1.0rc1 release by @medley56 in #120
- Release/5.1.0rc1 by @medley56 in #121
Full Changelog: 5.0.1...5.1.0rc1
5.0.1
5.0.0
What's Changed
- BREAKING: Main API changed. No need to create separate definition and parser objects any more. Create only a
definition from your XTCE document and instead ofmy_parser.generator
, usemy_packet_definition.packet_generator
. - BREAKING: Removed CSV-based packet definition support. We may indirectly support this in the future via
a utility for converting CSV definitions to XTCE. - BREAKING: Separated out logical pieces into separate modules rather than everything
living within the xtcedef module. This means user imports may be different now. - BREAKING: Replace
bitstring
objects with native Python bytes objects- Remove dependency on the
bitstring
library - Much faster parsing speed
- Users that are passing
bitstring.ConstBitStream
objects togenerator
will need to pass a
binary filelike object instead
- Remove dependency on the
- BREAKING: The
ParsedDataItem
class has been removed and the derived values are being returned now.
Theraw_value
is stored as an attribute on the returned object. The other items can be accessed
through the packet definition objectmy_packet_definition.named_parameters["my_item"].short_description
- BREAKING: The return type of BinaryDataEncoding is now the raw bytes.
To get the previous behavior you can convert the data to an integer and then format it as a binary string.
f"{int.from_bytes(data, byteorder='big'):0{len(data)*8}b}"
- BREAKING: Removed
word_size
kwarg from packet generator method.
We expect all binary data to be integer number of bytes. - BREAKING: Changed
packet_generator
kwargskip_header_bits
toskip_header_bytes
. - Fixed incorrect parsing of StringDataEncoding elements. Raw string values are now returned as byte buffers.
Derived string values contain python string objects. - The
CCSDSPacket
class is now a dictionary subclass, enabling direct lookup of items from the Packet itself. - A
RawPacketData
class has been added that is a subclass of bytes. It keeps track of the current
parsing location and enables reading of bit lengths as integers or raw bytes. - Fix EnumeratedParameterType to handle duplicate labels
- Add error reporting for unsupported and invalid parameter types
- Add support for MIL-1750A floats (32-bit only)
New Contributors
- @laspsandoval made their first contribution in #50
- @cgobat made their first contribution in #18
Full Changelog: 4.2.0...5.0.0
5.0.0rc9
What's Changed
- Add example of variable length field calculations to documentation by @laspsandoval in #50
- ENH: Change parsing logic to bytes manipulation directly by @greglucas in #51
- FIX: Enumerated parameter lookup of duplicate labels by @greglucas in #54
- MNT: Use direct operator evaluation rather than eval() by @greglucas in #52
- Add error handling for invalid/unknown parameter type by @medley56 in #42
- Fix Unit Tests Relying on ConstBitStream to use PacketData Instead by @medley56 in #58
- Remove bitstring dependency by @greglucas in #59
- Add pycodestyle as dev dependency by @medley56 in #60
- Use
lxml
instead of standard libraryxml
to improve namespace identification by @cgobat in #18 - Add straightforward endianness implementation; accommodate all allowable string encodings by @cgobat in #26
- Add a Parseable Protocol and parse method by @greglucas in #53
- FIX: Return the raw bytes from a BinaryDataEncoding by @greglucas in #61
- MNT: Simplify the string parsing termination character handling by @greglucas in #62
- Faster value parsing by @greglucas in #63
- Unify packet class by @greglucas in #67
- Support MIL-1750A Float Encoding by @medley56 in #69
- Refactor modules by @greglucas in #68
- DOC: Add in-browser capability by @greglucas in #71
- MNT: Turn some position arguments into keyword-only by @greglucas in #77
- MNT: Make packet class be a mapping based on data items by @greglucas in #70
- Remove CSV parsing code by @medley56 in #78
- Refactor API and Move Parser Methods to XtcePacketDefinition Class by @medley56 in #79
- Parser read method by @greglucas in #82
- CI: Add windows and macos tests by @greglucas in #83
- REL/CI: Automate release workflow by @greglucas in #84
- Fix Incorrect String Parsing by @medley56 in #85
New Contributors
- @laspsandoval made their first contribution in #50
- @cgobat made their first contribution in #18
Full Changelog: 4.2.0...5.0.0rc9
4.2.0
Changes in this release:
- Parse short and long descriptions of parameters
- Implement equality checking for SequenceContainer objects and Parameter objects
- Include parameter short description and long description in ParsedDataItems
- Add support for AbsoluteTimeParameterType and RelativeTimeParameterType
- Add support for BooleanParameterType
- Drop support for bitstring <4.0.1
- Support BooleanExpression in a ContextCalibrator
- Default read size is changed to a full file read on file-like objects
4.1.1
4.1.0
4.0.2
Release 4.0.1
First release from open source repository.