Promote local COG contract to stable (#2300)#2305
Merged
brendancol merged 2 commits intoMay 22, 2026
Merged
Conversation
Flip the local COG read and write paths to the stable tier in ``xrspatial.geotiff.SUPPORTED_FEATURES``: - ``SUPPORTED_FEATURES['writer.cog']``: advanced -> stable. - ``SUPPORTED_FEATURES['reader.local_cog']``: advanced -> stable. - ``SUPPORTED_FEATURES['reader.http_cog']`` stays advanced; the inline comment now spells out why (range fetching, redirect handling, SSRF filter, cache / retry behaviour not yet contracted). Document the stable COG contract: - ``xrspatial/geotiff/_attrs.py`` carries a block comment above ``SUPPORTED_FEATURES`` describing what the stable contract guarantees and what stays advanced. - ``docs/source/reference/geotiff.rst`` grows a *Stable COG contract* section at the top of the page plus an *Outside the stable contract* list. - The COG overview notebook (``examples/user_guide/52_COG_Overview_ Generation.ipynb``) carries a short note that the examples sit inside the stable contract while HTTP / GPU / BigTIFF stay outside. - ``CHANGELOG.md`` records the promotion under Unreleased. Backed by the writer compliance suite (xarray-contrib#2292), the cross-backend parity gate (xarray-contrib#2293), and the per-tile byte-budget contract (xarray-contrib#2294 / xarray-contrib#2298). The full 5169-test geotiff suite passes locally. Closes xarray-contrib#2300.
Contributor
Author
Self-reviewRead-only docs-and-metadata PR; no production code paths change behaviour. The review covers the tier flip, the two doc surfaces, the notebook cell, and the changelog entry. Blockers (must fix before merge)None. Suggestions (should fix, not blocking)
Nits (optional improvements)
What looks good
Tests
Checklist
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #2300. Part of the #2286 production-readiness wave; siblings #2301 / #2302 / #2303 are in flight in parallel.
Flip the local COG read and write paths to the
stabletier inxrspatial.geotiff.SUPPORTED_FEATURES, document the stable contract, and call out the combinations that stay outside it.Changes
xrspatial/geotiff/_attrs.py:SUPPORTED_FEATURES['writer.cog']:advanced->stable.SUPPORTED_FEATURES['reader.local_cog']:advanced->stable.SUPPORTED_FEATURES['reader.http_cog']staysadvanced; the per-key comment now spells out why (range fetching, redirect handling, SSRF / private-host filter, cache / retry policy not yet contracted at the stable bar).SUPPORTED_FEATUREScarries the full stable-contract bullet list and the out-of-scope list.docs/source/reference/geotiff.rst: new Stable COG contract section at the top of the page (positioned at the top so the sibling rio-cogeo / GDAL validate_cloud_optimized_geotiff as required CI gate (#2286 prod-ready wave C) #2302 CI-validator note can land elsewhere) plus Outside the stable contract sub-section.examples/user_guide/52_COG_Overview_Generation.ipynb: short stable-contract note inserted after the intro. The notebook's existing examples all sit inside the contract; cautious phrasing kept for HTTP COG and the out-of-scope combos.CHANGELOG.md: Unreleased entry pointing at the writer compliance suite (COG readiness: external compliance test suite for to_geotiff(cog=True) (#2286 PR 2/6) #2292), the parity gate (COG readiness: HTTP/range byte-budget contract tests (#2286 PR 3/6) #2293), and the byte-budget contract (COG readiness: add COG rows to backend parity/release gate (#2286 PR 4/6) #2294 / Pin HTTP/range COG byte-budget contract (#2293) #2298) that back the promotion.Scope notes
_writer.py, CI workflows, or BigTIFF code.reader.http_cog.SUPPORTED_FEATURESdict so sibling BigTIFF COG external compliance + tier decision (#2286 prod-ready wave D) #2303 can appendwriter.bigtiff_cogcleanly.Test plan
pytest xrspatial/geotiff/tests/-- 5169 passed, 69 skipped.pytest xrspatial/geotiff/tests/test_supported_features_tiers_2137.py-- the tier-shape test still passes against the newstablevalues.