「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
富士通、新たなデータ基盤構築でデータ駆動型の経営戦略を強化
IT関連
2022-11-24 17:16
第2回:従来型データ統合戦略の落とし穴
IT関連
2021-02-09 03:28
GitHub、「OpenAI o1」を「GitHub Copilot」で試用可能に
IT関連
2024-09-21 20:44
「TemaSpirit」と「SmartHR」、システム連係で非財務情報を可視化–人的資本経営を支援
IT関連
2022-06-22 01:57
NEC、自治体のデジタルツール導入状況を調査–3割が学習eポータル未導入
IT関連
2022-11-04 05:26
長距離トラックの中継輸送から無駄な時間をなくすBatonが11.5億円調達
モビリティ
2021-03-27 06:02
最新のITインフラに自信がある企業は2割強–IDC調査
IT関連
2021-03-23 20:34
第42回:列伝2人目「後方支援型ひとり情シス」
IT関連
2022-08-26 14:14
「Raspberry Pi 5 2GB」を試す–どれだけの負荷に耐えられるかを4/8GBモデルと比較
IT関連
2024-09-08 07:20
ウォルマートが(誤って予定より早く)低価格FHDストリーミングスティックと4Kプレイヤーを公開
ハードウェア
2021-06-05 02:18
台湾、東京五輪にオードリー・タン氏を派遣
IT関連
2021-07-13 11:10
米政府、中国で最先端工場の建設を10年間禁止–CHIPS法で資金受ける米企業に
IT関連
2022-09-09 04:12
ウクライナ発の顔交換アプリ「Reface」が反戦キャンペーンに対するロシアユーザーの反発を受け同国から撤退
IT関連
2022-03-19 11:31
リコージャパン、新事業戦略を発表–AI、セキュリティ、脱炭素ソリューションを強化
IT関連
2024-08-23 04:11