Option to run non-interactive and fail if --install-types is dirty.
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 20.6k
- Forks
- 3.3k
- Métriques de merge des PR
- Métriques de PR en attente
Description
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.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par retracer les points d’entrée existants --install-types et --non-interactive, ainsi que la manière dont les options de mypy.ini sont lues. Définissez le comportement de --no-install-types, notamment l’échec lorsque des paquets seraient installés et les exclusions de always-ignore-types ; le travail est considéré comme terminé lorsque CI peut détecter les stubs requis manquants sans demander d’intervention, tout en autorisant les exceptions configurées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- devtools
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100