Skip to content

[CHORE] Deprecate overture_releases.yaml#529

Open
John McCall (lowlydba) wants to merge 3 commits into
mainfrom
526-chore-deprecate-overture_releasesyaml
Open

[CHORE] Deprecate overture_releases.yaml#529
John McCall (lowlydba) wants to merge 3 commits into
mainfrom
526-chore-deprecate-overture_releasesyaml

Conversation

@lowlydba

@lowlydba John McCall (lowlydba) commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Closes #526

Published bundle before/after

File Before After
releases.json Full S3 listing (~30 entries) STAC catalog only (~2 active releases, since data is deleted after 2 months) - marked as deprecated, but will still auto-generate with new releases
latest.ddb Driven by S3 listing Unchanged, now driven by STAC latest field
latest.dbb Legacy alias for latest.ddb Unchanged, marked deprecated
registry-manifest.json Generated by simple-registry-manifest.py Unchanged
overture_releases.yaml Authoritative release list Kept for existing consumers, gains deprecation comment pointing to STAC, will not be updated going forward
index.html 404 New directory landing page at labs.overturemaps.org/data

Changes

  • Replace fetch-releases-from-s3.py with fetch_releases_from_stac.py, sourcing releases from https://stac.overturemaps.org/catalog.json
  • Drop obstore dependency (no longer needed)
  • Add deprecation header to overture_releases.yaml
  • Add index.html landing page for labs.overturemaps.org/data
  • Add 19 unit tests for the new fetch script
  • Add test.yml CI workflow running on push and PRs
  • Update Python 3.11 -> 3.12 across both workflows

New Index

For ease of consumption, a new index.html acts as a directory page that will land at https://labs.overturemaps.org/data

{574EC74C-9D19-4B5E-A0F1-BD53F270B869}

Questions

  • Since releases.json is also supplanted by the STAC, should we also freeze it and stop maintaining it, like the overture_releases.yaml?
  • Are we OK to freeze overture_releases.yaml on June's release and not update after that?

- 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>
@lowlydba John McCall (lowlydba) linked an issue Jun 11, 2026 that may be closed by this pull request
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Signed-off-by: John McCall <john@overturemaps.org>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.py that reads from https://stac.overturemaps.org/catalog.json, and remove the obstore dependency.
  • Add unit tests for the new fetch script and a new GitHub Actions workflow to run them.
  • Add a root index.html directory landing page and add a deprecation header to overture_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.

Comment thread utils/fetch_releases_from_stac.py Outdated
Comment thread utils/fetch_releases_from_stac.py
Comment thread utils/fetch_releases_from_stac.py Outdated
Comment thread utils/tests/test_fetch_releases_from_stac.py Outdated
Comment thread utils/tests/test_fetch_releases_from_stac.py Outdated
Comment thread utils/tests/test_fetch_releases_from_stac.py Outdated
- 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>
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.

[CHORE] Deprecate overture_releases.yaml

2 participants