Skip to main content

Widgets to use with marimo notebooks

Project description

dr_widget

dr_widget is a hybrid Python/Svelte project for building reusable AnyWidget components that can be dropped into Marimo notebooks today and exported to full Svelte apps later. The repository currently ships a Config File Manager widget, but the layout is designed to host additional widgets.

Quick Start

# Install JS dependencies (root + workspace)
bun install

# Live-reload the Config File Manager widget in a browser
bun run dev:config-file-manager

# Produce the optimized bundle used by AnyWidget
bun run build

# Build the Python distributions (wheel + sdist)
uv build

# Launch the Marimo demo notebook
marimo run notebooks/config_file_manager_widget.py

Prerequisites: Bun ≥ 1.0, Node-compatible environment, Python ≥ 3.11 with uv, and Marimo ≥ 0.17.6.

Repository Layout

  • src/dr_widget/ – Python package exposing AnyWidget classes.
    • widgets/config_file_manager/ – widget workspace (Svelte source in src/, build output in static/).
      • src/ConfigFileManager.svelte – orchestration layer wiring bindings into the panel components.
      • src/lib/hooks/use-file-bindings.ts – shared logic for syncing AnyWidget traitlets.
      • src/lib/components/ – shadcn-style UI primitives and panels, including a config viewer card with both a tree view and graph view for JSON payloads.
  • docs/ – additional reference material (architecture, development workflows).
  • notebooks/config_file_manager_widget.py – Marimo notebook that exercises the Config File Manager widget.

Documentation

Contributing

  1. Work inside a dedicated branch.
  2. Run bun run build, npx svelte-check, and uv build before opening a PR.
  3. Update the notebook and docs when you add or change widget behaviour.
  4. Follow the commit and PR practices outlined in AGENTS.md.

Please open an issue if you hit build problems or want to discuss new widgets.

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

dr_widget-0.1.2.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

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

dr_widget-0.1.2-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file dr_widget-0.1.2.tar.gz.

File metadata

  • Download URL: dr_widget-0.1.2.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for dr_widget-0.1.2.tar.gz
Algorithm Hash digest
SHA256 343f5aa3d95713c29484ef446d0a978f57248a39c87f342944384551f608b368
MD5 041034fc40fe20c818fd44f6666644f5
BLAKE2b-256 9a3187606c611b9768c3baa2ee3d8ad80a3da63d57ec76273c7e3860dfc20d72

See more details on using hashes here.

File details

Details for the file dr_widget-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: dr_widget-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for dr_widget-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 293f6817a9495ddd7a44afb4bdeaa65f9d9f85c1321499603bc3a2bd8af0e20e
MD5 50e992bc39cfbd38bf2cc581ed686bc3
BLAKE2b-256 aadb02b0ae78404291d675682e8bee3ba1ac8075663aa85841c9d1575a3c5ec6

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