Guides¶
These guides cover marimo's core concepts.
Learn by doing!
Prefer a hands-on learning experience? marimo comes packaged with interactive
tutorials that you can launch with marimo tutorial at the command line.
| Guide | Description |
|---|---|
| Running cells | Understanding how marimo runs cells |
| Interactive elements | Using interactive UI elements |
| Visualizing outputs | Creating markdown, plots, and other visual outputs |
| Migrating from Jupyter | Tips for transitioning from Jupyter |
| Expensive notebooks | Tips for working with expensive notebooks |
| Understanding errors | Understanding marimo's constraints on notebook code |
| Lint rules | Comprehensive linting system and rule reference |
| Working with data | Using SQL cells, no-code dataframe, and reactive plots |
| Package management | Inlining dependencies in notebook files and other package management guides |
| Generate with AI | Generate notebooks with AI |
| Editor features | View variables, dataframe schemas, docstrings, and more |
| Using your own editor | Edit notebooks in your own editor and stream changes back to the browser |
| Apps | Running notebooks as apps |
| Scripts | Running notebooks as scripts |
| Reusing functions and classes | Importing functions and classes defined in marimo notebooks |
| Tests | Running unit tests in notebooks |
| Export to other formats | Export notebooks to HTML, PDF, ipynb, scripts, and more |
| Run and share in the cloud with molab | Share cloud-hosted notebooks for free, preview from GitHub, embed in webpages |
| Publish to the web | Publish notebooks to molab, embed in webpages, to/from GitHub, and more |
| Deploy notebook servers or apps | Deploy notebook servers (JupyterHub, Kubernetes) or read-only apps |
| WebAssembly notebooks | Run notebooks entirely in the browser with WebAssembly |
| Configuration | Configure various settings |
| Coming from other tools | Transitioning from Jupyter and other tools |
| Extending marimo | Rich displays of objects, custom UI plugins |
| State management | Advanced: mutable reactive state |
| Best practices | Best practices to help you get the most out of marimo |
| Debugging | Interactive debugging with pdb, debugpy, and AI assistance |
| Troubleshooting | Troubleshooting notebooks |