bytecodealliance / bytecodealliance/componentize-py
Download dependencies automatically
- Ngôn ngữ chính
- Rust
- Star
- 277
- Fork
- 51
- Merge trung bình
- 12 giờ 10 phút
- Pull request đã merge (30 ngày)
- 10
Mô tả
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).
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu tại điểm vào xử lý dependency của componentize-py và xem xét pyproject.toml của ứng dụng, cuộc thảo luận được liên kết trong cuộc họp guest-tooling và hành vi của micropip. Phạm vi ban đầu đề cập đến việc sử dụng pip với wasi-sdk-22, cp311 và một thư mục tạm thời; hoàn thành sẽ bao gồm các dependency Pure-Python bắc cầu và một nguồn thay thế cho các package có native extension, trong khi một chế độ tự chứa ở giai đoạn sau vẫn là một mục tiêu lớn hơn.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python, rust, wasm
- Lĩnh vực
- build-system, devtools, tooling
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 25/100