ipython / ipython/traitlets

traitlets Dict does not observe value changes after initial key / value assigments

Open
#922 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
653
Forks
217
Avg merge
2d 21h
Merged PRs (30d)
2

Description

I'm using `traitlets` version 5.14.3 and Python 3.12.3...

In both cases below, a `TraitError` is not thrown, even though `None` is assigned to a `Unicode()` field after initialization...

```python
from traitlets import HasTraits, Dict, Unicode

class Foo(HasTraits):
data = Dict(per_key_traits={"a_key": Unicode()})

class Bar(HasTraits):
data = Dict(key_trait=Unicode(), value_trait=Unicode())

foo = Foo()
foo.data = {"a_key": "a_value"}
# I think this should throw a TraitError...
foo.data["a_key"] = None

bar = Bar()
bar.data = {"a_key": "a_value"}
# I think this should throw a TraitError...
bar.data["a_key"] = None
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.