Consider adding a plugin for `.__dict__`
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
In runtime we know that __dict__ on any object contains the same fields as instance itself.
So, we can predict what is going to be inside this __dict__:
>>> class A:
... def __init__(self, x: int, y: str) -> None:
... self.x = x
... self.y = y
...
>>> A(1, 'a').__dict__
{'x': 1, 'y': 'a'}
Pitch
I think it might be very useful to infer A(1, 'a').__dict__ as TypedDict({'x': int, 'y': str}).
However:
- Performance might be an issue
- There are cases where this is not possible due to typing and runtime resons (
__getattr__,fallback_to_any, etc)
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 examiner comment les plugins mypy et l’inférence de TypedDict sont actuellement gérés, puis évaluez si le dict d’un objet peut être inféré à partir de ses champs d’instance. Tenez compte des préoccupations de performance mentionnées et des exceptions telles que getattr et fallback_to_any ; le travail sera considéré comme terminé lorsqu’une conception définie et le comportement correspondant seront disponibles pour les cas réalisables.
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é
- À clarifier
- Accessibilité débutants
- 30/100