Skip to content

Terminology

Use these nouns when reading the guides, APIs, command output, and export format. The concept pages introduce them through worked examples.

Product objects

TermMeaning
Notebook resultA Python value, rendered output, or complete cell produced by the notebook before export.
ProducerThe Python environment that inspects a notebook, executes selected states, and creates portable results.
ConsumerA Python reader, browser reader, agent, or custom implementation that reads a completed notebook export.
Notebook exportOne canonical index.json and the content-addressed assets declared by that index. Use export after the full noun is clear.
Export identityThe lowercase SHA-256 digest of the exact canonical index.json bytes. Python and browser readers expose it as NotebookExport.identity.
ProvenanceRecords that identify the source notebook, producer implementation, selected state, output representation, and asset bytes.

States and inputs

TermMeaning
DefinitionA name created by a notebook cell. Planning inspects definitions to find output sources and eligible inputs.
InputA definition whose value can vary between exported states. The ExportSpec omits an inputs field because planning infers the input names.
Captured baselineThe complete values of inferred inputs before an authored state row is applied. It comes from the initial autorun or selected live session. An alias named baseline has no special behavior.
State rowThe sparse object written under one state name in an ExportSpec. Omitted inputs keep their captured-baseline values.
State spaceA finite declaration of explicit state rows, a Cartesian input matrix, or both. StateSpace can be composed with an application-owned output plan.
Complete input vectorOne value for every inferred input, produced by completing and normalizing a state row.
Exported stateOne complete input vector, its aliases, and the named outputs stored for that vector.
State-output relationThe finite table that pairs each complete exported state with the same named output set.
State aliasAn authored state name that selects one state fingerprint. Several aliases can select the same state.
Default stateThe state selected when a reader receives no explicit selection. default_state names an alias in the ExportSpec and becomes a fingerprint in index.json.
State fingerprintThe lowercase SHA-256 digest of the canonical portable JSON for one complete input vector.
ObservationOne successful complete input vector retained as authoring evidence. Observations remain repository history until an author writes chosen rows into an ExportSpec.
Observation revisionThe monotonically increasing repository revision for a producer's observations. Hosts can use it to detect new authoring evidence.
Initial autorunmarimo's first dependency execution after opening a notebook. Planning uses it to inspect definitions and capture baseline input values.
Dependency closureA selected notebook result and every definition required to compute it. Planning uses this closure to infer inputs.
Input modeThe inspection field that reports whether a state row replaces a complete input value or applies a sparse AnyWidget patch.
Sensitive inputA marimo UI root that contains a password control. Planning excludes sensitive inputs from exported states.

Outputs and storage

TermMeaning
OutputOne published name and representation available for every exported state.
Output sourceThe json, native, export, output, or cell selection declared by an output spec.
SelectorA path from one Python definition through supported attribute or item steps to a selected notebook result.
ExporterA producer-side converter that returns a BlobAsset for one selected value.
Output planThe complete set of authored output declarations. Its identity changes when an output source, exporter, option, or declared dependency changes.
Output representationThe codec and media type that define how one output is stored and decoded. One output name keeps the same representation across every state.
CodecA versioned identifier for the native storage envelope, such as marimo.json.v1 or numpy.npy.v1.
Media typeThe standard content label for data inside a BlobAsset envelope. Custom representations should use a versioned media type.
Output descriptorThe index.json record that declares an output's representation, provenance, and inline value or asset reference.
BlobAssetRepresentation bytes with a media type, optional portable filename, and portable JSON metadata.
AssetA content-addressed file referenced by an output descriptor. Its path follows from its codec and SHA-256 digest.
Asset referenceThe SHA-256 and byte size recorded for one asset. Python names this record AssetRef. TypeScript names it AssetDescriptor.
Asset closureThe distinct set of assets declared by every output descriptor in a notebook export.
Repository artifactA prepared-state or export-generation directory managed by the export repository. A repository artifact can contain several output assets.
ProjectionThe isolated output-specific capture used to produce one planned output. Projection-scoped identifiers prevent resources from separate outputs from colliding.
Control bindingA durable mapping from one projection-scoped UI object ID to an exported input and a typed path within that input. PreparedStateController uses it to route accepted control values.
Output loaderA consumer-side decoder selected explicitly for an output's codec and media type. A browser loader receives verified data and returns inert data or a mountable value.
MountThe browser lifecycle that attaches a mountable value to a document element and returns a disposable view.

Planning and preparation

TermMeaning
ExportSpecThe authored declaration of one default state alias, sparse named state rows, and named output specs.
ExportPlanThe immutable result of planning. It contains identities, inferred inputs, normalized states, outputs, observations, and reusable or missing state fingerprints.
PlanResolve an ExportSpec against a producer and repository to expose normalized states, reusable work, and missing work.
PrepareStart a saved notebook when needed, execute missing states, and return a leased PreparedExport.
CapturePrepare through one named live marimo session while leaving that session active.
BuildPrepare from a saved notebook, write the notebook export, verify it, and close the preparation handle.
WriteCopy a PreparedExport to a destination, verify the staged files, and commit the complete directory.
Prepared stateA reusable portable result for one producer identity, output-plan identity, and state fingerprint.
Prepared exportA leased immutable export generation for one exact ExportSpec. The Python PreparedExport handle exposes it.
Export generationOne immutable prepared-export directory retained by the export repository.
Export repositoryPrivate local storage for observations, prepared states, export generations, leases, and retention metadata.
Artifact leaseA live ownership record that protects one prepared state, export generation, or detached prepared file from retention.
Staging leaseA live ownership record that protects an incomplete repository staging directory.
Preparation reservationA fenced claim that gives one producer operation commit authority for a repository identity.
Exact reuseReuse of a prepared export whose producer, output plan, and complete ExportSpec identities all match. Exact reuse can avoid notebook startup.
Producer identityThe SHA-256 identity that binds the notebook document, relevant source and installed environment, runtime facts, and producer implementation.
Output-plan identityThe SHA-256 identity of the complete authored outputs declaration.
ExportSpec identityThe spec_sha256 digest of the exact canonical ExportSpec.
Plan identityThe repository identity that combines producer, output-plan, and ExportSpec identities.
Prepared assetAn independently leased handle to one declared file in a PreparedExport.
Repository retentionThe bounded policy that selects unleased prepared states and export generations for pruning. Active leases protect their artifacts.

Reading and publication

TermMeaning
OpenParse and validate index.json, construct immutable reader objects, and leave assets lazy.
ResolveSelect a state already present in the notebook export by alias, complete input vector, or sparse patch from an existing state.
LoadVerify one output asset when present, then decode its representation through an explicit browser loader.
Prepared manifestA bounded marimo-export.prepared.v1 JSON record that names one notebook export identity, export URL, complete input vector, state fingerprint, and optional refresh interval.
Prepared publication in PythonA controller-owned PreparedExport and application metadata selected for one application key.
Prepared publication in the browserThe value that joins a validated prepared manifest, its opened notebook export, and its selected state.
Prepared publication controllerThe Python coordinator that keeps the last successful prepared export available while application inputs or observations change.
Prepared state controllerThe browser coordinator that applies semantic input changes, cancels stale transitions, and retains the last committed publication after a rejected transition.
Publication refreshThe browser lifecycle that fetches prepared manifests, reuses an already opened export when possible, and replaces the controller's publication.
Transition generationThe browser controller's monotonic sequence value for superseding stale application work. It is distinct from a repository export generation.

Integrity and trust

TermMeaning
Canonical JSONJSON encoded under one closed set of ordering, number, string, and tag rules so the same supported value has one byte representation.
Portable JSONNull, booleans, Unicode strings, JavaScript-safe finite numbers, arrays, and string-keyed objects accepted with matching Python and JavaScript semantics.
VerificationValidation of the canonical index and every declared asset against sizes, SHA-256 digests, framing, representation invariants, and descriptor agreement.
Integrity rootThe loaded canonical index.json whose declarations determine the files and identities that verification checks.
AuthenticationEvidence supplied by a delivery channel or another trust system that establishes who published the integrity root. Export verification establishes consistency with that root.
marimo computation cachemarimo-owned storage for notebook cell results, invalidation, restoration, serialization, signing, and cache stores. It is separate from the export repository.

Read States and inputs, Outputs and representations, Preparation and reuse, and Integrity and trust for the worked model.

Released under the Apache 2.0 License.