Skip to content

build(deps): bump pyramids-core floor to >=0.71.0 - #128

Merged
MAfarrag merged 2 commits into
mainfrom
build/bump-pyramids-core-0.71
Oct 21, 2026
Merged

MAfarrag merged 2 commits into
mainfrom
build/bump-pyramids-core-0.71

Conversation

@MAfarrag

Copy link
Copy Markdown
Member

Description

Raise the pyramids-core dependency floor from >=0.70.0 to >=0.71.0 (base dependency + viz extra) and
re-lock. No source change.

pyramids_eo.stac.signers.CdseS3Signer.gdal_env() returns the CDSE S3 config without a GDAL_NUM_THREADS
stopgap, so a multi-threaded read of a CDSE (eodata.dataspace.copernicus.eu) asset — merge_rasters,
stack_bands, any gdal.Warp-backed fan-out — depends on the custom S3 endpoint being routed to GDAL's
multi-threaded read workers. That routing shipped in pyramids-core 0.71.0 (serapeum-org/pyramids-core#1348). On
the previous >=0.70.0 floor the worker threads fell back to real AWS and 403'd, so the signer was not correct
for the lowest version it declared. This PR pins the floor to the release that provides the fix.

The import name is unchanged (import pyramids), and CdseS3Signer already assumes the fix, so no signer code
change is needed.

Issues

Type of change

Check relevant points.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

The change is a dependency floor bump plus lock re-solve. Non-breaking for any consumer already on
pyramids-core >= 0.71.0.

How Has This Been Tested?

  • Lock re-solve is clean and minimal. pixi lock updated every environment (default / dev / docs /
    py311–py314) with exactly one version change — pyramids-core 0.70.0 -> 0.71.0. An authoritative
    set-diff of pixi.lock (removed vs added wheel artifacts) shows the only content change is the 20
    pyramids_core wheels (5 platforms × 4 Python versions) swapping 0.70.0 → 0.71.0; every other package
    (numpy, pyogrio, tornado, …) is unchanged and merely reordered.
  • Fix provenance verified. pyramids-core 0.71.0 ships fix(remote): route a custom S3 endpoint to GDAL's multi-threaded read workers pyramids-core#1348 (fix(remote): route a custom S3 endpoint to GDAL's multi-threaded read workers), confirmed in its change-log and release
    (#1350). CdseS3Signer.gdal_env() emits no GDAL_NUM_THREADS, so it relies on that routing.
  • Live CDSE read reproduction — documented in build(deps): bump pyramids-core floor to >=0.71.0 — CdseS3Signer relies on the multi-threaded endpoint fix (#1348) #127 with real CDSE S3 credentials (0.70.0 FAIL → worker 403
    to real AWS; 0.71.0 OK, 133 MB written). Not re-run here (needs CDSE_S3_ACCESS_KEY /
    CDSE_S3_SECRET_KEY).

Checklist:

  • updated version number in pyproject.toml.
  • added changes to docs/change-log.md.
  • updated the latest version in README file.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • documentation are updated.

The version bump and change-log entry are left to the commitizen release flow; no README version reference or
docs change is affected by a dependency floor bump, and the signer carries no new code to add tests for (its
behaviour is unchanged — only the minimum version that makes it correct).

CdseS3Signer.gdal_env() relies on pyramids-core routing a custom S3 endpoint to
GDAL's multi-threaded read workers, which shipped in pyramids-core 0.71.0
(serapeum-org/pyramids-core#1348). On the previous 0.70.0 floor a multi-threaded CDSE
read (merge_rasters / stack_bands / any gdal.Warp fan-out) sends worker requests
to real AWS and 403s, so the signer was not correct for the lowest version it
declared. Raise the floor in the base dependency and the viz extra and re-lock;
no signer code change is needed.
@codecov

codecov Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (0b9d885) to head (cfebc06).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #128   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           46        46           
  Lines         2948      2948           
  Branches       445       445           
=========================================
  Hits          2948      2948           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

…to build/bump-pyramids-core-0.71

# Conflicts:
#	pixi.lock
#	pyproject.toml
@sonarqubecloud

Copy link
Copy Markdown

@MAfarrag
MAfarrag merged commit cc7557b into main Oct 21, 2026
22 checks passed
@MAfarrag
MAfarrag deleted the build/bump-pyramids-core-0.71 branch October 21, 2026 17:24
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.

build(deps): bump pyramids-core floor to >=0.71.0 — CdseS3Signer relies on the multi-threaded endpoint fix (#1348)

1 participant