bytecodealliance / bytecodealliance/componentize-py

Download dependencies automatically

Đang mở
#25 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.