CCSDSPy / ccsdspy

I/O interface and utilities for CCSDS binary spacecraft data in Python. Library used in flight missions at NASA, NOAA, and SWRI
https://ccsdspy.org
BSD 3-Clause "New" or "Revised" License
74 stars 18 forks source link

Implements loading variable length packets from CSV #117

Closed jmbhughes closed 4 months ago

jmbhughes commented 4 months ago

Purpose

Add support for loading variable length packets from CSV, resolving #115

Packet array shaped can be defined in the data type as uint(expand) for expanding fields or uint(OPMODE) for a reference type, where OPMODE is another field.

Changes to codebase

Todos

Notes

I think I've implemented all the expected features. I haven't tested extensively, so I can add some more tests if you think it's appropriate. As always, I'm open to suggestions.

codecov[bot] commented 4 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.10%. Comparing base (1522816) to head (c6e4fbf).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #117 +/- ## ========================================== + Coverage 96.05% 96.10% +0.04% ========================================== Files 7 7 Lines 710 719 +9 ========================================== + Hits 682 691 +9 Misses 28 28 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

jmbhughes commented 4 months ago

@ddasilva the CI failing seems to be because of the release of pytest 8.1.0 a few hours ago and plugins not having updated releases to match necessary changes, namely pytest-filter-subpackages(https://github.com/pytest-dev/pytest/issues/11779). You can see the last release of pytest-filter-subpackages was in 2022. It looks like a release is under consideration. The simplest solution for now is to not allow pytest 8.1.0 in the CI, but there may be better options.

ddasilva commented 4 months ago

@ddasilva the CI failing seems to be because of the release of pytest 8.1.0 a few hours ago and plugins not having updated releases to match necessary changes, namely pytest-filter-subpackages(pytest-dev/pytest#11779). You can see the last release of pytest-filter-subpackages was in 2022. It looks like a release is under consideration. The simplest solution for now is to not allow pytest 8.1.0 in the CI, but there may be better options.

Totally reasonable. Feel free to edit your branch to pin a version of pytest and repush. It would be on this line: https://github.com/CCSDSPy/ccsdspy/blob/main/pyproject.toml#L36

ddasilva commented 4 months ago

@ehsteve Feel free to comment

ddasilva commented 4 months ago

I pinged a few of our collaborators over email from Europa Clipper / MMS / Canadian Space Agency to get their thoughts on this new feature. Even if they don't have much to say, it will be good to raise their awareness! Daniel

ddasilva commented 4 months ago

Thanks @jmbhughes !