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

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


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

2026 年 6 月 13 日

Pyodide 314.0 のリリース発表 (Hacker News 経由) には、私が長い間楽しみにしていたニュースが含まれています。

Pyodide (または PEP 783 で定義されている PyEmscripten プラットフォームと互換性のある Python ランタイム) 用に構築された Python パッケージを PyPI に直接公開し、実行時にインストールできるようになりました。

以前は、Pyodide のメンテナは 300 を超えるパッケージを自分たちで保守、構築、ホストする必要がありました。新しいパッケージごとに手動でのレビューが必要になるため、これはメンテナーに多大な負担をもたらし、コミュニティにとって大きなボトルネックとなりました。

今後、パッケージ管理者は、Linux、macOS、または Windows 上のネイティブ ホイールの場合と同様に、Pyodide ホイールを簡単に構築して PyPI に公開できるようになります。

これは、4 月 21 日に公開された、これをサポートする PyPI 自体への PR です。

私はピオディドを崇拝していますが、過去にはこの制限に不満を感じていました。 C または Rust の拡張機能を WASM 用にホイール ファイルにコンパイルすることは可能ですが、これまではそれらを配布する簡単な方法がありませんでした。

多くの人々の努力のおかげで、この問題は修正されました。

luau-wasm で試してみる

何かパッケージできるものを見つけてお祝いすることにしました。かなりの数の実験的な Pyodide プロジェクトが存在していますが、これに最も適しているのは、3 月 9 日からの Luau WebAssembly 研究の急増であると思われました。

Luau は、Roblox によって開発され、MIT ライセンスの下でリリースされた、「段階的型システムを備えた Lua をベースにした小型、高速、組み込み可能なプログラミング言語」です。

C++ で書かれています。 WebAssembly にコンパイルして Pyodide 内で実行できることはすでにわかっていたので、実験をパッケージ化し、GitHub Actions を使用して PyPI に公開するタスクを Codex + GPT-5.5 xhigh に設定しました。

多少の反復が必要でしたが、結果は次のとおりです。 luau-wasm は 276KB を公開する新しい PyPI パッケージです。 luau_wasm-0.1a0-cp314-cp314-pyemscripten_2026_0_wasm32.whl Pyodide で次のように使用できるファイル:

import micropip
await micropip.install("luau-wasm")
import luau_wasm
print(luau_wasm.execute(r'''
local animals = {"fox", "owl", "frog", "rabbit"}
table.sort(animals, function(a, b) return #a 
for i, name in animals do print(i .. ". " .. name .. " (" .. #name .. ")") end
'''))

Pyodide REPL デモでそのコードを実行して、実際の動作を確認できます。

luau-wasm の GitHub リポジトリには、すべてのビルドおよびデプロイ スクリプト (最新の cibuildwheel を使用) が含まれており、Pyodide をロードしてインストールする HTML デモ ページもデプロイされます。 luau-wasm それを試すためのインターフェイスを提供します: https://simonw.github.io/luau-wasm/

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

これまでにこれを使用しているパッケージが何個ありますか?

現在、このプラットフォーム用にホイールを公開しているパッケージがいくつあるか知りたかったのです。

ChatGPT を少しいじった後、BigQuery 上の PyPI の公開データセットに対して実行したこの BigQuery SQL にたどり着きました。これはクエリ結果の生の JSON で、これは最新のアップロード日によってパッケージの重複を排除する Datasete Lite の SQLite SQL クエリです。

クエリが正しければ、現在 28 の PyPI パッケージが新しいバージョンで公開されています。 pyemscripten_202*_wasm32 タグ:

luau-wasm、uuid7-rs、cmm-16bit、pyOpenTTDAdmin、imgui-bundle、numbertoolkit、bashkit、geoarrow-rust-core、arro3-io、arro3-core、arro3-compute、onnx、powerfit-em、tcod、chonkie-core、tokie、robotraconteur、pydantic_core、 yaml-rs、cadquery-ocp-novtk-OCP.wasm、uuid_utils、base64_utils、pycdfpp、lib3mf-OCP.wasm、typst、toml-rs、onnx-weekly、dummy-pyodide-ext-test

今後数か月、数年でさらに多くの人々が現れることを願っています。



Source link

Postagens Similares

  • 独占表紙公開: Common Bonds 3 ed.クローディ・アルスノー、エム・イシイ、ロアンナ・シルバー著

    本日、このサイトで、の表紙を公開できることを嬉しく思います。 共通債券 3 編クローディ・アルスノー、石井エム、ロアンナ・シルヴァーによる、芳香族の主人公が登場するアンソロジーシリーズの第3弾!編集者が Kickstarter キャンペーンを紹介するために独自の紹介文を作成したので、取り上げさせていただきます。 共通債券 芳香族の登場人物をフィーチャーした思索的な短編小説と詩の新しいボリュームで 3 回目の攻撃を行います。投稿の山に信じられないようなストーリーが溢れかえった後、 共通債券 チームは何も構築しないことにしましたが、 二 プラトニックで芳醇な愛を描いた輝かしいアンソロジー。 で 共通債券 3では、魔法の泡に閉じ込められた海洋生物学者、有毒な元恋人を死者の中から蘇らせるネクロマンサー、サイレンとの命の絆、呪われた殺人都市に閉じ込められた夢の魔女などを見つけることができます。 私たちは素晴らしい作品を皆さんにご紹介できることをとても楽しみにしていますが、そのためには著者にふさわしい金額を支払うための資金を集める必要があります。これが、BackerKit クラウドファンディング キャンペーンの目的です。著者、カバー アーティストに料金を支払い、初版の発送と印刷を行います。 そして今、私たちの新しい 共通債券 カバー! 共通債券 3の表紙はヒューゴー賞を受賞したラヤ・ローズによるものです。これまでの表紙と同様に、2 人の友人がアクティビティに参加していますが、今回は冬に移り、温かい飲み物を飲みます。 キャンペーンをフォローして、この新作の実現にご協力ください! Source link

  • अपने दिन को वश में करने का मज़ेदार तरीका

    ब्लॉग में स्लेवेन द्वारा – मार्च 8, 2026 नया फाइनलिस्ट यहाँ है! यदि आपने इसे अभी तक आज़माया नहीं है, तो इसमें अपना हाथ डालें: जो आप पहले से उपयोग कर रहे हैं उसके साथ फ़ाइनलिस्ट चलाएं और इसे चुपचाप वह लेने दें जो आपका वर्तमान सेटअप नहीं करता है। यह किसी नए सिस्टम से…

  • お気に入り 5: バイ アダルト M/F ロマンス、パート II

    これらは、カップルの半分がバイである男女のロマンスです。パート I (および bi4bi の投稿へのリンク) については、ここをクリックしてください。アリシア・トンプソン著「一度も出荷されていない」ハンナ・ボナム=ヤング著「ピープル・ウォッチング」ジェシカ・ジェームス著「一夜限りのアンロマンス」エリン・コナー著「ベスト・ヘックス・エバー」ナディア・エル・ファッシ著 Source link

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *