Skip to main content

SPaC-kit-europa-clipper

DOI

For instruments ECM, MISE and SUDA, some of the CCSDS packets definitions are coded here, as needed by the Science Data System.

Those packet definitions are used by the SPaC-kit library to decode CCSDS packets, generate documentation and simulated datasets.

Prerequisites

This package has been tested with Python 3.12.

Users

Install the main package:

pip install spac-kit

Install the plugin from pypi (NOT PUBLISHED ON PYPI YET):

pip install spac-kit-europa-clipper

You can now parse a downlink file from Europa-Clipper:

spac-parse --file {your europa-clipper file}

Small test downlink files are provided here:

Instrument File
ECM file
SUDA file

Generate the documentation locally:

sphinx-autobuild ./docs/. ./docs/out

Developers

Update, Test

Clone the repository:

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

Create a virtual environment and activate it:

python -m venv venv
source venv/bin/activate   # On Windows use `venv\Scripts\activate`

You might need to upgrade pip first:

pip install --upgrade pip

Install the package in editable mode, with the developer dependencies:

pip install -e '.[dev]'

Or use poetry:

Install poetry, from your local system, not a virtual environment:

curl -sSL https://install.python-poetry.org | python3.12 -
export PATH=${HOME}/.local/bin:${PATH}

Create a poetry virtual environment and install the package with the developer dependencies:

poetry env use python3.12
poetry install --with dev

Optionally, to work with a local version of Spac-Kit, you can use poetry as follows:

poetry add ../SPaC-Kit

Beware of the version of Spac-Kit you are using, it should be compatible with the version specified in the pyproject.toml file of this package.

IMPORTANT: Install the pre-commit hooks, they will ensure code quality. If you don't do it the automated test running on the Pull Request will fail.

pre-commit install && pre-commit install -t pre-push

Make your changes in the package definition files located in the ccsds.packets.europa_clipper directory.

Create/Update the test reference data as needed, next to the updated packet definitions, for example ccsds.packets.europa_clipper.ecm.test.

Run the tests to ensure everything is working:

pytest

Before committing your changes update the poetry lock file:

poetry lock

Generate the documentation locally (e.g. for review purposes)

cd docs
poetry run sphinx-build -b html . _build/html

Open the file docs/_build/html/index.html in your browser to view the generated documentation.

Releasing

To prepare for a new release candidate PR should be created against the main branch. The branch of the release should be prefixed with release/ with the version string preceding. For example: release/1.0.0.

git checkout -b release/X.Y.Z
git push

When this branch is created, the "Publish to PyPI" GH Actions workflow will run which will automatically publish a build to the PyPI testing environment where the build can be tested with any downstream tools/services.

To create the new release, merge the PR which will kickoff the "Lint, test, and release" CI pipeline. This pipeline will perform an automatic linting and run the repo's tests. After both steps pass, the workflow will then tag the merged PR commit and create a new release off of that tag.

Once that release is created, several processes will occur:

  1. The "Publish to PyPI" workflow will run again, except now it will publish to the main PyPI repository.

  2. Zenodo will pickup the new release for DOI generation + archival. This process is automatic and managed by Zenodo. It is simply kicked off on our end once a new release is cut.

Once these processes are complete, a release has been successfully cut.

Citation with Zenodo

This package can be cited with a DOI provided by Zenodo.

To manage it, follow the guidelines provided by Zenodo.

Release files for spac-kit-europa-clipper 0.2.2

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

Source distribution (sdist)

Source distribution for spac-kit-europa-clipper 0.2.2
File Size Uploaded
spac_kit_europa_clipper-0.2.2.tar.gz 5.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for spac-kit-europa-clipper 0.2.2
File Interpreter ABI Platform
spac_kit_europa_clipper-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 11.9 MB

Release files / spac_kit_europa_clipper-0.2.2.tar.gz

Download URL spac_kit_europa_clipper-0.2.2.tar.gz
Size 5.9 MB
Tags Source
SHA-256 checksum
How to use checksums
68a64a1b0d21fc08d65b6c7f5fd221a6b24ed7057b3c5d39ac16400adeb4a9c0
BLAKE2b-256 checksum
How to use checksums
34c554ae93bf7094b5a918d4b36ed50b0b8fbcd3e42b53dd06067d7e287ff5b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.12.14 Linux/6.17.0-1022-azure

Release files / spac_kit_europa_clipper-0.2.2-py3-none-any.whl

Download URL spac_kit_europa_clipper-0.2.2-py3-none-any.whl
Size 6.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
eec963fdcd5f6024c1ebbb6c27d906ef872305dc28d47c74079202ecdb7fce78
BLAKE2b-256 checksum
How to use checksums
436fa3cb89a003d5c1059dc64ca7a3c41c0e1c8e1d428e3c27dacfc1b921f17f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.12.14 Linux/6.17.0-1022-azure

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

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