lincc-frameworks / lincc-frameworks/python-project-template
Use dependency-group for "dev" and other non-user-facing dependencies
まだ誰も着手していません。
- 主要言語
- Jinja
- スター
- 85
- フォーク
- 16
- 平均マージ
- 6時間 18分
- マージ済み PR(30日)
- 1
説明
pyproject.toml specifies two types of dependency sets: "extras" and "groups." The first is specified by [project.optional-dependencies] (this is what we have now), and the second is specified by [dependency-groups]. Extras may be installed with the package-name[extra-name] syntax, while groups are not supposed to be user-facing, are not listed on PyPI, and may be installed with the --group flag.
I propose making "dev" a dependency group in the template and changing CI/setup scripts to use it this way. This will make the extras list cleaner.
https://packaging.python.org/en/latest/specifications/pyproject-toml/#dependencies-optional-dependencies
https://packaging.python.org/en/latest/specifications/dependency-groups/
LSDB at PyPI
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、開発用依存関係をインストールする CI およびセットアップスクリプトと、テンプレートの pyproject.toml を確認します。開発用依存関係とその他のユーザー向けではない依存関係が [dependency-groups] を使用するようにテンプレートを更新し、それらのスクリプトがグループメカニズムを使用することを確認します。extras リストに開発用依存関係が含まれなくなり、生成されたプロジェクトのセットアップが引き続き機能すれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- build-system, ci-cd
- issue の種類
- 機能追加
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 58/100