python / python/mypy

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

Offen
#14,320 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die vorhandenen --install-types- und --non-interactive-Einstiegspunkte nachzuverfolgen und zu untersuchen, wie Optionen aus mypy.ini gelesen werden. Definiere das Verhalten für --no-install-types, einschließlich eines Fehlschlags, wenn Pakete installiert würden, sowie von Ausnahmen für always-ignore-types; abgeschlossen ist die Aufgabe, wenn CI fehlende erforderliche Stubs erkennen kann, ohne nachzufragen, und gleichzeitig konfigurierte Ausnahmen zulässt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
devtools
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.