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

  • Rozwiązanie Anthropic Vision Advantage jest bardzo podobne do rozwiązania Apple z 2010 roku

    Konkurując z Anthropic, OpenAI i Google mają więcej niż tylko modelowy problem. Anthropic przypomina teraz Apple w 2010 roku z iPhonem. A Opus 4.5 jest jak ich iPhone. Rzecz w tym, że tak naprawdę nie chodzi tu o model czy telefon. To ekosystem. Apple dominował nie tylko dlatego, że miał lepszy sprzęt, ale także dlatego,…

  • NP ハードはハードという意味ではありません ||数学∩プログラミング

    NP 困難性がインターネット上に現れると、たとえば、愚かなブロガーがビデオ ゲームについて書きたいなどの理由で、NP 困難であることが証明されている問題は実際には非常に難しいと結論付けたくなることがよくあります。 「スーパーマリオはNPが難しいと科学者が証明した?私は自分がマリオを苦手とするのには理由があるとずっと思っていたんだ!」ごめんなさい、この二つは関係ありません。 NP 硬度とは、狭い意味での硬いことを意味します。この投稿で明確になることを願っています。その後、NP 硬度を超えてプログラマーとしての仕事に応用できる、数学的な意味での「ハード」の意味を探っていきます。 問題が NP 困難である場合、それは単純に、その問題を使用してロジックを表現できるほど、問題が十分に表現力豊かであることを意味します。これは、AND、OR、NOT を使用したブール式を意味します。スーパー マリオの例では、「問題」は、(1) プレーヤーのコントロール、(2) レベルを構成する許可されたタイルとキャラクター、(3) 最初から最後まで到達するという目標の束です。論理式はレベルの作成時にエンコードされ、問題を解決する (レベルを完了する) ことは、論理式が成り立つ条件を見つけることと同じです。 オリジナルのスーパー マリオ ブラザーズの句ガジェット。3 つの変数の OR をエンコードします。 この意味では、宝具の硬さがスーパーマリオのすべてを硬くするわけではありません。論理式をエンコードするために設計されたレベルは、不自然で、複雑で、歪んでいます。彼らはゲームのルールを悪用して、ゲームにブール論理を詰め込みます。これらは 最悪の場合のレベル。これはマリオをまったく意図しない目的に使用するものであり、ハッキングと何ら変わりません。したがって、NP 硬度は最悪の場合の主張です。 繰り返しになりますが、NPの硬さはスーパーマリオが持っていることを意味します。 表現力。表現力が非常に高いため、最悪の場合には難しいと思われる他の問題もエミュレートできます。そして、数学的な「難易度」の目標はアルゴリズムの限界について推論することであるため、スーパー マリオを完全に一般的に解くことができるということは、レベル デザインがどれほどばかばかしいものであっても、どんな難しい部分問題も解決できることを意味します。 P != NP 予想は、ブール論理式が充足可能かどうかを決定する多項式時間アルゴリズムが存在しないことを示しており、その結果、スーパー マリオには (完全に一般的に) 多項式時間アルゴリズムも存在しません。 そうは言っても、実際には、スーパー マリオのレベルは論理式をエンコードしていません。現実世界のスーパー マリオのレベルはそのように (解けるように、楽しく) 設計されているという知識を使えば、アルゴリズムを使ってスーパー マリオを解くことができます。多くの例があります。 一般に、人間にとっての問題の難しさは、アルゴリズムの難しさとは無関係です。整数の乗算を考えてみましょう。これはコンピュータにとって解決できる些細な問題ですが、人間はこの問題に苦戦する傾向があります。コンピューターが 2,000 桁の数値を数ミリ秒で掛け算できるのに対し、7 桁の数値 2 つを 5 秒以内に掛け算できるのは驚くべき偉業です。 一方、タンパク質の折り畳みは NP が困難な問題として知られていますが、人間にとって十分に簡単に解決できるゲームに変換されており、プレイヤーは科学研究に貢献しています。実際、巡回セールスマンなど、最も一般的に引用される…

  • ব্লুস্কাই-এ আমার সাথে যোগ দিন

    সানগুডোগোর সন্ধানে গ্রেগ লাদেন দ্বারাএখন কিন্ডলে বা পেপারব্যাক * অনুগ্রহ করে নোট করুন: এই পৃষ্ঠায় এবং গ্রেগ ল্যাডেনসের ব্লগের অন্য কোথাও বই এবং অন্যান্য আইটেমের লিঙ্কগুলি আপনাকে আমাজনে পাঠাতে পারে, যেখানে আমি একটি নিবন্ধিত অনুমোদিত। একজন অ্যামাজন সহযোগী হিসাবে আমি যোগ্য ক্রয় থেকে উপার্জন করি, যা এই সাইটে অর্থায়নে সহায়তা করে। Source link

  • Przekonaj xlub Odkryj

    Wrzesień 2009 Kiedy spotykasz się z ludźmi, których nie znasz zbyt dobrze, konwencja jest taka, aby sprawiać wrażenie wyjątkowo przyjaznego. Uśmiechasz się i mówisz „miło mi cię poznać”, niezależnie od tego, czy tak jest, czy nie. Nie ma w tym nic nieuczciwego. Każdy wie, że tych małych kłamstw społecznych nie należy brać dosłownie, tak jak…

  • 支持人工智能的自助软件 |丹尼尔·米斯勒

    人工智能在 2025 年带来的最大变化之一是没有足够多的人谈论。 许多过去为健身应用程序、分析软件或其他软件付费的人只是为自己编写了更好的版本。 我们过去常常必须在一无所有和花一大笔钱买一些不太合适的东西之间做出选择。 其中很大一部分是希望您可以从该应用程序中获得此功能,并从该应用程序中获得此功能,并且是免费的。 这是不可能的。 现在,人们可以真正制作自己的应用程序,该应用程序具有所有功能,并且不需要花费任何费用。 创意解锁 由于多种原因,这非常令人兴奋。 首先,他们实际上可以出售该应用程序,因为这是他们认为更好的产品版本。 但更大的影响是 人们的创造力正在以一种前所未有的方式被释放。 作为一个物种,我们从来无法想象某些事物的存在。 而这整件事才刚刚开始。 Source link

Deixe um comentário

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