Skip to main content

marimo-toml-editor

An interactive TOML config editor widget for Jupyter and marimo notebooks — built with anywidget.

Features

  • 🗂 Tab-per-table navigation — each top-level TOML table is a tab
  • ✏️ Type-aware editors — strings, numbers, booleans (toggle), colors (color picker + hex field)
  • 📋 Rich list editor — per-item rows with reorder (↑↓) and delete
  • 🪆 Inline dict editor — shallow nested tables rendered as compact key-value rows
  • 🏷 Type badges — each key shows its type at a glance (str, int, bool, [], {})
  • 🔍 Search / filter — filter keys within a tab
  • Undo / Redo — full history
  • 💾 Save to disk — requires tomli-w
  • 🌗 Light + dark mode — follows system preference

Install

pip install marimo-toml-editor          # read-only
pip install "marimo-toml-editor[save]"  # with save support (tomli-w)

Usage

In marimo

import marimo as mo
from marimo_toml_editor import TomlConfigEditor

editor = mo.ui.anywidget(TomlConfigEditor("config.toml"))
editor

Access the current data reactively:

editor.value["data"]   # dict with the current TOML contents

In Jupyter

from marimo_toml_editor import TomlConfigEditor

w = TomlConfigEditor("config.toml")
w

Start from a dict (no file)

from marimo_toml_editor import TomlConfigEditor

w = TomlConfigEditor()
w.data = {
    "title": "My App",
    "debug": False,
    "server": {"host": "0.0.0.0", "port": 8080},
    "tags": ["web", "api"],
}

API

Attribute Type Description
data dict Current TOML data (synced)
path str File path (synced)
name str Display name (synced)
status str Last operation status message
Method Description
load(path) Load a TOML file
save(path?) Save to disk (requires tomli-w)

Development

git clone https://github.com/javirm3/marimo-toml-editor
cd marimo-toml-editor
uv run marimo edit examples/demo.py

License

MIT

Download files

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

Source Distribution

marimo_toml_editor-0.1.1.tar.gz (8.9 MB view details)

Uploaded Source

Built Distribution

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

marimo_toml_editor-0.1.1-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file marimo_toml_editor-0.1.1.tar.gz.

File metadata

  • Download URL: marimo_toml_editor-0.1.1.tar.gz
  • Upload date:
  • Size: 8.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for marimo_toml_editor-0.1.1.tar.gz
Algorithm Hash digest
SHA256 93862f48ef07f32341f07d08d93803b5ead96be4ae3701307c37f51e1f9b68ff
MD5 0f1c4b0a974c6cb5c9f5d4040a3db41a
BLAKE2b-256 214376853ee8cdf6de8c491f5b8a767c26bf487f67dc78554bc4b285fad7f4d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for marimo_toml_editor-0.1.1.tar.gz:

Publisher: publish.yml on javirm3/marimo-toml-editor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file marimo_toml_editor-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for marimo_toml_editor-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b90875293d8b9957d54feb98b6c00127ae82565b8114adba882b9e3de6506fef
MD5 a788811ea59174109ea752163708d2d3
BLAKE2b-256 a4e0e727cec5113a0b3d111c9b3bd4b43dcd50a65bb00a9264858ed570e102a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for marimo_toml_editor-0.1.1-py3-none-any.whl:

Publisher: publish.yml on javirm3/marimo-toml-editor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Supported by

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