Skip to main content

Interactive TOML config editor widget for Jupyter and marimo notebooks

Project description

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

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

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.

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