Skip to main content

IO Interface for Reading CCSDS Data in Python.

Project description

CCSDSPy - IO Interface for Reading 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.

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

ccsdspy-1.4.2.tar.gz (7.9 MB view details)

Uploaded Source

File details

Details for the file ccsdspy-1.4.2.tar.gz.

File metadata

  • Download URL: ccsdspy-1.4.2.tar.gz
  • Upload date:
  • Size: 7.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for ccsdspy-1.4.2.tar.gz
Algorithm Hash digest
SHA256 e06863d1618bdcf8a230d8a6676f004509700a98bf935773cb99ba088b9a4d6e
MD5 0c14d5105682c87e3864c4b1ea292447
BLAKE2b-256 b577040ff8a7e9c2b3a34f9421a44900a38ba3056e9abb79dcd53cabf3bac91e

See more details on using hashes here.

Supported by

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