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

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

Offen
#580 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Jinja
Sterne
85
Forks
16
Ø Merge
6 Std. 18 Min.
Gemergte PRs (30 T.)
1

Beschreibung

`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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die pyproject.toml-Vorlage zusammen mit den CI- und Setup-Skripten zu untersuchen, die die Entwicklungsabhängigkeiten installieren. Aktualisiere die Vorlage so, dass Entwicklungsabhängigkeiten und andere nicht für Benutzer sichtbare Abhängigkeiten [dependency-groups] verwenden, und stelle sicher, dass diese Skripte den Gruppenmechanismus verwenden; als erledigt gilt die Aufgabe, wenn die Extras-Liste keine Entwicklungsabhängigkeiten mehr enthält und die Einrichtung des generierten Projekts weiterhin funktionsfähig ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
build-system, ci-cd
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
58/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.