bazel-contrib / bazel-contrib/rules_python
Evaluate the best extraction method for repository rules
- Ngôn ngữ chính
- Starlark
- Star
- 688
- Fork
- 721
- Merge trung bình
- 15 giờ 7 phút
- Pull request đã merge (30 ngày)
- 76
Mô tả
Alternatives:
* What we have in legacy - Python interpreter + `installer` whl
* What we have in pipstar - `repository_ctx.extract` + `chmod` and `repository_ctx.rename`
* What `uv` is using - https://github.com/astral-sh/uv/blob/0.9.28/crates/uv-extract/src/sync.rs
* A regular `uutils` chmod + unzip
For the last thing we would probably have to setup:
- development rust toolchain.
- binary archiving as part of release. We could probably download the right thing and store hashes using the new `facts` API for `bzlmod`.
- download the binary as a dependency to `whl_library`.
This is a followup to #3554 and #3555.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng việc đọc các follow-up #3554 và #3555, sau đó so sánh đường dẫn của legacy Python interpreter và installer wheel, đường dẫn repository_ctx.extract/chmod/rename của pipstar, uv's crates/uv-extract/src/sync.rs và tùy chọn chmod/unzip của uutils. Kiểm tra các tác động đến facts API của release, whl_library và bzlmod được mô tả trong issue. Hoàn tất khi đã lựa chọn và ghi lại một phương án extraction có cơ sở, cùng các yêu cầu về toolchain, dependency, binary-release và hash của phương á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
- Lĩnh vực
- build-system, tooling
- Loại issue
- Tái cấu trúc
- Độ 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
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100