Skip to content

Add the PyMEOS pin manifest and per-binding generator policy#96

Open
estebanzimanyi wants to merge 1 commit into
MobilityDB:masterfrom
estebanzimanyi:tooling/canonical-generator-policy
Open

Add the PyMEOS pin manifest and per-binding generator policy#96
estebanzimanyi wants to merge 1 commit into
MobilityDB:masterfrom
estebanzimanyi:tooling/canonical-generator-policy

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

What

Brings PyMEOS onto the ecosystem-wide per-binding generator policy (same treatment as JMEOS #29, GoMEOS #6, MEOS.NET #6, meos-rs #4):

  • tools/pin/compose-order.txt — PyMEOS's canonical, dependency-ordered fold manifest. master predates the meos-idl.json OO codegen, which lives in the open stack. This file fixes the composing set/order and records the disposition of every open PR.
  • GENERATION.md — the per-binding generator policy. PyMEOS is two layers (like Rust's meos-sys / meos): PyMEOS-CFFI (low-level, separate repo, its own manifest) + the PyMEOS OO layer generated by tools/oo_codegen/codegen.py into method-family mixins, with the RFC dispatch metadata as the path to 100% faithful codegen.

Docs + manifest only — no code, no build impact.

Disposition of the open PRs (committer review)

Verified ancestry (git merge-base, this turn): #95 is the OO-codegen frontier (14 commits over master) and contains #88 + #89 (and the family-switch stack #90#93 + the #94 RFC).

PR Role Proposal
#81 bump/meos-1.4 the 1.4 base land
#87 feat/portable-aliases portable bare-name dialect land (separate; not an ancestor of #95)
#95 feat/oo-dispatch-consumer the OO-codegen frontier land (carries #88, #89, #90#93, #94)
#88#94 extended types, the meos-idl OO codegen, the per-family switches, the dispatch RFC ancestors of #95

Misc PRs to triage separately (not the codegen story): #82 (1.3), #83 (min_distance), #84 (datalake), #85 (Black), #86 (cache pin); external #56/#72/#77.

Paired layer: PyMEOS-CFFI needs its own manifest + GENERATION.md (its stack drives pymeos_cffi/functions.py from meos-idl.json via builder/).

Why

Per the per-binding generator policy: each binding owns its generator + its own pin manifest, the single source of truth is the MEOS-API catalog, and generation converges to a zero-hand-written surface via generate-then-retire.

master predates the meos-idl.json OO codegen, which lives in the open stack.
Add tools/pin/compose-order.txt (the canonical fold manifest with the
disposition of every open PR; MobilityDB#95 is the verified OO-codegen frontier
containing MobilityDB#88/MobilityDB#89 and the family-switch stack) and GENERATION.md (the
per-binding generator policy: PyMEOS is two layers — PyMEOS-CFFI low-level +
the PyMEOS OO layer generated by tools/oo_codegen/codegen.py; the regular
families switch to generated mixins generate-then-retire).
@estebanzimanyi estebanzimanyi force-pushed the tooling/canonical-generator-policy branch from 515118b to 63c61f0 Compare June 25, 2026 21:41
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.

1 participant