This package contains generic implementations for various CCSDS (Consultative Committee for Space Data Systems) and ECSS (European Cooperation for Space Standardization) packet standards.
Currently, this includes the following components:
- Space Packet implementation according to CCSDS Blue Book 133.0-B-2
- CCSDS CDS short timestamp implementation according to CCSDS 301.0-B-4 3.3.
- PUS Telecommand and PUS Telemetry implementation according to the ECSS-E-ST-70-41C standard.
- CCSDS File Delivery Protcol (CFDP) packet implementations according to CCSDS Blue Book 727.0-B-5.
- Unified Space Data Link Protocol (USLP) frame implementations according to CCSDS Blue Book 732.1-B-2.
It also contains various helper modules which are commonly used when working with these standards:
PusVerificator
module to track the verification of sent telecommands.- PTC and PFC definitions for ECSS packets.
Countdown
utility class.- Sequence counter utility classes.
You can install this package from PyPI
Linux:
python3 -m pip install spacepackets
Windows:
py -m pip install spacepackets
You can find all examples inside the documentation.
If you want to run the tests, it is recommended to install pytest
and coverage
(optional)
first:
pip install coverage pytest
Running tests regularly:
pytest .
Running tests with coverage:
coverage run -m pytest
The documentation is built with Sphinx and new documentation should be written using the NumPy format.
Install the required dependencies first:
pip install -r docs/requirements.txt
Then the documentation can be built with
cd docs
make html
You can run the doctests with
make doctest
Linting:
ruff check .
Formatting:
ruff format .