Declare finite states
Name the state rows and outputs that every consumer can select.
Learn states and inputs
Select the notebook states and outputs your application needs. Run them through marimo, write one portable export, then read it from Python, TypeScript, agents, or custom clients.
Name the state rows and outputs that every consumer can select.
Learn states and inputs
Reuse matching states and complete exports across producer runs.
Understand reuse
Prepare from a saved notebook or a named live marimo session.
Choose a producer
Resolve exported states and load named outputs from Python or TypeScript.
Choose a reader
Serve immutable exports and configure caching, origins, and browser policy.
Deploy an export
Check canonical index bytes and every declared asset before consumption.
Understand integrity