bytecodealliance / bytecodealliance/componentize-py
Download dependencies automatically
- 主要言語
- 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