Skip to content

Capability to register listeners (observers) on read and write #39

Description

@smarie

We need to clarify

  • the callback signature: probably just (obj, field) for get and (obj, field, value, has_changed) for set.
  • should the observer be called in the same thread ? probably yes for now. Later we could imagine using asyncio.loop.call_soon but that seems overkill for now
  • should the observer be called after setting the value in case of a set observer ? Maybe better to support (A) generators with a single yield and (B) normal methods, in which case they will be called after* the field is set.
  • the name of the option in field() and in the associated decorator (like for validators and converters). Maybe get_observers and set_observers (without the 's' for decorator and corresponding add_xxx method) ?

See https://traitlets.readthedocs.io/en/stable/using_traitlets.html#observe and https://python-3-patterns-idioms-test.readthedocs.io/en/latest/Observer.html

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions