Spacepackets

Latest version: v0.24.1

Safety actively analyzes 638396 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 7

0.16.0

Fixed

- Important bugfix in CFDP PDU header format: The entity length field and the transaction sequence
number length field stored the actual length of the field instead of the length minus 1 like
specified in the CFDP standard.

0.15.0

- Removed `ecss.pus_5_event.Severity`, moved to `tmtccmd` package because it is not ECSS generic.
- Added first basic `ecss.pus_15_tm_storage` module with `Subservice` enum.

0.14.1

Changed

- Use custom package discovery in `pyproject.toml` for more robustness.

0.14.0

Changed

- The CRC16 function retrieved from `crcmod` is now cached on module
level instead of being re-created for every usage. This might yield
performance improvements.
- Remove `setup.cfg` and fully move to `pyproject.toml`. The `flake8` config
was moved to a `.flake8` file.

Fixed

- The `crc16` property of both `spacepackets.ecss.tc.PusTelecommand`
and `spacepackets.ecss.tm.PusTelemetry` still was an `int` in some cases.
It should always be an `Optional[bytes]` (size 2) now.

0.14.0rc3

Refactored `logging` module usage to be more pythonic.

Added

- New `spacepackets.exceptions` module with new generic exception `BytesTooShortError` for errors
where the object creation from a raw byte stream fails.
- `spacepackets.get_lib_logger` to get access to the library root logger
- `spacepackets.ecss.tc.PusTelecommand`: `empty` constructor
- `spacepackets.ecss.tm.PusTelemetry`: `empty` constructor

Changed

- (breaking): All `unpack` APIs now consistently expect use the `data` keyword argument
- (possibly breaking): The `spacepackets.ecss.tc.PusTelecommand` now throws the
`InvalidTcCrc16` exception if an invalid CRC16 is detected.
- (possibly breaking): The `spacepackets.ecss.tm.PusTelemetry` now throws the
`InvalidTmCrc16` exception if an invalid CRC16 is detected.
- (possibly breaking): `spacepackets.ecss.tc.PusTelecommand` and
`spacepackets.ecss.tm.PusTelemetry`: The `calc_crc` keyword argument for `pack` has been renamed
to `recalc_crc`.
- (breaking): The `crc16` proprerty will now return a `Optional[bytes]` object instead of an
integer.
- `PusTmSecondaryHeader.HEADER_SIZE` renamed to `PusTmSecondaryHeader.MIN_LEN` to better reflect
the header can actually be larger if it includes the timestamp.

Removed

- `spacepackets.cfdp.conf.check_packet_length`
- `spacepackets.log` module.
- `spacepackets.ecss.tc.PusTelecommand` and `spacepackets.ecss.tm.PusTelemetry`: `valid` property
removed. Instead, detection of an invalid CRC will now trigger a `InvalidTmCrc16` or
`InvalidTcCrc16` exception.

Deprecated

- Printer utilities for PUS TMTC classes.

0.14.0rc2

Fixed

- `ecss.pus_17_test.Service17Tm`: Remove (optional) PUS version argument for `unpack`
- `ccsds.time.CdsShortTimestamp`: Fix for `__add__` dunder, use integer division
when adding microseconds to MS of day.
- `ccsds.time.CdsShortTimestamp`: Fixed bug in `read_from_raw` method
where the retrieved CCSDS days were assigned to the UNIX seconds.

Changed

- (breaking): `parse_space_packets`: Expects a tuple of `PacketId`s instead of raw integers now
which are converted to integers internally.
- (breaking): `AbstractPusTm` `get_sp_header` renamed to `sp_header` and is a property now.
- (breaking): `ecss.PusTelemetry`: public member `sp_header` is now named `space_packet_header` to
avoid name clash with new property.
- (breaking): `SequenceFlags` argument removed from `ecss.tc.PusTelecommand`. ECSS specifies this
field is always set to `SequenceFlags.UNSEGMENTED`.

Added

- New `ecss.PacketFieldU8`, `ecss.PacketFieldU16` and `ecss.PacketFieldU32` helper types.
- (breaking): `AbstractPusTm`: Add new `time_provider` abstract property which should return
`Optional[CcsdsTimeProvider]`
- New `ecss.check_pus_crc` function to check whether a PUS packet in raw format.

Page 3 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.