bytecodealliance / bytecodealliance/componentize-py

Download dependencies automatically

未关闭
#25 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Rust
星标
277
派生
51
平均合并
12 小时 10 分钟
30 天内合并 PR
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 的行为。初始范围提到使用 pip 配合 wasi-sdk-22、cp311 和临时目录;完成标准将包括传递性 Pure-Python 依赖以及原生扩展包的替代源,而后续的自包含模式仍然是一个更大的目标。

由索引模型根据 Issue 内容生成。

评估

技术栈
python, rust, wasm
领域
build-system, devtools, tooling
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
基本清楚
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。