Skip to content

Qualified versions and limitations

YIDL's declared Python requirement is CPython 3.12 or newer (3.12+), matching requires-python >=3.12. The exact CPython 3.12.12 version below records the environment used to reproduce these examples. The table describes executed qualification; it does not restrict installation to that patch version or qualify every Python/backend/platform combination.

Documentation candidate: YIDL revision ee5ded0854aa5b1fc0ddfa7213b765009b63bb95 for the original compiler/runtime examples, package version 0.1.0. Later metadata and documentation updates are assessed separately. Version metadata does not establish registry release readiness.

Route Python / SDK / backend Evidence boundary
New class/capture/control-flow/comparison recipes CPython 3.12.12, installed current YIDL wheel, published Astichi 1.1.3, explicit Python Fresh installed standalone runs plus canonical snapshots/behavior assertions
Generation and canonical golden suite Same interpreter/Astichi, YIDL repository source 239 passing checks; source path configured by pytest, not an installed-package claim
Existing original-candidate native/cross-host checks Separately recorded Mac/Windows/Pi matrix Do not transfer those results to these later documentation examples
Python 3.13 / 3.14 tutorial Unqualified in this documentation run Listed package classifiers are not evidence for this example
Native Rust tutorial Unqualified until explicitly run with actual dispatch evidence A request or auto-selection alone is insufficient
Consumer excerpts Fixed owning revisions below; local accepted checkpoint evidence Read-only explanatory excerpts, not reproduced package acceptance here

Known boundaries

Case Classification / usable disposition
Astichi runtime dependency This candidate declares Astichi 1.1.3; older wheels may omit it
Old local dist artifact missing concept API Confirmed stale-artifact hazard; build intended candidate
yidl-compile Legacy transducer helper generator; Python concept API is current route
yidl.embed Designed bootstrap, unavailable current public route
Lifecycle excerpt baseline The pinned excerpts predate its annotation fix; these historical results do not describe the latest Lifecycle candidate
Nested indexed scalar-expression chain (D17) Unresolved mechanism; flat consumer alternative has bounded evidence
Static scalar carrier / bare references (D19) Backend-sensitive observed boundary; no universal recipe or no-overhead claim
Mandatory empty holes Explicit fillers required; demonstrated by zero-field and disabled-init tutorial
Mutable captures/template reuse Separate ownership contracts; no general thread-safety or native failure-isolation proof
Callable providers/cycles Consumer policy; no generic DDS resolver/reachability claim
Complex compound Python insertions control_flow.py qualifies its exact interacting constructs; other positions/minors deferred
Nested two-record template edge environment Not a general API claim; explicit generic evaluated fields are distinct
Two-consumer packaging reproduction Consumer-specific evidence; not made a standalone tutorial prerequisite

Existing original-candidate testing includes known Python Lifecycle source-hygiene golden drift and Windows cache diagnostics failure. Neither is described as universal success or silently fixed here. Consumer package checkpoints are not proof of unrelated-domain generality.

The example catalog gives commands and ownership. The troubleshooting index gives remedies without promoting unresolved hypotheses into compiler defects.

Downstream dependency versions

Lifecycle ships generated builders and pins the exact published YIDL version used to regenerate and test them. Updating that pin requires a compatible Lifecycle release; installing a newer YIDL does not regenerate its shipped base. The current Lifecycle markers use compat-sentinel 0.1.2 independently of YIDL's helper. Astichi remains part of the generation runtime and its current tested version is pinned; a wider supported range needs separate qualification. See Lifecycle's release contract.

The standalone Cache package has no YIDL or Astichi runtime dependency. These current package policies do not change the revisions of the excerpts above.