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

1 participant