「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
PayPay銀行、「Dell APEX」で共通IT基盤を構築–10年間で数億円のコスト削減
IT関連
2024-06-19 00:54
LINE社員の“サクラ”投稿は「事実」 オープンチャットの一部を会社主導で運営 方針見直しへ
くわしく
2021-04-24 06:08
トレンドマイクロ、統合セキュリティプラットフォームのXDR機能をOT環境に拡張
IT関連
2023-07-06 05:18
自然言語処理ライブラリをオープンソースで提供するHugging Faceが43.6億円調達
ソフトウェア
2021-03-15 09:35
アトラシアン、JiraやConfluenceのサービス障害が1週間以上続く。原因は、保守スクリプトの実行ミスによるユーザーデータの消去。消去データのリストアに想定外の手間
Atlassian
2022-04-14 19:49
企業によるAI活用、AIスキルを持つ人材の不足が大きな課題に
IT関連
2023-03-08 07:03
Ankiの秀作トイロボットCozmoとVectorが2021年にグローバル市場で再起予定
ロボティクス
2021-03-07 12:00
第3回:電子サインの導入での課題と気を付けるべきこと
IT関連
2021-04-19 02:14
早稲田大学、電子申請・契約ソリューションを導入
IT関連
2021-07-28 14:19
ウイングアーク、サプライチェーンのCO2排出量を可視化する基盤サービス
IT関連
2022-06-02 18:51
「Windows 11」で廃止されるアプリや機能–「Cortana」も姿を消すことに
IT関連
2021-06-25 07:39
業務委託先の情報漏えいを前提にしたセキュリティ対策も必要–トレンドマイクロが分析
IT関連
2025-01-10 06:03
Java/Scalaの最新版Webアプリケーションフレームワーク「Play Framework 3.0」正式リリース。Akkaに代わりApache Pekkoを採用
Java
2023-11-24 03:56
AWS、ロシアで新規契約の受け付けを停止–マイクロソフトも新規販売を一時停止
IT関連
2022-03-10 10:57