lincc-frameworks / lincc-frameworks/python-project-template
Use dependency-group for "dev" and other non-user-facing dependencies
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Jinja
- Estrellas
- 85
- Forks
- 16
- Merge medio
- 6 h 18 min
- PR fusionados (30 d)
- 1
Descripción
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
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza inspeccionando la plantilla pyproject.toml junto con los scripts de CI y de configuración que instalan las dependencias de desarrollo. Actualiza la plantilla para que las dependencias de desarrollo y otras dependencias no destinadas al usuario utilicen [dependency-groups], y asegúrate de que esos scripts utilicen el mecanismo de grupos; se considera terminado cuando la lista de extras ya no contiene dependencias de desarrollo y la configuración del proyecto generado sigue siendo funcional.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- build-system, ci-cd
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 58/100