AI News HubLIVE
站内改写1 分で読了

Pyodideで使用するWASMホイールをPyPIに公開

Pyodide 314.0では、WebAssemblyにコンパイルされたPythonパッケージをPyPIに直接公開し、実行時にインストールできるようになり、配布が大幅に簡素化されました。サンプルパッケージluau-wasmが公開され、すでに28のパッケージがこの新方式を採用しています。

Pyodide 314.0リリース(2026年6月13日)により、WebAssembly(WASM)にコンパイルされたPythonパッケージをホイールファイルとしてPyPIに直接公開し、ブラウザ上のPyodideで実行時にインストールできるようになりました。以前はPyodideメンテナが300以上のパッケージを手動でビルド・ホストする必要があり、コミュニティの成長の妨げとなっていました。今回の変更で、開発者はLinux、macOS、Windows向けネイティブホイールと同様に、Pyodide対応のWASMホイールを公開できます。この機能をサポートするPyPIへのプルリクエストは4月21日にマージされました。

著者のSimon Willisonはこの新機能をテストするため、luau-wasmというサンプルパッケージを作成しました。LuauはRobloxが開発した「Luaベースの小さくて高速な組み込み可能なプログラミング言語で、段階的な型システムを備え」、MITライセンスで公開されています。C++で書かれており、Willisonは以前からLuauをWebAssemblyにコンパイルしてPyodideで実行可能であることを確認していました。今回、CodexとGPT-5.5モデルを活用してGitHub Actionsのワークフローを構築し、コンパイルから公開までを自動化しました。成果物は276KBのホイールファイルで、わずか数行のコードでPyodide内にインストールしてLuauスクリプトを実行できます。さらに、Pyodideをロードしてluau-wasmをインストールするHTMLデモページも公開され、ブラウザ上でLuauコードを試せるインターフェースが提供されています。

WillisonはBigQueryを使用してPyPIの公開データセットを分析し、現在28のパッケージが新しいpyemscripten_202*_wasm32タグを使用していることを確認しました。これらのパッケージはuuid7-rs、imgui-bundle、pydantic_core、typstなど多岐にわたります。今後この仕組みが普及し、ブラウザで実行できるPythonパッケージがさらに増えることが期待されます。