Skip to content

Releases: medley56/space_packet_parser

5.0.1

09 Oct 00:40
Compare
Choose a tag to compare

What's Changed

  • Fix bug in representing falsy raw value in parsed _Parameters by @medley56 in #101
  • Fix bug in release pipeline prerelease regex by @medley56 in #102

Full Changelog: 5.0.0...5.0.1

5.0.0

03 Oct 21:44
Compare
Choose a tag to compare

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 of my_parser.generator, use my_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 to generator will need to pass a
      binary filelike object instead
  • BREAKING: The ParsedDataItem class has been removed and the derived values are being returned now.
    The raw_value is stored as an attribute on the returned object. The other items can be accessed
    through the packet definition object my_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 kwarg skip_header_bits to skip_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

Full Changelog: 4.2.0...5.0.0

5.0.0rc9

02 Oct 22:02
Compare
Choose a tag to compare
5.0.0rc9 Pre-release
Pre-release

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 library xml 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

Full Changelog: 4.2.0...5.0.0rc9

4.2.0

02 Apr 17:08
Compare
Choose a tag to compare

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

23 Dec 02:02
Compare
Choose a tag to compare

Patch to allow Python 3.12 compatibility

4.1.0

12 Oct 18:54
bef50e6
Compare
Choose a tag to compare

Documentation updates, with better examples and better troubleshooting help
More informative error reporting

4.0.2

14 Mar 20:40
Compare
Choose a tag to compare

Updated docbuilding for Read The Docs

Release 4.0.1

10 Mar 17:02
Compare
Choose a tag to compare

First release from open source repository.