Skip to content

please do reactive python binding via anywidget #129

@joelb123

Description

@joelb123

icn3d has a lot of state, but icn3dpy is a simple non-reactive one-way passthru code. There are a lot of applications (e.g. menu buttons) for which passing state and allowing callbacks to python notebooks would be highly useful, as shown on NCBI's own icn3d page.

In addition, many of the well-known problems with Jupyter notebooks (e.g., issues with state in notebook repositories) are solved by marimo notebooks, which icn3dpy does not support. marimo also enables some nice capabilities such as compiling notebooks via WASM to HTML web pages that require no python backend.

The recommended mechanism for creating Jupyter widgets is anywidget. Reactive widgets developed with anywidget are supported by both jupyterlab and marimo notebooks. Javascript and python variables can be synced to each other via a simple call to traitlets. The only requirement put on icn3d is that it exports initialize or render widget lifecycle hooks. It's also straightforward to create custom consoles using anywidget #that allow passing of commands to JS after initialization.

Please add a reactive anywidget binding to icn3dpy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions