personalize your experience with marimo
# Install motheme CLI tool
pip install motheme
# Help messages
motheme
# Initialize themes
motheme update
# List available themes
motheme themes
# Apply a theme to specific files
motheme apply coldme notebook1.py notebook2.py
# Or, apply theme recursively in a directory
motheme apply -r coldme ./
Note
Please note that some parts of the Marimo notebook are not fully exposed for customization at this time. This includes side panels and cell editors
Warning
You may want to run motheme clear -r ./
before sharing or uploading your
notebooks because the field css_file
in marimo.App()
may leak your
private data.
You can also add motheme
as a uv tool
# install motheme as a uv tool
uv tool install motheme
# use motheme
uvx motheme <command>
-
Requirements: Ensure you are using Marimo version 0.9.14 or higher. It is recommended to keep your Marimo version up-to-date for the best experience.
-
Light and Dark Mode Support: All themes support both light and dark modes and will switch automatically based on your notebook's current theme settings.
To contribute your own themes, please follow these guidelines:
-
Refer to Default Arguments: All available arguments are listed in
default.css
, which serves as a reference for writing your themes. You can experiment with other arguments, but please note that stability cannot be guaranteed with untested changes. -
Light and Dark Themes: Implement both light and dark themes using the light-dark syntax as demonstrated in
default.css
. If you choose not to implement a theme for a specific mode, name your theme asxxx_light
orxxx_dark
and use the default values for the respective mode fromdefault.css
. -
Folder Structure: After finishing your CSS file, create a new folder inside
themes
with the name of your theme. Within this folder, upload the following:- The CSS file
- Preview images
- An optional
README.md
file to illustrate your design
-
Design Using Sample: You can design your theme using the
sample.py
file provided in the repository. This file helps visualize how your theme will look in the Marimo notebook.