Full Changelog¶
Notable changes to this project will be documented in this file. The format is based on Keep a Changelog.
The next version of CCSDSPy will be 2.0.0, which include integration with the logging module.
Version 1.4.3 - 2025-11-06¶
Add explicit support up to Python 3.13.
Version 1.4.2 - 2025-06-08¶
Fixed bug in
pkt.load()whereIndexErrorwould be thrown when <6 bytes of garbage at ened of file (Issue #139)Fixed bug in
utils.split_by_apid()whereIndexErrorwould be thrown when <6 bytes of garbage at end of file (Discussion #105)
Version 1.4.1 - 2025-03-19¶
Updates the
ccsdspy.utils.validate()function so that packets are split by APID before primary headers data is parsed. This change allows for more accurate validation of the primary headers and APIDs.This removes potentially misleading warnings from
read_primary_headersfor having multiple apids, having missing or out of order sequence counts.
Version 1.4.0 - 2025-03-05¶
Enhanced Docstrings to call out
RaisesandWarnsUpdated sphinx docs to include descriptions of file and packet checks when loading files.
Introduced new
utils.validate()function for high-level validation of CCSDS packet files:
Checks file integrity (e.g., truncation or extra bytes) and header consistency.
Returns a list of warnings or exceptions (e.g., “UserWarning: File appears truncated” or “UserWarning: Found unknown APID”) encountered during validation.
Supports optional
valid_apidsparameter to warn about unexpected APIDs.
Version 1.3.3 - 2025-01-31¶
Fix bug where
converters.PolyConverterandconverters.LinearConverterwould raise an exception when the field array was unsigned and coefficient was negative (Issue #132)
Version 1.3.2 - 2024-10-17¶
Add support for NumPy >2.0, while maintining support for <2.0
Fix link to bluebook and update sequence control field
Version 1.3.1 - 2024-07-30¶
Pin NumPy under 2.0 to Dependencies (Support for NumPy 2 will come at a later date)
Version 1.3.0 - 2024-05-24¶
Added support for custom byte orderings in
ccsdspy.PacketFieldandccsdspy.PacketArray. You can now pass strings likebyte_order="3412"in addition tobyte_order="big"andbyte_order="little". (Discussion #110)Implement loading variable length packets from CSV (Issue #115)
Add documentation page: Loading Packet Definitions from a CSV File
Accept CCSDS header fields as converter inputs (PR #118)
Add support
pkt.load(fh, reset_file_obj=True)keyword argument which resets file handle to original position before loading (Issue #111)
Version 1.2.1 - 2023-11-26¶
Version 1.2.0 - 2023-09-27¶
Add new class
StringifyBytesConverter, which can be used to inspect individual bytes in string representations such as binary, hexadecimal, or octal. For an introduction to post-processing transformations, see the documentation at Post-Processing Transformations.Fixed issue with parsing signed integers that are not aligned to byte boundaries (Issues #80 and #76)
Corrected several spelling errors and typos in the documentation.
Version 1.1.0 - 2023-04-11¶
Added a
converterssystem, which applies post-process to decoded packet fields. This post-processing includes applying linear/polynomial calibration curves, dictionary replacement, and time parsing. See the documentation at Post-Processing Transformations.Major extensions to
VariableLengthclass to support arrays whose length is determined by another field. See documentation at Variable Length Packets.Added the following utility functions to the
ccsdspy.utilsmodule. See documentation at Utilities.Add warnings when issues are detected in the primary headers when loading data. Warnings are issued in the following scenarios. This information can also be found in the documentation for the
load()method.
UserWarning: The CCSDS sequence count headers are not in order
UserWarning: The CCSDS sequence count headers indicate missing packets
UserWarning: There was more than one APID present in the decoded stream
Version 1.0.0 - 2023-02-02¶
Major new documentation added and re-organization.
Started tracking coverage percentage
Repackaging using pyproject.toml file
Version 0.0.13 - 2023-01-03¶
Added the ability to parse variable length files
Added the ability to specify packet field that are arrays
Added the ability to define a packet through a csv file
Added github actions to perform continuous integration
Specified black as the only accepted code formatter
Version 0.0.12 - 2022-08-06¶
Add split_by_apid() function and command line interface
python -m ccsdspy split.
Version 0.0.9 - 2018-11-19¶
Improve handling of packet definitions with intermittently specified bit_offset (ie. some bit_offset specified, others None).
Respect byte_ordering for float datatypes.
Version 0.0.8 - 2018-10-11¶
Removed astropy dependency. Changes return type of ccsdspy.FixedLength.load from astropy.table.Table to OrderedDict.
Added CHANGELOG.