Skip to main content

Marimo Theming Management

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

motheme-0.2.0.tar.gz (3.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

motheme-0.2.0-py3-none-any.whl (28.1 kB view details)

Uploaded Python 3

File details

Details for the file motheme-0.2.0.tar.gz.

File metadata

  • Download URL: motheme-0.2.0.tar.gz
  • Upload date:
  • Size: 3.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for motheme-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d273381a9b64aba408f2b4320a9e63a45f78cb2a43151707d4e669f5148cce5d
MD5 ea035e9cbf35fd6dbd3cfad7922dd558
BLAKE2b-256 8d6cadd2eba70fe9c7146eeb7bfcab50d7655a512221498c04575db3954b9e32

See more details on using hashes here.

File details

Details for the file motheme-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: motheme-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 28.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for motheme-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90030cd51f2de431903ee00529e36e82aa5d06bcd142ea56af21b42572064e89
MD5 9f40be277364addf701859e532be08ed
BLAKE2b-256 4011d2589840c8bc5f2da1440a385404520bf0a4dfe054f40c4a112e02f62c3f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page