python / python/mypy

Manage `ignore_missing_imports = true` sections configs automatically

Ouverte
#10,044 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

feature
Langage dominant
Python
Étoiles
20.6k
Forks
3.3k
Métriques de merge des PR
Métriques de PR en attente

Description

Feature

When I'm adding typing to an existing project, I encounter many libraries that don't have type hints. The easy solution to suppressing these errors is setting ignore_missing_imports = true, but this is not great. The recommended solution, assuming you don't want to write your own stubs, is to create separate sections for each such library. This can be cumbersome to create and manage.

I wrote myself a small tool that generates such configs: https://github.com/indigoviolet/mypy-missing-imports . I think it would be nice for mypy to include something like it, to make the "recommended" path easier to follow.

Pitch

I'm imagining something like

mypy --generate-missing-import-configs <optionally, /path/to/mypy.ini>

which would print out sections for each library identified as a [import] error like

[mypy-foo.*]
ignore_missing_imports = true

If passed a configuration file, it would update the corresponding sections in that file.

I'd be happy to try and add this to mypy if it is useful.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par le traitement de la ligne de commande et de la configuration de mypy, en utilisant la commande proposée mypy --generate-missing-import-configs et l’entrée facultative mypy.ini comme points d’entrée. Examinez l’outil mypy-missing-imports référencé pour comprendre le comportement attendu. La tâche est considérée comme terminée lorsque des sections par bibliothèque telles que [mypy-foo.*] sont générées ou mises à jour avec ignore_missing_imports = true.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.