streamlit-to-marimo

Installation
SKILL.md

Converting Streamlit Apps to Marimo

For general marimo notebook conventions (cell structure, PEP 723 metadata, output rendering, marimo check, variable naming, etc.), refer to the marimo-notebook skill. This skill focuses specifically on mapping Streamlit concepts to marimo equivalents.

Steps

  1. Read the Streamlit app to understand its widgets, layout, and state management.

  2. Create a new marimo notebook following the marimo-notebook skill conventions. Add all dependencies the Streamlit app uses (pandas, plotly, altair, etc.) — but replace streamlit with marimo. You should not overwrite the original file.

  3. Map Streamlit components to marimo equivalents using the reference tables below. Key principles:

    • UI elements are assigned to variables and their current value is accessed via .value.
    • Cells that reference a UI element automatically re-run when the user interacts with it — no callbacks needed.
  4. Handle conceptual differences in execution model, state, and caching (see below).

  5. Run uvx marimo check on the result and fix any issues.

Widget Mapping Reference

Related skills
Installs
737
GitHub Stars
134
First Seen
Mar 4, 2026