Pre-alpha · First usable release planned for late 2026.

Gramlot Rosetta One idea. Five implementations.

Lesson 03 · First steps

Input widgets

Try text, number, date, time, checkbox and multiline inputs. Gramlot’s formlet arranges labelled widgets in two fixed columns; each widget binds to its own Data field. Text fields commit on focus out, and the checkbox commits when toggled. This lesson covers field layout and editing, without submission or persistence.

Example · NiceGUI

Code

How it works · NiceGUI

NiceGUI creates the input widgets inside a CSS Grid container. Blur callbacks copy values into a page-local dictionary, while the checkbox uses value binding. Date and time use native browser editors and are kept as strings in this example.

How it compares

Both provide Python-authored widgets, so widget availability is not a Gramlot advantage here. Gramlot combines Data-path binding and the default commit policy with a formlet layout. The displayed NiceGUI version uses a grid and explicit blur callbacks; those callbacks can be factored into reusable application code, but Gramlot’s scope and commit policy do not require that extra code.