[CHORE] Deprecate overture_releases.yaml#529
Conversation
- Replace fetch-releases-from-s3.py with fetch_releases_from_stac.py driven by https://stac.overturemaps.org/catalog.json instead of S3 listing - Drop obstore dependency from requirements.txt - Add deprecation header to overture_releases.yaml (kept for existing consumers) - Add index.html landing page for labs.overturemaps.org/data (was 404) - Add unit tests (19) for fetch_releases_from_stac.py - Add test.yml CI workflow (runs on push + PR) - Update Python 3.11 -> 3.12 in both workflows Published bundle before/after: releases.json S3 listing (~30 entries) -> STAC catalog (~2 active releases) latest.ddb unchanged latest.dbb unchanged (legacy alias, now marked deprecated) registry-manifest unchanged overture_releases.yaml unchanged data, gains deprecation comment index.html new: directory landing page (was 404) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
There was a problem hiding this comment.
Pull request overview
This PR shifts release discovery for published artifacts away from an S3 listing + overture_releases.yaml to the Overture STAC catalog, while keeping legacy outputs (e.g., releases.json, latest.ddb/.dbb, overture_releases.yaml) available but increasingly marked as deprecated. It also adds a simple landing page and introduces CI test coverage for the new STAC-based fetch script.
Changes:
- Replace the S3-based release fetch script with
fetch_releases_from_stac.pythat reads fromhttps://stac.overturemaps.org/catalog.json, and remove theobstoredependency. - Add unit tests for the new fetch script and a new GitHub Actions workflow to run them.
- Add a root
index.htmldirectory landing page and add a deprecation header tooverture_releases.yaml.
Reviewed changes
Copilot reviewed 9 out of 11 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
utils/tests/test_fetch_releases_from_stac.py |
Adds unit tests for STAC fetch + release parsing + DuckDB view SQL generation. |
utils/tests/__init__.py |
Initializes the utils.tests package. |
utils/requirements.txt |
Removes obstore; retains DuckDB + PyArrow requirements. |
utils/requirements-test.txt |
Adds pytest test requirements for the utils tests. |
utils/fetch-releases-from-s3.py |
Removes legacy S3-listing-based script. |
utils/fetch_releases_from_stac.py |
New STAC-based implementation for generating releases.json and DuckDB views. |
overture_releases.yaml |
Adds a deprecation header pointing consumers to STAC. |
index.html |
Adds a new static landing page listing published artifacts and deprecation notes. |
.gitignore |
Adds Python bytecode/cache ignores. |
.github/workflows/test.yml |
Adds CI job to run utils unit tests on PRs and main branch pushes. |
.github/workflows/build-manifests.yml |
Updates publishing workflow to Python 3.12 and runs the new STAC fetch script; publishes index.html. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add 30s timeout + User-Agent header to fetch_catalog - Robust href parsing via urlparse (handles absolute + relative hrefs) - Close DuckDB connection in finally block - Remove unused test imports (tempfile, BytesIO, duckdb, pytest) - Update test_uses_provided_url to assert on Request.full_url + timeout - Add tests for absolute href and no-./-prefix relative href Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
|
John McCall (@lowlydba) you can just kill latest.dbb. It was created in error (typo) and immediately replaced by latest.ddb |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Great - removed ✅ |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
|
Thanks, John McCall (@lowlydba)! |
…output Registry manifest is available via the STAC catalog. Also drop pyarrow dependency which was only needed by this script. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: John McCall <john@overturemaps.org>
Closes #526
Published bundle before/after
releases.jsonlatest.ddblatestfieldlatest.dbblatest.ddbregistry-manifest.jsonsimple-registry-manifest.pyoverture_releases.yaml404.htmlChanges
fetch-releases-from-s3.pywithfetch_releases_from_stac.py, sourcing releases from https://stac.overturemaps.org/catalog.jsonobstoreandpyarrowdependencies (no longer needed)simple-registry-manifest.py(registry manifest is already in the STAC catalog)overture_releases.yamlREADME.mdcoveringoverture_releases.yaml,releases.json, andregistry-manifest.jsonlatest.dbb(legacy typo alias)404.htmlwith OMF branding — redirects to README and STAC catalog after 5 secondstest.ymlCI workflow running on push and PRs404
This new 404 will appear for anyone trying to hit the dead URLs of files we're removing: