「PyScript」はJavaScriptのようにPythonコードをHTML内に記述して実行可能、Anacondaがオープンソースで公開

今回は「「PyScript」はJavaScriptのようにPythonコードをHTML内に記述して実行可能、Anacondaがオープンソースで公開」についてご紹介します。

関連ワード (対応、文書、計算処理等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Pythonの主要なディストリビューション「Anaconda」などを提供しているAnaconda社は、HTML文書の中にJavaScriptと同じようにPythonのコードを記述し、実行可能にする「PyScript」をオープンソースで公開しました。

Did you hear the news from PyCon!? We are thrilled to introduce PyScript, a framework that allows users to create rich Python applications IN THE BROWSER using a mix of Python with standard HTML! Head to https://t.co/n4OoeBD46z for more information.

— Anaconda (@anacondainc) April 30, 2022

下記がPyScriptのコードの例です。まるでJavaScriptのように<py-script>タグを用いてHTMLの中にPythonのコードを記述しています。

Webブラウザ上にPythonインタプリタ

PyScriptによるPythonコードの実行はWebAssemlby化されたPythonインタプリタによってWebブラウザ上で実行されるため、サーバ側に特別な仕組みを持つ必要はありません。

PyScriptのデモページも用意されており、Hello Worldから始まり、ToDoアプリや統計とグラフ化などまで、さまざまなアプリケーションの記述が可能なことが示されています。

pyscript01
pyscript02

一般的なPythonライブラリ群にも対応するとのことで、Webブラウザ上でPythonの得意な計算処理も可能になることが期待されます。

PythonインタプリタをWebAssemblyで実装した「Pyodide」が中心

前述の通り、PyScriptはWebAssembly化された代表的なPythonインタプリタ実装である「Pyodide」(パイオダイドと発音されているようです)を用いて開発されています。

PyodideはMozillaが2018年に開発を開始したプロジェクトで、Pythonのリファレンス実装であるCPythonのソースコードに最小限の変更を行い、EmscriptenでWebAssemblyへコンパイルできるようにすることで、WebブラウザなどのWebAssembly実行環境上で事実上標準と同じPythonインタプリタが実行できることを目指しているプロジェクトです。

参考:PythonインタプリタをWebAssemblyへコンパイル、Webブラウザで稼働するPython環境「Pyodide」。Mozillaが開発中

PyScriptはこのPyodideを中心に、HTMLやJavaScriptとの連携機能などを実装したものです。

pyscript03

WebAssemblyによるインタプリタの実装はPythonだけでなくRubyでも実現しています。PyScriptができるなら、RubyScriptも技術的に可能でしょう。

参考: WebAssembly/WASIに対応した「Ruby 3.2 Preview 1」公開。WebブラウザでRubyが動く世界がやってくる

PyScriptはビジョンとしてPython以外の言語にも対応する方向性を示しています。今後Webブラウザでは用途に応じてJavaScript以外の言語を選んでプログラミングする、ということが広がっていくのでしょうか。

関連記事

PublickeyではWebAssemblyが注目され始めた2017年に、JavaScript以外の選択肢が広がる可能性について記事を書いていました。

  • WebAssembly対応、主要ブラウザChrome/Firefox/Edge/Safariで整う。Webアプリの開発言語としてJavaScript以外の選択肢は広がるか?

COMMENTS


Recommended

TITLE
CATEGORY
DATE
新型iPad ProはThunderbolt/USB4搭載? 早ければ4月にも
IT関連
2021-03-19 19:52
オープンソースAIの新たな定義–「重み」を中心に据える「Open Weight Definition」
IT関連
2025-01-30 15:35
生成AIに対する社内の需要に応えるには–CIOが注意すべき5つのポイント
IT関連
2024-03-30 14:02
グーグル「Chrome」のロゴ、8年ぶりに変更
IT関連
2022-02-08 13:44
イーロン・マスク氏、賞金1億ドルの二酸化炭素回収技術コンテスト開催へ
企業・業界動向
2021-01-23 13:19
「Windows 11」のセキュリティ新機能–ゼロトラスト、ハイブリッドワークなど想定
IT関連
2022-04-09 18:59
Go言語で記述されたマルウェア「Chaos」、「Windows」や「Linux」で拡散中
IT関連
2022-10-01 18:51
マイクロソフト、「HoloLens」責任者のA・キップマン氏が退社へ
IT関連
2022-06-10 02:50
HPE Aruba、セキュリティなど3分野に拡大するトライアングル戦略を示す
IT関連
2023-09-15 06:17
2021年5月に新IT規則を施行したインドのIT大臣と情報放送大臣が辞任
その他
2021-07-09 06:13
「デル女性起業家ビジネスコンテスト」開催–起業家は多様化、しかし課題も残る
IT関連
2023-07-21 13:07
ネットワークカメラ搭載の「スマート街路灯」で通行状況を分析、飲食店の来客予測に活用 NECが実験
企業・業界動向
2021-03-17 19:53
オープンソースcURLの作者、某大企業から「24時間以内にこの質問に答えるように」との無礼なメールを受け取る
オープンソース
2022-01-26 00:05
Sansan、インボイス管理サービス「Bill One」で「発注データ照合オプション」提供
IT関連
2023-07-25 17:02