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 insrc/, build output instatic/).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
- Architecture Overview – how Python, AnyWidget, and Svelte fit together.
- Development Workflow – commands for widget builds, packaging, and notebooks.
- Repository Guidelines – coding standards, contracts, and contribution checklist.
Contributing
- Work inside a dedicated branch.
- Run
bun run build,npx svelte-check, anduv buildbefore opening a PR. - Update the notebook and docs when you add or change widget behaviour.
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dr_widget-0.1.1.tar.gz.
File metadata
- Download URL: dr_widget-0.1.1.tar.gz
- Upload date:
- Size: 2.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ecb27fd580d04b45879372e2f103a5a6d2f9bf16c2c76d16d2bedc9523febbd
|
|
| MD5 |
d19fa664c09e34e2938b57025c93f6e3
|
|
| BLAKE2b-256 |
78bb65f8a8e83db05cb2c3e2ec67259e4354b6d3f003d9ebd329ba7dd4c1839d
|
File details
Details for the file dr_widget-0.1.1-py3-none-any.whl.
File metadata
- Download URL: dr_widget-0.1.1-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0f25a3ec38264c700928c17ae7f06a0d6837fdd1a5a0dc259627f0163753832
|
|
| MD5 |
38799b649743538a414a6c73660c1ecc
|
|
| BLAKE2b-256 |
8d83fff7e7418180a5650528f6e342110985ca0bc426717199c2afca378ff0d0
|