Adding platform information to stdlib/VERSIONS
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 5.1k
- Fork
- 2.1k
- Merge trung bình
- 1 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 82
Mô tả
It might be a good idea to add platform availability information to stdlib/VERSIONS, instead of using the sys.platform hack we're currently using in the source files. This has the same rationale for introducing VERSIONS in the first place:
- Remove platform checks and the required indentation from stub files.
- Enables clearer type checker messages (e.g. "Module does not exist on this platform", instead of "Item X doesn't exist in module Y")
- Generally an unambiguous way of indicating that a module doesn't exist.
- Edit: Collect all information about module availability in one place.
One way to do this is an HTTP/E-Mail header-like key/value syntax:
abc: 3.0-; platforms=linux,darwin
def: 3.7-3.10; platforms=!windows,!linux
ghi: 3.9-
This would allow future extension when type checkers are equipped to ignore unknown keys:
abc: 3.0-; header1=foo; header2=bar
Do we need a way do indicate that a certain platform only supports a certain module starting from a certain Linux version?
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với stdlib/VERSIONS và các tệp nguồn hiện đang sử dụng các kiểm tra sys.platform. Xem xét cách khả năng sẵn có của mô-đun được biểu diễn ở đó và cách các trình kiểm tra kiểu sử dụng thông tin này. Xác định định dạng khóa/giá trị nền tảng, bao gồm hỗ trợ nền tảng theo từng phiên bản và cách xử lý các khóa không xác định; công việc được xem là hoàn tất khi đề xuất được đặc tả đủ rõ để triển khai.
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
- Lĩnh vực
- 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
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100