lincc-frameworks / lincc-frameworks/python-project-template
Use dependency-group for "dev" and other non-user-facing dependencies
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**
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- 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