spacepackets-py
spacepackets-py copied to clipboard
Various CCSDS and ECSS packet implementations in Python
ECSS and CCSDS Spacepackets
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.
Install
You can install this package from PyPI
Linux:
python3 -m pip install spacepackets
Windows:
py -m pip install spacepackets
Examples
You can find all examples inside the documentation.
Tests
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
Documentation
The documentation is built with Sphinx
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