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.10.tar.gz (6.6 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.10-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: metaframe_widget-0.3.10.tar.gz
  • Upload date:
  • Size: 6.6 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.10.tar.gz
Algorithm Hash digest
SHA256 3c6f76a56e40e0be804b9d214d2f54ec9bf47dde6aa0d518767930882ee78266
MD5 dbd150d6c642b32c71393a0a3bae5819
BLAKE2b-256 8d9652458cd51c759a047f58678dcbe3305b52f90cc9b0dfbde60b4c6bbacb6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for metaframe_widget-0.3.10.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.10-py3-none-any.whl.

File metadata

File hashes

Hashes for metaframe_widget-0.3.10-py3-none-any.whl
Algorithm Hash digest
SHA256 015d93760982e2053369615714f57d8ab5b5c8e87f9b378abc549c149ad20177
MD5 6770b2ab8c8eaad7d58c3b7f6d7edbf0
BLAKE2b-256 2647656cd7904bbaa8ec8d2ef3f26a77f2c6537158d260ef8a909930878eb7f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for metaframe_widget-0.3.10-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