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.9.4/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
Release history Release notifications | RSS feed
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
File details
Details for the file pysmagic-2.0.1.tar.gz
.
File metadata
- Download URL: pysmagic-2.0.1.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 177d67208ffd3d568092817c1c5994a4cf7fb8c547ba1aca661a85c0f21d4b5a |
|
MD5 | 464c37a1d27738f89e3c84edd65041be |
|
BLAKE2b-256 | 20c77dcba742641b0efcb5e756acc4512fbb5f29d1f87a5d7b3157e72f9861be |
File details
Details for the file pysmagic-2.0.1-py3-none-any.whl
.
File metadata
- Download URL: pysmagic-2.0.1-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f0dfcd142230719ebdf167a1201bd6b2f638a54e256225c589edea08da93ea1 |
|
MD5 | 1d32a9d1a1a2283808054838f6481311 |
|
BLAKE2b-256 | ca02a3a51a03c1e0c31704989123b61f8f667a5a317be3a38a89e97d3c87cf53 |