Skip to content

[DOCS] PYDANTIC_GUIDE.md documents a package layout the repo no longer uses #604

Description

PYDANTIC_GUIDE.md documents a package layout the repo no longer uses. Raised by Roel Bollens (@RoelBollens-TomTom) while reviewing #598 (#598 (comment)); filing separately because the staleness predates that PR and fixing it there would be out of scope.

Entry point example is wrong on both axes

Lines 850-856 show:

[project.entry-points."overture.models"]
"transportation.connector" = "overture.schema.transportation.connector.models:Connector"
"transportation.segment" = "overture.schema.transportation.segment.models:Segment"

Real declaration in packages/overture-schema-transportation-theme/pyproject.toml:

[project.entry-points."overture.models"]
connector = "overture.schema.transportation:Connector"
segment = "overture.schema.transportation:Segment"

Keys are unqualified, not theme-prefixed, and targets resolve off the theme package root rather than a <type>.models submodule.

The models.py / type-subdirectory convention is gone

Lines 1006-1018 prescribe a type subdirectory per feature type with models.py / enums.py / types.py inside it. overture-schema-buildings-theme already contradicts this -- flat building.py, building_part.py, _common.py directly under overture/schema/buildings/, no subdirectory and no models.py. #598 does the same for transportation (connector.py, and segment/{_common,road,rail,water}.py), which removes the last models.py in a theme package; the file name survives only in overture-schema-common and overture-schema-annex.

Dead path references

Not stale

Every from overture.schema.* import in the guide resolves on main (11 distinct modules, all import cleanly), including the recent system.primitive split into system.numeric / system.geometric. The rot is confined to file layout and entry point naming, not the import surface.

Scope

Rewrite the "Module Organization" and entry point registration sections against the buildings / post-#598 transportation layout, and repoint the three path references. Best done after #598 lands so the transportation examples describe the settled structure.

Activity

  1. sethfitz commented on Jul 28, 2026

    @sethfitz
    CollaboratorAuthor

    Ruff 0.16 now formats Python code embedded in Markdown, so we can take advantage of that while cleaning up the guide (and the various READMEs). It doesn't go as far as solving #491, but it's an improvement (especially if it can also handle imports).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

documentationImprovements or additions to documentation

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions