traitlets Dict with per_key_traits should be more specific in a TraitError
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 38/100
Piste de recherche
Commencez par reproduire l’exemple de Dict(per_key_traits) imbriqué de l’issue et suivez le point d’entrée de la validation de Dict pour per_key_traits. La modification est terminée lorsque TraitError identifie la clé fautive ou le chemin de clé imbriqué et signale clairement la valeur réellement invalide ; ajoutez une couverture de régression pour le cas présenté si la structure de tests existante le permet.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I'm using traitlets version 5.14.3 and Python 3.12.3...
- The error raised by
Dict()withper_key_traitsshould specify the offending key name in the error. - The error raised by
Dict()withper_key_traitsdoesn't handle nested dicts well
Example:
from traitlets import HasTraits, Dict, Unicode
class Foo(HasTraits):
bar = Dict(per_key_traits={"this": Unicode(), "that": Dict(per_key_traits={"that": Unicode()})})
foo = Foo()
# key that should be a Dict()...
foo.bar = {"this": "valid", "that": False}
The error raised is:
traitlets.traitlets.TraitError: Values of the 'bar' trait of a Foo instance must be a dict, but a value of False <class 'bool'> was specified.
It would be better if it specified the offending chain of keys in the error... Example:
traitlets.traitlets.TraitError: Value of bar['that'] for a Foo instance must be a dict, but the specified value at bar['that'] was False <class 'bool'>.
- Langage dominant
- Python
- Étoiles
- 653
- Forks
- 221
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire 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.
Autres issues de ipython/traitlets
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 65/100
-
Difficulté 1/5 1-3 heures Accessibilité débutants 65/100
-
Add Deprecation of Trait Declarations via Classes to Migration NotesPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouvertegood first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
Document `TraitType.read_only`Ouvertedocumentation
Difficulté 1/5 Moins d'une heure Accessibilité débutants 65/100
-
traitlets.Set should support generic type annotations for type safetyPeut-être pris @GruffElixir l’a pris il y a 31 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
Toutes les issues de ipython/traitlets
Issues similaires
-
Add `django-upgrade` to the CIOuvertedependencies feature github_actions good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
wemake-services/wemake-django-template#3149 ·
Les mainteneurs répondent en général sous 1 jour
-
[request] vsg/1.1.16Ouverteupstream update
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
conan-io/conan-center-index#31142 ·
Les mainteneurs répondent en général sous 1 jour
-
area:core bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
request-theme
Difficulté 2/5 Moins d'une heure Accessibilité débutants 70/100
LizardByte/ThemerrDB#8877 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
area/install-update comp/gateway P0 sweeper:risk-compatibility type/bug
Difficulté 2/5 Moins d'une heure Accessibilité débutants 72/100
NousResearch/hermes-agent#135997 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour