Skip to content

The behaviour of traitlets.All in observe/unobserve #485

Open
@thomasaarholt

Description

@thomasaarholt

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions