lincc-frameworks / lincc-frameworks/python-project-template

Use dependency-group for "dev" and other non-user-facing dependencies

オープン
#580 コメント 1 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
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
Image

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、開発用依存関係をインストールする CI およびセットアップスクリプトと、テンプレートの pyproject.toml を確認します。開発用依存関係とその他のユーザー向けではない依存関係が [dependency-groups] を使用するようにテンプレートを更新し、それらのスクリプトがグループメカニズムを使用することを確認します。extras リストに開発用依存関係が含まれなくなり、生成されたプロジェクトのセットアップが引き続き機能すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
build-system, ci-cd
issue の種類
機能追加
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
58/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。