Get started – Python
fuaran_ui.ui is the Pythonic author surface – snake_case names, keyword
arguments, and encode that serialises byte-identically to the shared corpus.
Install
pip install fuaran-ui
Author a tree
A bare str becomes a Literal; a bare number becomes a Static binding.
from fuaran_ui.ui import fuaran, encode
tree = fuaran.dashboard(
"root",
children=[
fuaran.heading("title", "Channel performance"),
fuaran.markdown("note", "**Hello** from a Fuaran tree."),
],
)
Encode to canonical wire JSON
wire = encode(tree) # canonical JSON, byte-identical to every other host
The tree you just built
Rendered by this very site from the same canonical JSON, with a one-click link into the playground:
Channel performance
Hello from a Fuaran tree.
{"accessibility":{"role":"main"},"id":"root","kind":{"$type":"Box","children":[{"id":"title","kind":{"$type":"Heading","level":2,"text":"Channel performance","variant":"Standard"}},{"id":"note","kind":{"$type":"Markdown","text":"**Hello** from a Fuaran tree."}}],"layout":{"$type":"Auto"},"role":"Dashboard"}}
Next
- The Python host is headless (authoring + codec); render the wire with any conformant host – F#, TypeScript, or the playground.
- On .NET? The same tree authors in F#, C#, or VB – byte-identical on the wire.
- A tree carries traits and actions, not only kinds: any node may take a hint or a text direction, and a control's action may print, or copy a value the reader is looking at. See traits and actions.
- See the component reference and the guide.