Proxy Objects#
These objects provide "evented" subclasses of wrapt.ObjectProxy
They are intended to provide signals whenever the wrapped object is modified, for example, by setting/deleting an attribute, by getting/deleting an item, or by calling the wrapped object if it is callable.
Warning
These objects are experimental! They may affect the behavior of the wrapped object in unanticipated ways. Please consult the wrapt documentation for details on how the Object Proxy works.
psygnal.containers.EventedObjectProxy
#
Bases: ObjectProxy
, Generic[T]
Create a proxy of target
that includes an events
psygnal.SignalGroup.
Important
This class requires wrapt
to be installed. You can install directly (pip install wrapt
) or by using the psygnal extra: pip install psygnal[proxy]
Signals will be emitted whenever an attribute is set or deleted, or (if the object implements __getitem__
) whenever an item is set or deleted. If the object supports in-place modification (i.e. any of the __i{}__
magic methods), then an in_place
event is emitted (with the name of the method) whenever any of them are used.
The events available at target.events include:
attribute_set
:Signal(str, object)
attribute_deleted
:Signal(str)
item_set
:Signal(object, object)
item_deleted
:Signal(object)
in_place
:Signal(str, object)
Parameters:
- target (
Any
) –An object to wrap
Source code in psygnal/containers/_evented_proxy.py
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
|
events: ProxyEvents
property
#
SignalGroup
containing events for this object proxy.
psygnal.containers.EventedCallableObjectProxy
#
Bases: EventedObjectProxy
Create a proxy of target
that includes an events
psygnal.SignalGroup.
target
must be callable.
Important
This class requires wrapt
to be installed. You can install directly (pip install wrapt
) or by using the psygnal extra: pip install psygnal[proxy]
Signals will be emitted whenever an attribute is set or deleted, or (if the object implements __getitem__
) whenever an item is set or deleted. If the object supports in-place modification (i.e. any of the __i{}__
magic methods), then an in_place
event is emitted (with the name of the method) whenever any of them are used. Lastly, if the item is called, a called
event is emitted with the (args, kwargs) used in the call.
The events available at target.events
include:
attribute_set
:Signal(str, object)
attribute_deleted
:Signal(str)
item_set
:Signal(object, object)
item_deleted
:Signal(object)
in_place
:Signal(str, object)
called
:Signal(tuple, dict)
Parameters:
- target (
Callable
) –An callable object to wrap
Source code in psygnal/containers/_evented_proxy.py
162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 |
|
events: CallableProxyEvents
property
#
SignalGroup
containing events for this object proxy.