traitlets Dict does not observe value changes after initial key / value assigments
Open
- 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
Assessment
This issue has not been assessed yet.