Skip to main content

This Python package is a magic command that executes Python code in code cells on Jupyter and Google Colab using PyScript within an iframe.

Project description

PyScript Magic Command

概要

Jypyter(notebook/lab)・VSCodeまたはGoogle ColabでコードセルのPythonコードをPyScriptを使ってiframe(ブラウザ)上で実行するマジックコマンドです。

使い方

マジックコマンドの追加

コードセルに以下のコードを貼り付けて実行しマジックコマンドを登録してください。カーネルやランタイムを再起動する度に再実行する必要があります。

%pip install -q -U pysmagic
from pysmagic import register_pysmagic

register_pysmagic()

マジックコマンドの使い方

コードセルの冒頭に以下のようにマジックコマンドを記述してください。実行するとアウトプットにiframeが表示されてその中でコードセルのコードがPyScriptで実行されます。

%%runpys

from pyscript import display
display("Hello, world!")

以下はブラウザ用JavaScriptライブラリのp5.jsを使って円を描画し、キーボードの矢印キーで移動させるサンプルです。

%%runpys 500 500 white mpy '{}' '["https://cdn.jsdelivr.net/npm/p5@1/lib/p5.js"]'

import pyscript
import js

def sketch(p5):
    x = 100
    y = 100

    def setup():
        p5.createCanvas(300, 300)

    def draw():
        nonlocal x, y
        p5.background(128)
        p5.fill(255, 0, 0)
        p5.ellipse(x, y, 50, 50)

        if p5.keyIsDown(p5.LEFT_ARROW):
            x -= 1
        if p5.keyIsDown(p5.RIGHT_ARROW):
            x += 1
        if p5.keyIsDown(p5.UP_ARROW):
            y -= 1
        if p5.keyIsDown(p5.DOWN_ARROW):
            y += 1

    p5.setup = setup
    p5.draw = draw

js.p5.new(sketch)

マジックコマンド

%%runpys

コードセルのコードをPyScriptを使ってiframe内で実行します。

%%runpys [width] [height] [background] [py_type] [py_conf] [js_src] [py_ver]
  • width: iframeの幅を指定します。デフォルトは500です。
  • height: iframeの高さを指定します。デフォルトは500です。
  • background: iframeの背景色を指定します。デフォルトはwhiteです。
  • py_type: 実行するPythonの種類。pyまたはmpyを指定します。pyは CPython互換のPyodide、mpyはMicroPytonで実行します。デフォルトはmpyです。
  • py_conf: PyScriptの設定を''で囲んだJSON文字列形式で指定します。デフォルトは{}です。
  • js_src: 外部JavaScriptのURLを''で囲んだ文字列のJSON配列形式で指定します。デフォルトは[]です。
  • py_ver: PyScriptのバージョンを指定します、Noneを指定するとモジュール内部で設定したデフォルトのバージョンを使用します。デフォルトはNoneです。

%%genpys

セル内のPythonコードをPyScriptを用いてiframe内で実行するために生成したHTMLを表示するマジックコマンド

引数は%%runpysと同じです。

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

pysmagic-2.3.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

pysmagic-2.3.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file pysmagic-2.3.0.tar.gz.

File metadata

  • Download URL: pysmagic-2.3.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for pysmagic-2.3.0.tar.gz
Algorithm Hash digest
SHA256 358e2b7a8228b7458045d9a454b2dc4aed518c26e11a141d7928f0282c2bc7f7
MD5 26ecf59d3b18685d9ad17c6d69d4e2b9
BLAKE2b-256 c7d6f377c99cae4d8a3db5a39347e517d4f61f74d3b1fd106b382cc3198934e7

See more details on using hashes here.

File details

Details for the file pysmagic-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: pysmagic-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for pysmagic-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 591abde310e2eda6597039c73c91c06e45030edd174e90e51a277d620cb2e5ed
MD5 ac5273b011c7ee0b60164be0d97f8ab6
BLAKE2b-256 959bc483b1cb45e12314b6e5f9d5bf12890dd4ef6eea38ad98dfaafa92bd6f3e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page