Skip to main content

Marimo Custom Themes

[!NOTE]

Some parts of the Marimo notebook are not fully exposed for customization at this time

[!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

Theme Gallery

Ayu

Ayu Light Ayu Dark

Gruvbox

Gruvbox Light Gruvbox Dark

Solarized

Solarized Light Solarized Dark

Installation

Using pip

# Install motheme CLI tool
pip install motheme

Using uv

# Install motheme CLI tool
uvx motheme

Using git (development)

# Clone the repository
git clone https://github.com/metaboulie/marimo-themes.git
cd marimo-themes

# Install the package in development mode
pip install -e .

Usage

Synopsis

motheme [-h | --help] [--version]
        <command> [<args>]

These are common motheme commands:

Theme management
   ls          List available themes and fonts
   download    Download themes from repository
   apply       Apply a theme to notebook files
   clear       Remove theme settings from notebooks
   current     Show current theme for notebooks
   create      Create a new theme by copying an existing one
   remove      Remove theme files from themes directory

Font template management
   font        Manage font templates for themes

Commands

motheme ls

motheme ls [--all | -a] [--all-themes] [--installed] [--not-installed] [--custom] [--font]

    --all, -a           List all available themes and fonts with attributes
    --all-themes        List all available themes
    --installed         List installed themes (default if no flag specified)
    --not-installed     List themes that are not installed
    --custom            List custom themes
    --font              List all font templates

motheme download

motheme download [<theme_name>...] [--all | -a]

    <theme_name>...     Names of themes to download
    --all, -a           Download all available themes

motheme apply

motheme apply <theme_name> <file>... [--recursive | -r] [--quiet | -q] [--git-ignore | -i]

    <theme_name>        Name of the theme to apply
    <file>...           File/directory paths
    --recursive, -r     Recursively search directories for Marimo notebooks
    --quiet, -q         Suppress output
    --git-ignore, -i    Ignore files that are not tracked by git

motheme clear

motheme clear <file>... [--recursive | -r] [--quiet | -q] [--git-ignore | -i]

    <file>...           File/directory paths
    --recursive, -r     Recursively search directories for Marimo notebooks
    --quiet, -q         Suppress output
    --git-ignore, -i    Ignore files that are not tracked by git

motheme current

motheme current <file>... [--recursive | -r] [--quiet | -q] [--git-ignore | -i]

    <file>...           File/directory paths
    --recursive, -r     Recursively search directories for Marimo notebooks
    --quiet, -q         Suppress output
    --git-ignore, -i    Ignore files that are not tracked by git

motheme create

motheme create <ref_theme_name> <theme_name>

    <ref_theme_name>    Name of the reference theme to duplicate
    <theme_name>        Name for the new theme

motheme remove

motheme remove [<theme_name>...] [--all | -a]

    <theme_name>...     Names of themes to remove
    --all, -a           Remove all installed themes

motheme font

motheme font <subcommand> [<args>]

Subcommands:
    ls          List available font templates
    set         Apply a font template to themes
    create      Create a new font template
    validate    Validate font template structure
motheme font ls
motheme font ls

    Lists all available font templates
motheme font set
motheme font set <font_name> [<theme_name>...] [--all | -a]

    <font_name>         Name of the font template to apply
    <theme_name>...     Names of themes to apply the font to
    --all, -a           Apply to all installed themes
motheme font create
motheme font create <font_name> [<ref_font_name>]

    <font_name>         Name for the new font
    <ref_font_name>     Name of the reference font to duplicate (defaults to 'default')
motheme font validate
motheme font validate <font_name>

    <font_name>         Name of the font template to validate

Workflow Examples

Complete Theme Setup

# 1. Check available themes
motheme ls --not-installed

# 2. Download desired themes
motheme download ayu nord

# 3. Apply theme to your notebooks
motheme apply ayu my_notebook.py

# 4. Check which theme is applied
motheme current my_notebook.py

Customizing Fonts

# 1. List available font templates
motheme font ls

# 2. Create a custom font template
motheme font create my_custom_font

# 3. Apply the font to themes
motheme font set my_custom_font ayu nord

# 4. Apply the themed font to notebooks
motheme apply ayu my_notebook.py

Creating Custom Themes

# 1. Create a new theme based on an existing one
motheme create ayu my_custom_theme

# 2. Apply your custom theme
motheme apply my_custom_theme my_notebook.py

Metadata

Release files for motheme 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for motheme 0.2.0
File Size Uploaded
motheme-0.2.0.tar.gz 3.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for motheme 0.2.0
File Interpreter ABI Platform
motheme-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.9 MB

Release files / motheme-0.2.0.tar.gz

Download URL motheme-0.2.0.tar.gz
Size 3.8 MB
Tags Source
SHA-256 checksum
How to use checksums
d273381a9b64aba408f2b4320a9e63a45f78cb2a43151707d4e669f5148cce5d
BLAKE2b-256 checksum
How to use checksums
8d6cadd2eba70fe9c7146eeb7bfcab50d7655a512221498c04575db3954b9e32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.28.1

Release files / motheme-0.2.0-py3-none-any.whl

Download URL motheme-0.2.0-py3-none-any.whl
Size 28.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
90030cd51f2de431903ee00529e36e82aa5d06bcd142ea56af21b42572064e89
BLAKE2b-256 checksum
How to use checksums
4011d2589840c8bc5f2da1440a385404520bf0a4dfe054f40c4a112e02f62c3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.28.1

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page