Skip to main content

anywidget for embedding metaframe URLs in Jupyter and marimo notebooks

Project description

metaframe-widget

An anywidget for embedding metaframe and metapage URLs in Jupyter and marimo notebooks.

Install

pip install metaframe-widget

With environment extras:

pip install "metaframe-widget[jupyter]"   # includes jupyterlab
pip install "metaframe-widget[marimo]"    # includes marimo

Quick start

Jupyter

from metaframe_widget import MetaframeWidget

w = MetaframeWidget(url="https://framejs.io/#?js=...", height="300px")
w

marimo

import marimo as mo
from metaframe_widget import MetaframeWidget

w = MetaframeWidget(url="https://framejs.io/#?js=...", height="300px")
mo.ui.anywidget(w)

A widget is always created from a URL. To embed your own code, build and save it at framejs.io — the editor mints a short URL you can paste into url=. The URL is the portable, saveable form of a metaframe; the code itself lives behind it rather than being inlined in your notebook.

API reference

Parameter Type Default Description
url str "" Full metaframe URL (including hash params)
inputs dict {} Dict of inputs to push to the metaframe
outputs dict {} Dict of outputs received from the metaframe (read-only)
width str "100%" CSS width for the widget container
height str "400px" CSS height for the widget container
allow str "" iframe allow attribute (e.g. "camera; microphone")

Methods

  • set_inputs(d) — merge a dict into current inputs
  • set_input(key, value) — set a single input key
  • on_outputs_change(callback) — register a callback for output changes
  • on_saved_url_change(callback) — register a callback for when the user creates an expiring snapshot (/j/<sha256>) inside the widget
  • pipe_to(target, output_key, input_key=None) — connect an output to another widget's input

Piping widgets

source = MetaframeWidget(url="...")
sink = MetaframeWidget(url="...")
source.pipe_to(sink, output_key="result", input_key="data")

Links

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

metaframe_widget-0.3.9.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

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

metaframe_widget-0.3.9-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file metaframe_widget-0.3.9.tar.gz.

File metadata

  • Download URL: metaframe_widget-0.3.9.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for metaframe_widget-0.3.9.tar.gz
Algorithm Hash digest
SHA256 5f76eba50e538e72ea845739792d089e6ccbc03c861669e6502fb6ec87164aab
MD5 81c259e2157279e3b633d1f8682ebb62
BLAKE2b-256 aecb779f667ef778e819f4580db70034631cb62338902e5d70ae21bf562f1636

See more details on using hashes here.

Provenance

The following attestation bundles were made for metaframe_widget-0.3.9.tar.gz:

Publisher: publish-python.yml on metapages/framejs.io

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

File details

Details for the file metaframe_widget-0.3.9-py3-none-any.whl.

File metadata

File hashes

Hashes for metaframe_widget-0.3.9-py3-none-any.whl
Algorithm Hash digest
SHA256 1c83492a4c72c9be6ef4900adf4a7ba1708126affd9708f21844a37315bf43dd
MD5 769650214b9f838c07f2b79630337753
BLAKE2b-256 c48918b41aed164a47f5a26c0c330b4faf2e1fa63cb114ee03e2974af7caef80

See more details on using hashes here.

Provenance

The following attestation bundles were made for metaframe_widget-0.3.9-py3-none-any.whl:

Publisher: publish-python.yml on metapages/framejs.io

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