Skip to content

us-irs/spacepackets-py

Repository files navigation

ci Documentation Status codecov PyPI version

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:

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:

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

About

Various CCSDS and ECSS packet implementations in Python

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors

Languages