OvertureMaps / OvertureMaps/schema

Add stac-table-columns renderer to overture-schema-codegen

Open
#723 4 comments 0 reactions 1 assignee View on GitHub

@jjcfrancisco is already working on this.

Since Sep 4, 2026.

Dominant language
Python
Stars
213
Forks
22
Avg merge
3d 3h
Merged PRs (30d)
31

Description

Type

Task

Scope

Multi-theme or Platform

Skillset

engineering

Description

Context

The STAC catalog at stac.overturemaps.org emits table:columns with only column names — no type or description. Consumers reading the catalog have no way to discover what a column means without leaving STAC and going to the schema docs. The information already lives in the Pydantic models; a new codegen renderer can surface it as machine-readable JSON that the STAC generator consumes at build time.

Proposed change

In packages/overture-schema-codegen/src/overture/schema/codegen/, alongside markdown/ and pyspark/:

  • Add a stac_table_columns/ renderer that emits one JSON file per (theme, type), matching the STAC table extension table:columns shape: [{"name", "type", "description"}].
  • type maps from the Pydantic field's resolved primitive to STAC/parquet types (string, int32, int64, double, boolean, struct, list). Reuse extraction logic already used by the pyspark renderer where possible.
  • description comes from the field's docstring / description text.
  • Wire into the CLI as a new --format option so overture-codegen generate --format stac-table-columns --output-dir out/ writes buildings/building.json, places/place.json, etc.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.