Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Plans for Package Tooling

Đang mở
#1 69 bình luận 1 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
20/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
python

Hướng nghiên cứu

Đọc toàn bộ thread của issue, sau đó kiểm tra pyproject.toml được tham chiếu, cấu hình CI và các quyết định về src-layout. Tách các mục checklist đã hoàn thành khỏi các đề xuất chưa được giải quyết và xác nhận phạm vi cụ thể cùng các tiêu chí nghiệm thu trước khi bắt đầu; hiện issue này chưa xác định thế nào là hoàn thành.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

✅ tests 🎉 project 👷 CI 💄 UI 🔖 tags 🔧 config 🧑‍💻 dev

Agreed-Upon Package Plans:
(Read full Issue thread to see discussion)

Configuration/CI/CD:

  • package management:
    • pyproject.toml (no setup.py or setup.cfg)
    • uv, including in CI
  • build-system
    • hatch
    • hatch-vcs
  • src-layout
    • When reaching API stability then try walled-garden API separation.
  • tests / task running
    • pytest for tests
    • sybil for doctests.
    • start with tox (+ tox-uv)
    • Static checking with mypy, pyright, basedmypy, & basedpyright to check from most-used to most-correct static typing. We aim for correctness (following the official typing spec), but want to ensure a good experience with the most-used checkers.
  • linting / formatting / non-test checks
    • left-hook
    • sp-repo-review
    • ruff (configured in pyproject.toml), not black / isort / pylint / etc.
    • a markdown linter
    • typos
  • commit messages:
  • versioning: (see discussion link)
    • Date versioning (matching array-api) + minor & bugfix: YYYY-MM-minor.bug
    • main + branch-per-version format: e.g. main, 2023-11.2.1
    • Use meeseeksmachine for backporting from main branch to older version branch.
  • GH labels:
    • using gitmoji
    • automated

(Original Comment)

Here's a list of my suggestions for this package. @jorenham LMK what you agree with.

Configuration/CI/CD:

  • pyproject.toml, no setup.py or setup.cfg
  • use ruff (configured in pyproject.toml), not black / isort / pylint / etc.
  • use uv, including in CI
  • build-system is hatch and hatch-vcs
  • use pre-commit
  • check with mypy and pyright, the most common type checkers. EDIT: adding basedmypy & basedpyright

Docs:

  • same look and feel as the main docs.
  • markdown

Package layout:

  • src-layout
  • use walled-garden separation between public and private API for easy adherence to PEP8 and dev QoL. EDIT: do at later date.
src/
    array_api_typing/
        __init__.py  # defines the public API
        _src/  # private API walled garden. Everything here is private and easily worked on by devs w/out public API consequences.
            base.py  # named whatever we want. no pre-fix underscores.
            core.py  # named whatever we want. no pre-fix underscores.

Package Contents:

  • Array. Let's start (pre-release) by not making it parametric, then see what we can do well, e.g. lessons from optype.
    • I would actually like to have 2 classes a "minimal" and "full", where the minimal is only
@runtime_checkable
class BaseArray(Protocol):  # name TBD
    def __array_namespace__(self, ...) -> Namespace: ...

and the full version contains all the attributes and methods.

  • Namespace
  • DType, Device, etc.
Ngôn ngữ chính
Python
Star
27
Fork
6
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của data-apis/array-api-typing

Tất cả issue của data-apis/array-api-typing

Issue tương tự

Thêm issue về Python

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.