Skip to content

Advance conventions from Proposal to Candidate maturity #110

@maxrjones

Description

@maxrjones

Summary

Formally advance the three core conventions (geo-proj, spatial, multiscales) from "Proposal" maturity level to "Candidate" status by documenting implementations and ensuring stability commitments.

Background

All three conventions currently list their maturity as "Proposal" in their README files. The Zarr Conventions framework defines maturity levels based primarily on implementation count:

Maturity Levels (from Zarr Conventions Framework)

Maturity Min Impl # Description Stability
Proposal 0 An idea put forward to gather feedback Not stable - breaking changes almost guaranteed
Pilot 1 Fleshed out with examples, schema, and 1+ implementations Approaching stability - breaking changes not anticipated but possible
Candidate 3 Multiple implementers using and standing behind it Mostly stable - breaking changes require new version, minor changes unlikely. Requires code owner.
Stable 6 Highest level. Community commits to review process for any changes. Completely stable - all changes require new version and review
Deprecated N/A Superseded or did not work out DO NOT USE

Target for v1.0

For GeoZarr v1.0 release, conventions should reach Candidate maturity (3+ implementations).

Acceptance Criteria

For Each Convention

  • Specification text finalized
  • JSON Schema stable and tested
  • At least 3 independent implementations documented
  • No unresolved blocking issues
  • Code owner designated in README
  • Maturity field updated to "Candidate" in README

Process Requirements

  • geo-proj advanced to Candidate
  • spatial advanced to Candidate
  • multiscales advanced to Candidate
  • Implementation reports collected and linked

Checklist: geo-proj

Requirement Status Notes
Spec finalized
Schema stable
Implementation 1 eopf-geozarr
Implementation 2 geozarr-examples
Implementation 3 GDAL (planned) / TiTiler / OpenLayers
Code owner designated
Maturity updated

Checklist: spatial

Requirement Status Notes
Spec finalized
Schema stable
Implementation 1 eopf-geozarr
Implementation 2 geozarr-examples
Implementation 3 GDAL (planned) / TiTiler / OpenLayers
Code owner designated
Maturity updated

Checklist: multiscales

Requirement Status Notes
Spec finalized
Schema stable
Implementation 1 eopf-geozarr
Implementation 2 geozarr-examples
Implementation 3 GDAL (planned) / TiTiler / OpenLayers
Code owner designated
Maturity updated

Maturity Advancement Sequencing

Per the February 2026 SWG meeting decision:

  1. Candidate status after 3 implementations are documented
  2. Stable status upon final V1 SWG vote

Known Implementations to Document

Implementation Language geo-proj spatial multiscales Notes
eopf-geozarr Python Full Full Full Reference implementation
zarr-cm Python Full Full Full Zero-dependency metadata library
geozarr-examples Python Full Full Full
rioxarray Python In progress In progress None Framework PR accepted; Spatial/Proj PR incoming (Emmanuel Mathot)
GDAL C++ Planned Planned Planned Funded, read-only
OpenLayers JavaScript Read Read Read Via ol-zarr
TiTiler Python Read Read Read

Production Deployments

  • EOPF Explorer V1 — First production adoption of GeoZarr conventions for Sentinel data (launched Feb 2026). Uses OpenLayers + TiTiler stack. Note: currently uses float32 due to fixed-scale offset limitation in Zarr.

Tracking

Emmanuel Mathot will track implementation status and report at SWG meetings.

Path to Stable (Post-v1)

After v1.0 release with Candidate maturity, conventions advance to Stable upon final V1 SWG vote when:

  • 6+ implementations exist
  • Community review process is established (planned for 2026 per framework)
  • No breaking changes anticipated

Dependencies

References

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions