lincc-frameworks / lincc-frameworks/python-project-template
Use dependency-group for "dev" and other non-user-facing dependencies
還沒有人認領這個 Issue。
- 主要語言
- Jinja
- 星號
- 85
- 分支
- 16
- 平均合併
- 6 小時 18 分鐘
- 30 天內合併 PR
- 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 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
首先檢查範本的 pyproject.toml,以及用於安裝開發相依項目的 CI 和設定指令碼。更新範本,使開發相依項目和其他非面向使用者的相依項目使用 [dependency-groups],並確保這些指令碼使用群組機制;當 extras 清單不再包含開發相依項目,且產生專案的設定仍能正常運作時,即表示完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- python
- 領域
- build-system, ci-cd
- Issue 類型
- 功能
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 58/100