Skip to content

fix: lock affine>=2,<3 to avoid hls-cmr_stac incompat - #86

Merged
ceholden merged 1 commit into
mainfrom
fix/lock-affine
Nov 11, 2026
Merged

ceholden merged 1 commit into
mainfrom
fix/lock-affine

Conversation

@ceholden

Copy link
Copy Markdown
Collaborator

What I am changing

In #83 we bumped affine a whole major version, introducing a ser/de bug that we caught in the container benchmark tests:

  File "/app/.pixi/envs/benchmark/lib/python3.13/json/encoder.py", line 182, in default
    raise TypeError(f'Object of type {o.__class__.__name__} '
                    f'is not JSON serializable')
TypeError: Object of type Affine is not JSON serializable

In affine~=3 they changed the base of Affine to something other than a tuple, eliminating the built-in JSON serialization that hls-cmr_stac relied upon.


I'm taking the short route for now of locking the dependency version rather than fixing upstream. In the medium term I'm going to deprecate the hls-cmr_stac repository after lift/shifting the code into this repository under src/hls-cmr_stac, just like we did with hls-utilities. This will make it easier to integration test all of this code since it will live in the same repository. Once that's done it will also be feasible to directly call the Python code via functions rather than subprocess. We avoided doing that so far because many of the HLS utility libraries affect global Python process scope (e.g., manipulate sys.path)

@ceholden
ceholden merged commit 27b381b into main Nov 11, 2026
7 checks passed
@ceholden
ceholden deleted the fix/lock-affine branch November 11, 2026 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant