Plans for Package Tooling
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 20/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- python
調査の方向性
Issue スレッド全体を読み、その後、参照されている pyproject.toml、CI 設定、src-layout に関する判断を確認してください。完了したチェックリスト項目と未解決の提案を分け、開始前に具体的なスコープと受け入れ基準を確認してください。この issue では現在、何をもって完了とするかが定義されていません。
索引モデルが issue の本文から書いたものです。
説明
Agreed-Upon Package Plans:
(Read full Issue thread to see discussion)
Configuration/CI/CD:
- package management:
-
pyproject.toml(nosetup.pyorsetup.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
-
pytestfor tests -
sybilfor 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:
- gitmoji
- commitizen
- https://github.com/liorocks/cz-gitmoji for commiten-gitmoji bridge.
- 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.
- Date versioning (matching array-api) + minor & bugfix:
- 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, nosetup.pyorsetup.cfg - use
ruff(configured in pyproject.toml), not black / isort / pylint / etc. - use
uv, including in CI - build-system is
hatchandhatch-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.
NamespaceDType,Device, etc.
- 主要言語
- Python
- スター
- 27
- フォーク
- 6
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
data-apis/array-api-typing のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 38/100
data-apis/array-api-typing#70 · コメント 7 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
data-apis/array-api-typing#59 · コメント 4 件 · リアクション 1 件 ·
-
CI + lefthook オープン👷 CI
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
data-apis/array-api-typing#40 · リアクション 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
data-apis/array-api-typing#30 · リアクション 3 件 ·
-
Refactor Test Suite オープン✅ tests
data-apis/array-api-typing#25 · コメント 1 件 · リアクション 1 件 · 担当者 1 名 ·
data-apis/array-api-typing の issue をすべて見る
似ている issue
-
area: harness bug status: needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Human-Agent-Society/reef#625 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
learningequality/kolibri#15351 · コメント 2 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
Name consistency オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
eellak/triplestore#65 · コメント 1 件 ·