ipython / ipython/traitlets

Feature request: combine callback calls after holding notifications

Abierto
#450 2 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
653
Forks
217
Merge medio
2 d 21 h
PR fusionados (30 d)
2

Descripción

In the following example:

```python
from traitlets import HasTraits, Integer

class State(HasTraits):
a = Integer()
b = Integer()

def callback(*args, **kwargs):
print(args, kwargs)

s = State()
s.observe(callback)
with s.hold_trait_notifications():
s.a = 1
s.b = 2
```

Callback gets called twice. However, it would be nice to have a way to minimize the number of callback calls when exiting the context manager.

The reason I ask about this is because I would like to consider transitioning [glue](http://www.glueviz.org) from using [echo](https://github.com/glue-viz/echo), which is our own trait-like library by traitlets. The case I describe above is common in our code, where we change a bunch of traits and then want to e.g. force a redraw (but only one and not one per trait).

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.