Richly display objects

marimo has built-in rich representations of many objects, including native Python objects like lists and dicts as well as marimo objects like UI elements and libraries, including matplotlib, seaborn, Plotly, altair pandas, and more. These rich representations are displayed for the last expression of a cell, or when using mo.output.append.

You can register rich displays with marimo for your own objects.

Option 1: Implement a _mime_ method

When displaying an object, marimo’s media viewer checks for the presence of a method called _mime_. This method should take no arguments and return a tuple of two strings, the mime type and data to be displayed.


Option 2: Add a formatter to the marimo repo

When you don’t have the ability to implement a _mime_ method on the type you want displayed, you can register custom formatters with marimo.

We welcome contributors to add formatters to the marimo codebase. Look at our codebase for examples, then open a pull request.