python / python/mypy

Support glob patterns when configuring `mypy_path`

Ouverte
#9,965 4 commentaires 8 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

feature topic-configuration
Langage dominant
Python
Étoiles
20.6k
Forks
3.3k
Merge moyen
1 j 18 h
PR mergées (30 j)
54

Description

Feature

Support the glob patterns * and ** in the mypy_path configuration.

Should work the same way as it does for the files configuration.

Pitch
I have a monorepo, with a bunch of python libraries located in a directory called libs.
All packages are namespace packages with the same namespace, but they are kept in their own directory inside of the libs directory:

repository_root
│
└───libs
│   └───pkg-a
│   |    └───namespace
│   |
│   └───pkg-b
│   |    └───namespace
│   |
│   └───pkg-c
│        └───namespace
│
└───mypy.ini

The mypy_path declaration in my mypy.ini looks something like this (but with dozens of packages):

mypy_path = $MYPY_CONFIG_FILE_DIR/libs/pkg-a:
    $MYPY_CONFIG_FILE_DIR/libs/pkg-b:
    $MYPY_CONFIG_FILE_DIR/libs/pkg-c:

It would be very convenient to use a glob pattern like this instead:

mypy_path = $MYPY_CONFIG_FILE_DIR/libs/*

It's more concise, and would avoid potential problems with forgetting to include a newly added package in mypy_path.

Thanks for a great tool!

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 retracer la manière dont les motifs glob sont pris en charge pour la configuration files et identifiez les points d’entrée correspondants pour l’analyse et la résolution de mypy_path. Étendez le comportement afin que * et ** fonctionnent également à cet endroit, puis vérifiez que l’exemple de monorepo de namespace package résout tous les répertoires de bibliothèques correspondants.

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é
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

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