ipython / ipython/traitlets

The behaviour of traitlets.All in observe/unobserve

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

Description

I'm finding the behaviour of `traits.All` very confusing in `observe` and `unobserve`. Since I can't find much documentation on it, I thought I'd ask here.

My confusion started when I was using observe and unobserve over at ipywidgets. I created jupyter-widgets/ipywidgets#2057 as I thought it was an ipywidgets issue.

That issue is more descriptive (and will clarify this issue for anyone confused), but in short: I expected `.unobserve(names=traitlets.All)` to unobserve _all_ traits for a given function. Instead, I find that I need to specify the same name as I did when I called `.observe()`.

This is of course fine, but then I don't understand the point of `All`, or why it is listed in the docstring as a default argument.

To sum things up: I am confused by the behaviour and purpose of traitlets.All, and by the docstring of observe and unobserve.

To add: I am very impressed by traitlets in general, and I'm really excited to see what more I can use it for - I've already enjoyed using it very much.

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.