# marimo > The next generation of Python notebooks - [marimo](https://docs.marimo.io/index.md): marimo is an open-source reactive Python notebook: run a cell or interact with a UI element, and… - [Commands](https://docs.marimo.io/cli.md): Welcome to marimo! Getting started: - [FAQ](https://docs.marimo.io/faq.md): marimo is a reinvention of the Python notebook as a reproducible, interactive, and shareable Python… - [Readings & Videos](https://docs.marimo.io/reading.md): marimo is a reinvention of the Python notebook. As a reinvention, marimo may push to you rethink… - [Changelog](https://github.com/marimo-team/marimo/releases) - [Security](https://docs.marimo.io/security.md): marimo takes security seriously. This document describes marimo's security model, our approach to… ## Getting Started - [Getting Started](https://docs.marimo.io/getting_started.md): These tutorials will help you get started with marimo - [Installation](https://docs.marimo.io/getting_started/installation.md): Before installing marimo, we recommend creating and activating a Python - [Quickstart](https://docs.marimo.io/getting_started/quickstart.md): Installing marimo gets you the marimo command-line interface (CLI), the entry point to all things… - [Key Concepts](https://docs.marimo.io/getting_started/key_concepts.md): This page covers marimo's key concepts: ## User Guide - [User Guide](https://docs.marimo.io/guides.md): These guides cover marimo's core concepts. - [Running cells](https://docs.marimo.io/guides/reactivity.md): marimo reacts to your code changes: run a cell, and all other cells that refer to the variables it… - [Interactive elements](https://docs.marimo.io/guides/interactivity.md): One of marimo's most powerful features is its first-class support for interactive user interface… - [Visualize outputs](https://docs.marimo.io/guides/outputs.md): The last expression of a cell is its visual output, rendered above the cell. Outputs are included… - [Working with data](https://docs.marimo.io/guides/working_with_data.md): These guides introduce you to marimo's features for working with data, including SQL cells, no-code… - [DataFrames](https://docs.marimo.io/guides/working_with_data/dataframes.md): aggregations, and more, no code required - [SQL](https://docs.marimo.io/guides/working_with_data/sql.md): marimo lets you mix and match Python and SQL: Use SQL to query Python dataframes (or databases like… - [Plotting](https://docs.marimo.io/guides/working_with_data/plotting.md): marimo supports most major plotting libraries, including Matplotlib, Seaborn, Plotly, Altair, and… - [Remote Storage](https://docs.marimo.io/guides/working_with_data/remote_storage.md): marimo makes it easy to work with cloud storage and remote filesystems by automatically detecting… - [Migrate from Jupyter](https://docs.marimo.io/guides/coming_from/jupyter.md): If you're coming from Jupyter, here are a few tips to help you adapt to marimo notebooks. - [Expensive notebooks](https://docs.marimo.io/guides/expensive_notebooks.md): marimo provides tools to control when cells run. Use these tools to prevent expensive cells, which… - [Understanding errors](https://docs.marimo.io/guides/understanding_errors.md): marimo imposes a few constraints on your notebook code: - [Multiple definitions](https://docs.marimo.io/guides/understanding_errors/multiple_definitions.md): You're probably on this page because you just saw an error like this one: - [Import star](https://docs.marimo.io/guides/understanding_errors/import_star.md): You're probably on this page because you just saw an error like this one: - [Cycles](https://docs.marimo.io/guides/understanding_errors/cycles.md): You're probably on this page because you just saw an error like this one: - [Setup References](https://docs.marimo.io/guides/understanding_errors/setup.md): You're probably on this page because you just saw an error like this one: - [Package management](https://docs.marimo.io/guides/package_management.md): The following guides cover how to import, install, and otherwise manage the Python dependencies of… - [Importing packages](https://docs.marimo.io/guides/package_management/importing_packages.md): By default, marimo searches for packages in the virtual environment it was started in. For example,… - [Installing packages](https://docs.marimo.io/guides/package_management/installing_packages.md): marimo supports package management for pip, uv, poetry, pixi, and rye. When marimo comes across a… - [Inlining dependencies](https://docs.marimo.io/guides/package_management/inlining_dependencies.md): marimo is the only Python notebook that is reproducible down to the packages, letting you inline… - [Notebooks in existing projects](https://docs.marimo.io/guides/package_management/notebooks_in_projects.md): When working with notebooks in existing projects, there are two main approaches depending on your… - [Using uv](https://docs.marimo.io/guides/package_management/using_uv.md): project manager: you can use it to install packages, manage the dependencies of Python projects,… - [Generate with AI](https://docs.marimo.io/guides/generate_with_ai.md): There are three ways to use AI with marimo. - [Pair with agents via marimo pair](https://docs.marimo.io/guides/generate_with_ai/marimo_pair.md): Give your agent CLIs (such as Claude Code, Codex, and OpenCode) full access to running marimo… - [Customize your agent](https://docs.marimo.io/guides/generate_with_ai/customize_your_agent.md): Agent CLIs like Claude Code, Codex, and OpenCode work best with marimo when you give them… - [The editor's AI assistant](https://docs.marimo.io/guides/editor_features/ai_completion.md): marimo is an AI-native editor, with support for full-cell AI code generation: - [Generate notebooks with marimo new](https://docs.marimo.io/guides/generate_with_ai/text_to_notebook.md): Use marimo new at the command line to generate entirely new notebooks using an LLM. - [Editor features](https://docs.marimo.io/guides/editor_features.md): The marimo editor is the browser-based IDE in which you write marimo notebooks. We've taken a… - [Editor overview](https://docs.marimo.io/guides/editor_features/overview.md): This guide introduces some of marimo editor's features, including a variables panel, dependency… - [Home page](https://docs.marimo.io/guides/editor_features/home.md): Running marimo edit without a filename opens the home page, which lets you browse and manage… - [Sidebar and Developer Panel](https://docs.marimo.io/guides/editor_features/panels.md): marimo organizes editor tools into two main areas: the sidebar on the left and the developer panel… - [Understanding dataflow](https://docs.marimo.io/guides/editor_features/dataflow.md): Unlike traditional notebooks, marimo understands the relationships between cells and uses this… - [Module autoreloading](https://docs.marimo.io/guides/editor_features/module_autoreloading.md): marimo has an advanced module autoreloader built-in, which you can enable in the notebook settings.… - [Hotkeys](https://docs.marimo.io/guides/editor_features/hotkeys.md): If you'd like to override the default hotkeys, you can do so in the hotkeys menu… - [Model Context Protocol](https://docs.marimo.io/guides/editor_features/mcp.md): marimo supports the Model Context Protocol (MCP) in two ways: as an MCP server that exposes… - [AI tools](https://docs.marimo.io/guides/editor_features/tools.md): marimo exposes a set of tools that allow AI assistants to interact with your notebooks. These tools… - [Agents](https://docs.marimo.io/guides/editor_features/agents.md): marimo supports external AI agents that can interact with your codebase through the Agent Client… - [Language Server](https://docs.marimo.io/guides/editor_features/language_server.md): The marimo editor supports the Language Server Protocol (LSP) to provide enhanced code intelligence… - [Package management](https://docs.marimo.io/guides/editor_features/package_management.md): marimo supports package management for pip, uv, poetry, pixi, and rye. When marimo comes across a… - [Using your own editor](https://docs.marimo.io/guides/editor_features/watching.md): While we recommend using the marimo editor, we understand that you may prefer to use your own.… - [Run notebooks as apps](https://docs.marimo.io/guides/apps.md): The marimo CLI lets you run any notebook as an app: marimo run lays out the notebook as an app and… - [Run notebooks as scripts](https://docs.marimo.io/guides/scripts.md): You can run marimo notebooks as scripts at the command line, just like any other Python script. For… - [Reuse functions and classes](https://docs.marimo.io/guides/reusing_functions.md): You can import top-level functions and classes defined in a marimo notebook into other Python… - [Run in the cloud with molab](https://docs.marimo.io/guides/molab.md): environment. Notebooks run on powerful compute, with generous CPU, RAM, and GPUs. molab is designed… - [Export to other formats](https://docs.marimo.io/guides/exporting.md): Export marimo notebooks to other file formats from the browser editor. Notebooks can also be… - [Static HTML](https://docs.marimo.io/guides/exporting/static_html.md): Export your notebook to a static, non-interactive HTML file. - [PDF](https://docs.marimo.io/guides/exporting/pdf.md): Export marimo notebooks to PDF documents or slide decks. - [Jupyter notebook](https://docs.marimo.io/guides/exporting/jupyter_notebook.md): Export marimo notebooks to Jupyter .ipynb format. This lets you go from marimo into the vast… - [Quarto](https://docs.marimo.io/guides/exporting/quarto.md): used open-source scientific and technical publishing system that can be used to create documents,… - [Jupyter Book](https://docs.marimo.io/guides/exporting/jupyter_book.md): computational books, documentation, and course materials built from MyST Markdown and notebooks. - [MDX](https://docs.marimo.io/guides/exporting/mdx.md): marimo's mdx-marimo package renders marimo code fences as connected, reactive cells inside MDX… - [Python script](https://docs.marimo.io/guides/exporting/python_script.md): Export marimo notebooks to flat Python scripts. - [Markdown](https://docs.marimo.io/guides/exporting/markdown.md): Export marimo notebooks to markdown. - [WebAssembly HTML](https://docs.marimo.io/guides/exporting/webassembly_html.md): Export your notebook to a self-contained HTML file that runs using WebAssembly. - [Session snapshots](https://docs.marimo.io/guides/exporting/sessions.md): Run notebooks and write their serialized session snapshots. - [Publish to the web](https://docs.marimo.io/guides/publishing.md): You can publish exported marimo notebooks to the web. - [molab (recommended)](https://docs.marimo.io/guides/molab.md): environment. Notebooks run on powerful compute, with generous CPU, RAM, and GPUs. molab is designed… - [Public gallery](https://docs.marimo.io/guides/publishing/public_gallery.md): The marimo gallery showcases the best notebooks from our team and community. To be considered for… - [GitHub](https://docs.marimo.io/guides/publishing/github.md): marimo makes it very easy to share links to executable notebooks from notebooks hosted on GitHub. - [Embed in other webpages](https://docs.marimo.io/guides/publishing/embedding.md): There are various ways to embed marimo notebooks in other webpages, such as web documentation,… - [Cloudflare](https://docs.marimo.io/guides/publishing/cloudflare.md): You can publish executable notebooks to Cloudflare Workers for free, after exporting your notebook… - [Self-host WebAssembly notebooks](https://docs.marimo.io/guides/publishing/self_host_wasm.md): As an alternative to GitHub Pages, it is possible to self-host exported WebAssembly notebooks: - [OpenGraph previews](https://docs.marimo.io/guides/publishing/opengraph.md): marimo can attach OpenGraph metadata to notebooks for: - [Thumbnails](https://docs.marimo.io/guides/publishing/thumbnails.md): Generate screenshot-based thumbnail images for notebooks, used by OpenGraph previews and cards in… - [Deploy notebooks](https://docs.marimo.io/guides/deploying.md): marimo can be deployed as an "edit" server for creating, running, and editing notebooks, or an app… - [Prebuilt containers](https://docs.marimo.io/guides/deploying/prebuilt_containers.md): marimo provides prebuilt containers for running a marimo server. - [JupyterHub](https://docs.marimo.io/guides/deploying/jupyterhub.md): The marimo JupyterLab extension integrates marimo into JupyterLab and JupyterHub, letting you… - [Kubernetes](https://docs.marimo.io/guides/deploying/deploying_kubernetes.md): The marimo-operator is a Kubernetes operator that manages marimo notebook deployments. It handles… - [SkyPilot](https://docs.marimo.io/guides/deploying/deploying_skypilot.md): marimo notebooks work exceptionally well with SkyPilot because they are stored as pure Python… - [Slurm](https://docs.marimo.io/guides/deploying/deploying_slurm.md): This guide shows how to run marimo notebooks on Slurm-managed clusters, including traditional HPC… - [FastAPI](https://docs.marimo.io/guides/deploying/programmatically.md): marimo can be run programmatically using the marimo module. This is useful when you want to run… - [Authentication](https://docs.marimo.io/guides/deploying/authentication.md): marimo provides a simple way to add token/password protection to your marimo server. Given that… - [Docker](https://docs.marimo.io/guides/deploying/deploying_docker.md): Dockerfile is a text file that contains instructions for building a Docker image. Here's an example… - [HuggingFace](https://docs.marimo.io/guides/deploying/deploying_hugging_face.md): Hugging Face is a platform that allows you to deploy machine learning models and applications… - [Railway](https://docs.marimo.io/guides/deploying/deploying_railway.md): Railway is a platform that allows you to deploy Dockerize containers easily. Using this pre-built… - [nginx](https://docs.marimo.io/guides/deploying/deploying_nginx.md): nginx is a popular web server that can be used as a reverse proxy for web applications. This guide… - [WebAssembly notebooks](https://docs.marimo.io/guides/wasm.md): marimo lets you execute notebooks entirely in the browser, without a backend executing Python.… - [Configuration](https://docs.marimo.io/guides/configuration.md): marimo offers two types of configuration: User Settings, which apply globally to all your… - [Runtime configuration](https://docs.marimo.io/guides/configuration/runtime_configuration.md): Through the notebook settings menu or notebook footer, you can configure how and when marimo runs… - [LLM Providers](https://docs.marimo.io/guides/configuration/llm_providers.md): Connect marimo to an LLM via the notebook Settings panel (recommended) or by editing marimo.toml… - [HTML head](https://docs.marimo.io/guides/configuration/html_head.md): You can include a custom HTML head file to add additional functionality to your notebook, such as… - [Theming](https://docs.marimo.io/guides/configuration/theming.md): marimo provides basic support for theming. You can include a custom CSS file in your notebook that… - [Snippets](https://docs.marimo.io/guides/configuration/snippets.md): marimo provides a snippets feature that allows you to quickly insert commonly used code blocks into… - [i18n](https://docs.marimo.io/guides/configuration/internationalization.md): marimo provides basic internationalization support through locale configuration. This primarily… - [Extending marimo](https://docs.marimo.io/guides/integrating_with_marimo.md): These guides will help you integrate your objects with marimo and hook into marimo's reactive… - [Custom UI plugins](https://docs.marimo.io/guides/integrating_with_marimo/custom_ui_plugins.md): Build custom UI plugins that hook into marimo’s reactive execution engine by using anywidget. See… - [Displaying objects](https://docs.marimo.io/guides/integrating_with_marimo/displaying_objects.md): marimo has built-in rich representations of many objects, including native Python objects like… - [Coming from other tools](https://docs.marimo.io/guides/coming_from.md): marimo is a single tool that replaces jupyter, streamlit, jupytext, ipywidgets, papermill, and more. - [Jupytext](https://docs.marimo.io/guides/coming_from/jupytext.md): If you're familiar with Jupytext, you'll find that marimo offers similar functionality for working… - [Papermill](https://docs.marimo.io/guides/coming_from/papermill.md): marimo provides built-in support for parametrizing and executing marimo notebooks. If you're… - [Streamlit](https://docs.marimo.io/guides/coming_from/streamlit.md): If you're familiar with Streamlit and looking to transition to marimo, read on. - [Best practices](https://docs.marimo.io/guides/best_practices.md): Here are best practices for writing marimo notebooks. - [Debugging](https://docs.marimo.io/guides/debugging.md): marimo supports pdb, the Python debugger. Set breakpoints in your code using the built-in… - [Lint Rules](https://docs.marimo.io/guides/lint_rules.md): marimo includes a linter that helps you write better notebooks. The linter checks for various… - [Unparsable cells](https://docs.marimo.io/guides/lint_rules/rules/unparsable_cells.md): 🚨 Breaking ❌ Not Fixable - [Multiple definitions](https://docs.marimo.io/guides/lint_rules/rules/multiple_definitions.md): 🚨 Breaking ❌ Not Fixable - [Cycle dependencies](https://docs.marimo.io/guides/lint_rules/rules/cycle_dependencies.md): 🚨 Breaking ❌ Not Fixable - [Setup cell dependencies](https://docs.marimo.io/guides/lint_rules/rules/setup_cell_dependencies.md): 🚨 Breaking ❌ Not Fixable - [Syntax error](https://docs.marimo.io/guides/lint_rules/rules/invalid_syntax.md): 🚨 Breaking ❌ Not Fixable - [Self Import](https://docs.marimo.io/guides/lint_rules/rules/self_import.md): ⚠️ Runtime ❌ Not Fixable - [Branch expression](https://docs.marimo.io/guides/lint_rules/rules/branch_expression.md): ⚠️ Runtime ❌ Not Fixable - [General formatting](https://docs.marimo.io/guides/lint_rules/rules/general_formatting.md): ✨ Formatting 🛠️ Fixable - [Parse stdout](https://docs.marimo.io/guides/lint_rules/rules/parse_stdout.md): ✨ Formatting ❌ Not Fixable - [Parse stderr](https://docs.marimo.io/guides/lint_rules/rules/parse_stderr.md): ✨ Formatting ❌ Not Fixable - [Empty cells](https://docs.marimo.io/guides/lint_rules/rules/empty_cells.md): ✨ Formatting ⚠️ Unsafe Fixable - [Markdown indentation](https://docs.marimo.io/guides/lint_rules/rules/markdown_indentation.md): ✨ Formatting 🛠️ Fixable - [SQL parse error](https://docs.marimo.io/guides/lint_rules/rules/sql_parse_error.md): ✨ Formatting ❌ Not Fixable - [Misc parse log](https://docs.marimo.io/guides/lint_rules/rules/misc_log_capture.md): ✨ Formatting ❌ Not Fixable - [Reusable ordering](https://docs.marimo.io/guides/lint_rules/rules/reusable_definition_order.md): ⚠️ Runtime ⚠️ Unsafe Fixable - [Private import alias](https://docs.marimo.io/guides/lint_rules/rules/private_import_alias.md): ⚠️ Runtime ❌ Not Fixable - [Incompatible import](https://docs.marimo.io/guides/lint_rules/rules/incompatible_import.md): 🌐 WASM ❌ Not Fixable - [Unsafe system call](https://docs.marimo.io/guides/lint_rules/rules/unsafe_system_call.md): 🌐 WASM ❌ Not Fixable - [Incompatible package](https://docs.marimo.io/guides/lint_rules/rules/incompatible_package.md): 🌐 WASM ❌ Not Fixable - [Testing notebooks](https://docs.marimo.io/guides/testing.md): Because marimo notebooks are stored as Python, test them like any other Python program. - [pytest](https://docs.marimo.io/guides/testing/pytest.md): By default, marimo discovers and executes tests inside your notebook. When the optional pytest… - [doctest](https://docs.marimo.io/guides/testing/doctest.md): You can test code snippets in docstrings using - [Troubleshooting](https://docs.marimo.io/guides/troubleshooting.md): marimo understands the relationships between cells based on the variables they define and… - [Dangerously set state](https://docs.marimo.io/guides/state.md): You can build powerful, interactive notebooks and apps using just mo.ui and reactivity. ## Examples - [Examples](https://docs.marimo.io/examples.md): This page includes dozens of bite-sized how-to examples to help you get started with marimo. Be… - [Recipes](https://docs.marimo.io/recipes.md): This page includes code snippets or "recipes" for a variety of common tasks. Use them as building… ## API Reference - [API Reference](https://docs.marimo.io/api.md): Use the marimo library in marimo notebooks (import marimo as mo) to - [Markdown](https://docs.marimo.io/api/markdown.md): Write markdown with mo.md; make your markdown interactive, dynamic, and visually rich by… - [Inputs](https://docs.marimo.io/api/inputs.md): marimo comes packaged with interactive UI elements that you can use to build powerful notebooks and… - [AnyWidget](https://docs.marimo.io/api/inputs/anywidget.md): Build custom UI plugins that hook into marimo's reactive execution engine by using anywidget. - [Array](https://docs.marimo.io/api/inputs/array.md): An array of UI elements. - [Batch](https://docs.marimo.io/api/inputs/batch.md): Convert an HTML object with templated text into a UI element. - [Button](https://docs.marimo.io/api/inputs/button.md): A button with an optional callback and optional value. - [Chat](https://docs.marimo.io/api/inputs/chat.md): The chat UI element provides an interactive chatbot interface for conversations. It can be… - [Checkbox](https://docs.marimo.io/api/inputs/checkbox.md): A boolean checkbox. - [Code Editor](https://docs.marimo.io/api/inputs/code_editor.md): A code editor. - [Data Editor](https://docs.marimo.io/api/inputs/data_editor.md): A data editor component for editing tabular data. - [Data Explorer](https://docs.marimo.io/api/inputs/data_explorer.md): The data explorer UI element outputs a visual editor explore your data via plotting and intelligent… - [DataFrame](https://docs.marimo.io/api/inputs/dataframe.md): The dataframe UI element outputs a visual editor to apply "transforms" to a dataframe, such as… - [Dates](https://docs.marimo.io/api/inputs/dates.md): A date picker with an optional start and stop date. - [Dictionary](https://docs.marimo.io/api/inputs/dictionary.md): A dictionary of UI elements. - [Dropdown](https://docs.marimo.io/api/inputs/dropdown.md): A dropdown selector. - [File](https://docs.marimo.io/api/inputs/file.md): A button or drag-and-drop area to upload a file. - [File Browser](https://docs.marimo.io/api/inputs/file_browser.md): File browser for browsing and selecting server-side files. This element supports local files, S3,… - [Form](https://docs.marimo.io/api/inputs/form.md): A submittable form linked to a UIElement. - [Matrix](https://docs.marimo.io/api/inputs/matrix.md): mo.ui.matrix also supports 1D (vector) input: - [Microphone](https://docs.marimo.io/api/inputs/microphone.md): An audio recorder element. - [Multiselect](https://docs.marimo.io/api/inputs/multiselect.md): A multiselect input. - [Navigation Menu](https://docs.marimo.io/api/inputs/nav_menu.md): Navigation menu component. - [Number](https://docs.marimo.io/api/inputs/number.md): A number picker over an interval. - [Radio](https://docs.marimo.io/api/inputs/radio.md): A radio group. - [Range Slider](https://docs.marimo.io/api/inputs/range_slider.md): A numeric slider for specifying a range over an interval. - [Refresh](https://docs.marimo.io/api/inputs/refresh.md): A refresh button that will auto-refresh its descendants for a given interval. - [Run Button](https://docs.marimo.io/api/inputs/run_button.md): A button that can be used to trigger computation. - [Slider](https://docs.marimo.io/api/inputs/slider.md): A numeric slider over an interval. - [Switch](https://docs.marimo.io/api/inputs/switch.md): A boolean switch. - [Table](https://docs.marimo.io/api/inputs/table.md): A table component with selectable rows. - [Tabs](https://docs.marimo.io/api/inputs/tabs.md): Display objects in a tabbed view. - [Text](https://docs.marimo.io/api/inputs/text.md): A text input. - [Text Area](https://docs.marimo.io/api/inputs/text_area.md): A text area that is larger than ui.text. - [Control Flow](https://docs.marimo.io/api/control_flow.md): Stops execution of a cell when predicate is True - [Layouts](https://docs.marimo.io/api/layouts.md): marimo has higher-order layout functions that you can use to arrange outputs in rows, columns,… - [Accordion](https://docs.marimo.io/api/layouts/accordion.md): An Html object representing an accordion of one or more items. - [Callout](https://docs.marimo.io/api/layouts/callout.md): An Html callout object. - [Carousel](https://docs.marimo.io/api/layouts/carousel.md): An Html object representing a carousel of items. - [Json](https://docs.marimo.io/api/layouts/json.md): Render a JSON with tree. - [Justify](https://docs.marimo.io/api/layouts/justify.md): Center an item. - [Lazy](https://docs.marimo.io/api/layouts/lazy.md): Lazy load a component until it is visible. - [Outline](https://docs.marimo.io/api/layouts/outline.md): Display a table of contents outline showing all markdown headers in the notebook. - [Plain](https://docs.marimo.io/api/layouts/plain.md): Wrap a value to indicate that it should be displayed without any opinionated formatting. - [Routes](https://docs.marimo.io/api/layouts/routes.md): Renders a list of routes that are switched based on the URL path. - [Sidebar](https://docs.marimo.io/api/layouts/sidebar.md): An Html object that displays content in a sidebar. - [Stacks](https://docs.marimo.io/api/layouts/stacks.md): Stack items horizontally, in a row. - [Stat](https://docs.marimo.io/api/layouts/stat.md): Display a statistic. - [Tree](https://docs.marimo.io/api/layouts/tree.md): Render a nested structure of lists, tuples, or dicts as a tree. - [Plotting](https://docs.marimo.io/api/plotting.md): marimo supports most major plotting libraries, including Matplotlib, Seaborn, Plotly, and Altair.… - [Media](https://docs.marimo.io/api/media.md): Use these functions to embed media in your outputs. - [Audio](https://docs.marimo.io/api/media/audio.md): Render an audio file as HTML. - [Download](https://docs.marimo.io/api/media/download.md): Show a download button for a url, bytes, or file-like object. - [Image](https://docs.marimo.io/api/media/image.md): Render an image as HTML. - [Image Compare](https://docs.marimo.io/api/media/image_compare.md): Render an image comparison slider to compare two images side by side. - [PDF](https://docs.marimo.io/api/media/pdf.md): Render a PDF. - [Plain Text](https://docs.marimo.io/api/media/plain_text.md): Text that's fixed-width, with spaces and newlines preserved. - [Video](https://docs.marimo.io/api/media/video.md): Render an video as HTML. - [Progress Bars and Status](https://docs.marimo.io/api/status.md): Use progress bars or spinners to visualize loading status in your notebooks and apps. Useful when… - [Outputs](https://docs.marimo.io/api/outputs.md): Replace a cell's output with a new one. - [Diagrams](https://docs.marimo.io/api/diagrams.md): Customize Mermaid styling with theme and themevariables: - [HTML](https://docs.marimo.io/api/html.md): All marimo elements extend the HTML element class. - [Query Parameters](https://docs.marimo.io/api/query_params.md): Query parameters are key-value pairs appended to the end of a URL to pass data to the server or… - [Command Line Arguments](https://docs.marimo.io/api/cli_args.md): When running as a script with python notebook.py, command-line arguments are available to your… - [Caching](https://docs.marimo.io/api/caching.md): marimo comes with utilities to cache intermediate computations. These utilities can be applied as… - [State](https://docs.marimo.io/api/state.md): Mutable reactive state. - [App](https://docs.marimo.io/api/app.md): A marimo notebook. - [Cell](https://docs.marimo.io/api/cell.md): An executable notebook cell - [Watch](https://docs.marimo.io/api/watch.md): A reactive wrapper for file paths. - [Miscellaneous](https://docs.marimo.io/api/miscellaneous.md): Returns True if running in a marimo notebook, False otherwise ## Community - [Community](https://docs.marimo.io/community.md): We're building a community. Come hang out with us! - [Contributing](https://github.com/marimo-team/marimo/blob/main/CONTRIBUTING.md) - [Code of Conduct](https://github.com/marimo-team/marimo/blob/main/CODE_OF_CONDUCT.md) ## Integrations - [Integrations](https://docs.marimo.io/integrations.md): It is easy to integrate your preferred data sources or data warehouses with marimo. Since marimo is… - [BigQuery](https://docs.marimo.io/integrations/google_cloud_bigquery.md): To use Google Cloud BigQuery as a data source, you will need to install the google-cloud-bigquery… - [Google Cloud Storage](https://docs.marimo.io/integrations/google_cloud_storage.md): To use Google Cloud Storage as a data source, you will need to install the google-cloud-storage… - [Google Sheets](https://docs.marimo.io/integrations/google_sheets.md): To use Google Sheets as a data source, you will need to install the gspread and oauth2client Python… - [MotherDuck](https://docs.marimo.io/integrations/motherduck.md): To use MotherDuck as a data source, you'll need to install the marimo[sql] Python package.