PythonのWebAssembly実行環境「Pyodide」がバージョン314.0のリリースで、PyPI公式へのWASMホイール配布に対応した。これによりC言語やRustで書かれた拡張ライブラリを含むパッケージを、ブラウザ上のPython環境へ直接インストールできるようになり、長年の課題だったパッケージ不足が根本から解消される。
PyodideとWASMホイールの背景
Pyodideは、CPythonそのものをWebAssembly(WASM)にコンパイルしてブラウザ上で動かすプロジェクトだ。JupyterLiteやPyScript、各種オンライン教育プラットフォームなどで採用されており、「サーバー不要のPython実行環境」としての需要は年々高まっている。
これまでの最大の壁が、利用可能なパッケージの限界だった。C言語やRustで実装された拡張ライブラリは、通常のPyPIホイールではブラウザ上で動作しない。そのためPyodideのメンテナーが300以上のパッケージを自前でWASMにビルドし、専用のホスティング環境で提供し続けてきた。新パッケージの追加には手動レビューが必要で、コミュニティの成長ペースに追いつけない構造的なボトルネックになっていた。
PEP 783が切り開いた仕組み
今回の変更の核心は、PEP 783で定義されたPyEmscriptenプラットフォームへの対応だ。Pyodide 314.0とPyPI本体へのPR(2026年4月21日マージ)により、pyemscripten_2026_0_wasm32 のようなプラットフォームタグを持つホイールが正式にサポートされた。
これにより、パッケージ開発者はLinux・macOS・Windows向けのネイティブホイールとまったく同じフローでWASMホイールを公開できる。
出典: この記事は Publishing WASM wheels to PyPI for use with Pyodide の内容をもとに、筆者の見解を加えて独自に執筆したものです。