genro-builders
Last Updated: 2026-06-10 Status: 🟢 APPROVATO — allineato al contratto v0.8.0.
Builder system for genro-bag. Construct structured documents — HTML, SVG, CSS, XML dialects — through a fluent, validated Python API.
What ships today
Dialects under genro_builders.contrib, plus the XML core:
Grammar |
Module |
Notes |
|---|---|---|
HTML5 |
|
112 elements from the W3C schema |
SVG |
|
60+ elements |
CSS |
|
Level 1 (rules, selectors, vars, |
XSLT |
|
XSLT 1.0 stylesheets written pythonically; HTML5 vocabulary mixed in as literal result elements |
XML / XSD |
|
|
The live application layer (server-side SPA over websocket, the
effective widget collections, script genro-ws-live) lives in its own
project: genro-ws-web, built on genro-builders.
Where to start
Getting started — first page in 5 minutes.
Builders overview — what a builder is, how the lifecycle works, where the data lives.
Decorators —
@element,@abstract, sub-builders, and the data-elements.Components —
@componentand@container: reusable grammar, the three calling forms.Common patterns —
._chaining,node_by_id, render targets.Grammars — per-grammar reference: HTML, SVG, CSS, XSD dialects.
In-flight design
Documents describing where the project is heading — not yet shipped
in code — live in roadmap/ at the repo root:
roadmap/architecture-contract.md— the architectural contract (v0.8.0, in vigore dal 2026-06-10).roadmap/component-design.md— the component design record.roadmap/data-architecture.md— the data model (pointers, datapath, segments).roadmap/implementation-roadmap.md— the open-work map.roadmap/documentation-guide.md— how to write docs.roadmap/history.md— project timeline.
Status of the current scaffold
This documentation skeleton describes the framework as it exists
today: pull-based binding with read-time registration (DAT.2),
data presentation (mask/_wdg, DAT.5), data-elements with their
compute slice 1 (DAT.4), the multibuilder handler (HND), and push
reactivity Level 0 (handler.live(), RX.1). Features still under
design — components (CMP), @slot, the data-element cascade,
finer-grained reactivity — live in roadmap/ and will move to
docs/ when they ship.