Skip to main content

Collection of Python tools for working with CCSDS Space Packets

Project description

Contributor Covenant

SPaC-Kit

✨ Introduction

SpaC-Kit is a collection of Python tools for working with CCSDS Space Packet. It can generically:

  • Parse data files into Pandas DataFrames or Excel spreadsheets
  • (Scheduled Feb 2026) – Generate documentation in multiple formats (HTML, Markdown, reStructuredText, PDF)
  • (Scheduled Apr 2026) – Generate simulated packets

SpaC-Kit supports mission or instrument-specific CCSDS packet structures via plugin packages built on the CCSDSPy library.

[!IMPORTANT] This library is currently in active development.

Some functions are placeholders and may not yet have full implementations. Expect ongoing updates and new features as the library evolves.

🔌 Available Plugins

Acknowledgments

The work being done here heavily relies on the CCSDSpy library. It has been started as part of the NASA Europa Clipper mission Science Data System development and it is being now funded by a NASA ROSES grant.

Users

Requirement

Tested with python 3.13.

Optionnally, but recommended, create a virtual environment:

python3 -m venv my_virtual_env
source my_virtual_env/bin/activate

Install

Install you plugin library first, for example Europa-Clipper CCSDS packets definitions:

git clone https://github.com/joshgarde/europa-cliper-ccsds-plugin.git
cd europa-cliper-ccsds-plugin
pip install .

Install the SPaC-Kit package:

pip install spac-kit

Use

spac-parse --file {your ccsds file}

See more options with:

spac-parse --help

Developers

Requirements

Python 3.13

Create a virtual environment

For example in command line:

python3 -m venv venv
source venv/bin/activate

Install the latest development version of CCSDSPy (optionnal)

To install the latest version of CCSDSPy:

pip install git+https://github.com/CCSDSPy/ccsdspy.git

Deploy the project, for developers

Clone the repository

Install the package

pip install -e '.[dev]'
pre-commit install && pre-commit install -t pre-push

Run an example:

python src/spa_kit/parse/downlink_to_excel.py

or

spac-parse --help

or

spac-parse --file ./data/ecm_mag_testcase6_cmds_split_out.log --bdsem --header

Build and publish the package

Update the version number in file setup.cfg

Create a tag in the repository

Build the project:

python3 -m pip install --upgrade build
rm -rf dist/
python3 -m build

Publish the project:

twine upload dist/*

Acknowledgment

This package heavily relies on ccsdspy library (see https://github.com/CCSDSPy/ccsdspy).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spac_kit-0.2.0.dev0.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spac_kit-0.2.0.dev0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file spac_kit-0.2.0.dev0.tar.gz.

File metadata

  • Download URL: spac_kit-0.2.0.dev0.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.20

File hashes

Hashes for spac_kit-0.2.0.dev0.tar.gz
Algorithm Hash digest
SHA256 f5becf2d7d89e503d79037c5332415db1d960bf397017592325b668dd163220e
MD5 fed3bb8ab9d1302697f26e64d6a881cf
BLAKE2b-256 a8c19d3bb7037987a3976f8dd966e9ad052066492729e063cef16dedef905ecf

See more details on using hashes here.

File details

Details for the file spac_kit-0.2.0.dev0-py3-none-any.whl.

File metadata

  • Download URL: spac_kit-0.2.0.dev0-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.20

File hashes

Hashes for spac_kit-0.2.0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 85aa0f91c11da338134823c27d3c7aac774c01629acc6db709562ddd65bbc7ad
MD5 52ea9524bb7c238435d2069e0ab1f531
BLAKE2b-256 fa5d0162192d5782f44f9e976968c11ee46b836a835c88c023c9032769c36689

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page