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

  • ماذا حدث للتو ولماذا؟

    من النشرة الإخبارية لمجموعتي المحلية غير القابلة للتجزئة: ردنا الأول على هذه الخسارة يجب أن يكون التواضع. لقد قاتلنا وخسرنا، وهذا علينا بغض النظر عن أي إطار تفسيري قد يظهر في النهاية. ردنا الأول الآخر على هذه الخسارة يجب أن يكون الشك المغلف بالصبر. لا شيء في السياسة بسيط. إن شفرة أوكام هي مغالطة خبيثة…

  • DF T 恤和连帽衫:趁方便入手

    大胆的火球 T 恤和连帽衫又回来了。立即订购,我们将在本周末开始打印衬衫,并于下周发货。这款连帽衫是制造商 Bella Canvas 推出的新款。我们之前的连帽衫是“石南灰色”,面料是 50% 涤纶、37.5% 棉和 12.5% 人造丝的混纺面料。这种模式正在被逐步淘汰。因此,我们改用了 85% 棉、15% 聚酯纤维和更深的“石南黑”颜色的新型号。旧的很好,但新的感觉更好。 ★ Source link

  • నేను నా ఫ్రేమ్‌వర్క్‌ను చంపేశాను 13

    16 ఏప్రిల్ 2026 నేను ఈరోజు నా ఆఫీసులో ఉన్నాను, దూరంగా పని చేస్తున్నాను మరియు నా దగ్గర తరచుగా నా వ్యక్తిగత ల్యాప్‌టాప్, ఫ్రేమ్‌వర్క్ 13 ఉంటుంది కాబట్టి నేను నోట్స్ మరియు ఇమెయిల్‌లను తనిఖీ చేయడం, సంగీతం వినడం మొదలైన వాటిని చేస్తాను. నేను నా డెస్క్‌కి అవతలి వైపు ఏదో పట్టుకోవడానికి చేరుకున్నాను మరియు నా ప్రియమైన ల్యాప్‌టాప్‌లో మొత్తం ఫకింగ్ కప్పు కాఫీని కొట్టగలిగాను. ఇది వెంటనే చనిపోయింది, పరికరంలో నిర్మించిన…

  • 黑客透露 Suno AI 音乐生成器已删除 YouTube、Deezer 和 Genius

    据一名入侵该公司并与 404 Media 共享 Suno 训练库数据的黑客称,AI 音乐生成工具 Suno 从 YouTube Music、Deezer 和 Genius 以及库存音乐库 Pond5、Jamendo、Freesound、国际乐谱库项目和 RSS 源的播客中抓取了数百万首歌曲和歌词。他们表示,黑客还能够访问数十万 Suno 客户的用户信息以及 Stripe 支付信息。 这些被黑客入侵的数据是对人工智能模型和工具的构建方式的罕见观察。 Suno 是互联网上最大的人工智能音乐生成工具之一,一直是 几起重大诉讼 来自唱片业,指责该公司对数百万首受版权保护的歌曲进行培训。 作为这些法律诉讼的一部分Suno 此前承认,它接受了“基本上所有可在开放互联网上访问的质量合理的音乐文件”的培训,其中总共包括“数千万张录音”。 Suno一直主张,在这些案件中,它可以将受版权保护的作品视为合理使用进行培训,其中一桩案件已经和解。 这些诉讼明确表明,Suno 确实使用了大量受版权保护的作品进行训练,但与 404 Media 共享的黑客数据进一步揭示了 Suno 如何从互联网上抓取歌曲以及这些歌曲的来源。美国唱片工业协会 指控 Suno 直接从 YouTube 盗取歌曲; 404 Media 看到的黑客数据证实了这一点。 被黑客攻击的材料包括似乎来自 2023 年和 2024 年的源代码,其中包括抓取指令以及有关至少部分抓取范围的详细信息。例如,一个文件中的评论指出,它们将从“genius_hq、youtube_music、freesound、jamendo、imp、deezer、ytm_tagged”中提取,并且“非音乐将被过滤掉”。一个名为“youtube_music”的文件指出,在该文件上次更新时,它已经摄取了“2,013,545 个音乐剪辑”。另一个文件包含有关 Suno 创建的不同数据集的评论,其中包括“113,879 小时的 youtube_music”、“17,615 小时的…

  • レビュー: 夜行列車 (マーティン・エイミス)

    夜行列車 マーティン・エイミス著は、ジェニファー・ロックウェルの自殺の動機を解明する任務を負った女性刑事、マイク・フーリハン刑事の視点から語られるノワール探偵小説です。 構造的には、それ自体の仕組みや構造を継続的に妨害します。伝統的な探偵小説は通常、すべての動機と動きが説明されるまで各部分を組み立てますが、アミスは代わりに、誰かが死んだという基本的な事実以外のすべてが議論の余地があるように見える点に到達するまで、新しい情報のそれぞれが物事を切り開くスペースを作成します。 私にとって印象に残ったのは、意味と理解を求める絶え間ない戦いでした。これを念頭に置いて、私はジル・ドゥルーズとフェリックス・ガタリの再領土化と脱領土化に関する議論について考えさせられました。これを念頭に置くと、探偵は再領土化のエージェントです。彼らは混沌とした「逃走経路」(殺人事件、失われた手がかり)を取り込み、事件、動機、有罪判決を中心に展開する厳格な構造に引き戻します。で 夜行列車フーリハンはこれを試みます。しかし、ジェニファー・ロックウェルの自殺は、純粋な領土解除として機能します。ジェニファーは美しさ、知性、愛、そして職業上の成功など、「すべて」を持っていました。 「なぜ」を取り除くことで、彼女の死は探偵の論理に捉えられることを拒否する。マイクが調査すればするほど、構造物は崩壊していきます。 ある死の調査を見て、ガヤトリ・スピヴァクのエッセイも思い出した サバルタンは話せるのか?その中で彼女は、不法妊娠が動機ではないことを証明するために生理が来るのを待って自殺したブヴァネスワリさんの自殺について論じている。それにもかかわらず、彼女の動機は依然として歴史の中に埋もれており、当時の支配的な物語に置き換えられました。 ある意味、ジェニファー・ロックウェルも同様の演技をしています。彼女はサバルタンではなく「エリート」であるにもかかわらず、特に静かな死を選択します。フーリハンはスピヴァクの枠組みの中で「知識人」として行動し、ジェニファーの「なぜ」を代表または説明しようとしている。動機(「再領土化」)を見つけようとすることで、フーリハンは本質的に、沈黙する人々に発言を強制しようとしている。 意味が崩壊するもう一つの方法は、本全体に繰り返し現れる「夜行列車」の比喩です。繰り返しのたびに、バックグラウンドノイズから、チープなブルースのサウンドトラック、宇宙論的自殺車両、そして最後に、マイク自身の半ば選択された暗闇への乗り物まで、さまざまな展開が加えられます。結局、それは死んだ比喩のようなものになり、すべてと何も同時に捉えられなくなります。 マーティン・エイミスの本を勉強したことを漠然と覚えています。 夜行列車 大学で。優等論文の途中で、あまり時間を割いていなかったと感じたので、戻りたいと思います。それは間違いなく、物事を新しい観点から見ることになります、私が見た後に触れたもの 養蜂家。ポール・オースターの作品と並べて考えるのも面白かったです。 ニューヨーク三部作、それ自体の構造と意味を一見覆すように見える別の小説。トマス・ピンチョンの作品もそうですが、 メイソン&ディクソン そして、一見解体されているように見えながら、意味が継続的に作られていく方法。 リンダ・ハミルトンの朗読をSpotifyで聴きました。 レビュー: 夜行列車 (マーティン・エイミス) Aaron Davis による作品は、クリエイティブ コモンズ表示 – 継承 4.0 国際ライセンスに基づいてライセンスされています。 Source link

Deixe um comentário

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