Collection of Python tools for working with CCSDS Space Packets
Project description
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
- Europa Clipper CCSDS packet definitions
- Want to define your own CCSDS packets? Open a ticket to start the discussion.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spac_kit-0.2.2.tar.gz.
File metadata
- Download URL: spac_kit-0.2.2.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77e8eec670949a3a6c6f32c30410083e71a51d3fc7028b0962e43733ffc035c7
|
|
| MD5 |
9853e4689a81601d59714bb51cb763cd
|
|
| BLAKE2b-256 |
468f01853111b1af033664cc763f8d2b0c08aab459016b15b06c0ad46199779f
|
File details
Details for the file spac_kit-0.2.2-py3-none-any.whl.
File metadata
- Download URL: spac_kit-0.2.2-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.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45f89c26e78e92e2687eceb2db5fafff97f0d07b5ee1b45d9dca6fb1a697a852
|
|
| MD5 |
378db9b175f2ad0899119fd020446ffe
|
|
| BLAKE2b-256 |
ee740b0b3ed635a2e6c5fc71e61c9ac1d23f22feeb5734fb660f081fbc2bb785
|