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

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

Aperta
#580 1 commento 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Jinja
Stelle
85
Fork
16
Merge medio
6h 18m
PR unite (30g)
1

Descrizione

`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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia esaminando il template pyproject.toml insieme agli script di CI e di configurazione che installano le dipendenze di sviluppo. Aggiorna il template in modo che le dipendenze di sviluppo e le altre dipendenze non rivolte agli utenti utilizzino [dependency-groups], e assicurati che questi script utilizzino il meccanismo dei gruppi; il lavoro è completato quando l'elenco degli extras non contiene più dipendenze di sviluppo e la configurazione del progetto generato rimane funzionale.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
build-system, ci-cd
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
58/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.