bytecodealliance / bytecodealliance/componentize-py

Download dependencies automatically

オープン
#25 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Rust
スター
277
フォーク
51
平均マージ
12時間 10分
マージ済み PR(30日)
10

説明

Per [yesterday's Python guest tooling](https://github.com/bytecodealliance/meetings/pull/152) meeting, we'd like `componentize-py` to download any dependencies found in the application's `pyproject.toml` (including transitive dependencies), placing them in a temporary directory for use while building the component.

Similar to [micropip](https://micropip.pyodide.org/en/stable/project/api.html), `componentize-py` should grab any pure Python packages from PyPI, only looking to an alternative repo for packages with native extensions. We (i.e. the Bytecode Alliance) will need to maintain this repo and populate it with WASI builds of popular projects until WASI wheels are standardized and published upstream to PyPI.

To start with, `componentize-py` could shell out to e.g. `pip --install --platform wasi-sdk-22 --abi cp311 --root `, but eventually we'd like to make it fully self-contained (i.e. not require Python or `pip` to be installed).

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

componentize-py の依存関係処理のエントリーポイントから始め、アプリケーションの pyproject.toml、リンクされている guest-tooling ミーティングの議論、および micropip の動作を確認します。初期スコープでは wasi-sdk-22、cp311、一時ディレクトリとともに pip を使用することが言及されています。完了条件には、推移的な Pure-Python 依存関係と、ネイティブ拡張パッケージ用の代替ソースが含まれますが、後の自己完結型モードは引き続きより大きな目標です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python, rust, wasm
領域
build-system, devtools, tooling
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。