python / python/mypy

Option to run non-interactive and fail if --install-types is dirty.

Abierto
#14,320 0 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

feature
Lenguaje dominante
Python
Estrellas
20.6k
Forks
3.3k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

Feature
When running mypy non-interactivelly in CI, i want to assert that all types-XXX packages required are already pre-installed on the build-server (docker image). Because that way they can be pinned and reviewed while being installed, instead of it happening without supervision through mypy.
Today there is no reliable way to do so, --install-types can only prompt Y/N in interactive mode. In --non-interactive mode it will always assume yes.

Proposing a new flag --no-install-types, that when used together with --non-interactive will fail if same call with --install-types would have suggested any stub packages to be installed.

In scenario above, there can also be stubs that are not desired (one example is types-Sqlalchemy conflicting with sqlalchemy2-stubs). To allow such to be ignored and not always fail the --no-install-types check. There also need to be an option in mypy.ini for always-ignore-types.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza por rastrear los puntos de entrada existentes --install-types y --non-interactive, y cómo se leen las opciones de mypy.ini. Define el comportamiento de --no-install-types, incluido el fallo cuando se instalarían paquetes y las exclusiones de always-ignore-types; se considerará terminado cuando CI pueda detectar los stubs necesarios que falten sin solicitar interacción, al tiempo que permita las excepciones configuradas.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
devtools
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.