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. PUS A (legacy) is supported as well.
- 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:
PusVerificatormodule to track the verification of sent telecommands.- PTC and PFC definitions for ECSS packets.
Countdownutility class.- Sequence counter utility classes.
Install
You can install this package from PyPI:
pip install spacepackets
For example, using uv:
uv pip install spacepackets
Examples
You can find all examples inside the documentation.
Contributing
For local development from a checkout, sync the project environment and development tools:
uv sync --group dev
To include test dependencies:
uv sync --group dev --extra test
Tests
If you want to run the tests, you have to install the package with the optional test feature:
uv sync --group dev --extra test
Running tests regularly:
uv run pytest
Running tests with coverage:
uv run coverage run -m pytest
uv run coverage report
Documentation
The documentation is built with Sphinx and new documentation should be written using the NumPy format.
Install the required dependencies first:
uv 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
Formatting and Linting
Linting:
uv run ruff check
Formatting:
uv run ruff format
Metadata
Release files for spacepackets 0.32.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spacepackets-0.32.0.tar.gz | 129.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spacepackets-0.32.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 236.5 kB
Release files / spacepackets-0.32.0.tar.gz
| Download URL | spacepackets-0.32.0.tar.gz |
|---|---|
| Size | 129.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
10c20650b0bad412ac3de3c3f06d506c205302b23a992fce40f047a4a84ddfd4
|
|
BLAKE2b-256 checksum How to use checksums |
fe7ccbfe89109a10a831144afdf2e352e0702d0ae5a65de3a3e7ba5a025c0db5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / spacepackets-0.32.0-py3-none-any.whl
| Download URL | spacepackets-0.32.0-py3-none-any.whl |
|---|---|
| Size | 107.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8a4d8791b50a4aebbcdb2f60c10aa188cfa5ca8368a843f16d6fb141cc1dcf01
|
|
BLAKE2b-256 checksum How to use checksums |
b7e0b9ac2829f38fcc491d834391d9bb302c941f6a9eb324f279f99a7c6cca23
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|