Skip to main content

CCSDSPy - IO Interface for Reading and Writing CCSDS Data in Python.

CI Status Code Coverage Zenodo DOI

This community-developed package provides a Python interface for reading tightly packed bits in the Consultative Committee for Space Data Systems (CCSDS) format used by many NASA and ESA missions. The library is developed with requirements sourced from the community and extensive automated testing.

Used By

https://raw.githubusercontent.com/ccsdspy/ccsdspy/main/docs/_static/used-by/small/goes-r.png https://raw.githubusercontent.com/ccsdspy/ccsdspy/main/docs/_static/used-by/small/europa-clipper.png https://raw.githubusercontent.com/ccsdspy/ccsdspy/main/docs/_static/used-by/small/mms.jpg https://raw.githubusercontent.com/ccsdspy/ccsdspy/main/docs/_static/used-by/small/pace.png https://raw.githubusercontent.com/ccsdspy/ccsdspy/main/docs/_static/used-by/small/hermes.png https://raw.githubusercontent.com/ccsdspy/ccsdspy/main/docs/_static/used-by/small/csa.png https://raw.githubusercontent.com/ccsdspy/ccsdspy/main/docs/_static/used-by/small/punch.png https://raw.githubusercontent.com/ccsdspy/ccsdspy/main/docs/_static/used-by/small/spherex.png https://raw.githubusercontent.com/ccsdspy/ccsdspy/main/docs/_static/used-by/small/elfin.jpg https://raw.githubusercontent.com/ccsdspy/ccsdspy/main/docs/_static/used-by/small/padre.png

Do you know of other missions that use CCSDSPy? Let us know through a github issue!

Installation

To install ccsdspy

pip install ccsdspy

Usage Example

The following example shows how simple it is to read in fixed length CCSDS packets.

import ccsdspy
from ccsdspy import PacketField, PacketArray

pkt = ccsdspy.FixedLength([
     PacketField(name='SHCOARSE', data_type='uint', bit_length=32),
     PacketField(name='SHFINE',   data_type='uint', bit_length=20),
     PacketField(name='OPMODE',   data_type='uint', bit_length=3),
     PacketField(name='SPACER',   data_type='fill', bit_length=1),
     PacketField(name='VOLTAGE',  data_type='int',  bit_length=8),
     PacketArray(
         name='SENSOR_GRID',
         data_type='uint',
         bit_length=16,
         array_shape=(32, 32),
         array_order='C'
     ),
])

result = pkt.load('mypackets.bin')

Documentation

Our documentation is hosted on readthedocs and can be found here.

Getting Help

For more information or to ask questions about the library or CCSDS data in general, check out the CCSDSPy Discussion Board hosted through GitHub.

Acknowledging or Citing ccsdspy

If you use ccsdspy, it would be appreciated if you let us know and mention it in your publications. The code can be cited using the DOI provided by Zenodo. The continued growth and development of this package is dependent on the community being aware of it.

Code of Conduct

When interacting with this package, please behave consistent with the following Code of Conduct.

Metadata

Release files for ccsdspy 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ccsdspy 2.0.1
File Size Uploaded
ccsdspy-2.0.1.tar.gz 7.9 MB Details

Release files / ccsdspy-2.0.1.tar.gz

Download URL ccsdspy-2.0.1.tar.gz
Size 7.9 MB
Tags Source
SHA-256 checksum
How to use checksums
0d5988ca95d2f987637dd736ea0aad192ec42dbd28b694bfd8d21b5c9a50c128
BLAKE2b-256 checksum
How to use checksums
457dce0af35466a5a6b64fadfcabb8c2236d0bdc9b2fe11facf9166921630960
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

2.0.1 This release

1 release file

2.0.0

1 release file

1.4.3

1 release file

1.4.2

1 release file

1.4.1

1 release file

1.4.0

1 release file

1.3.3

1 release file

1.3.2

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.0

1 release file

0.0.13

1 release file

0.0.12

1 release file

0.0.10

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page