# {py:mod}`simvx.core.descriptors` ```{py:module} simvx.core.descriptors ``` ```{autodoc2-docstring} simvx.core.descriptors :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`CoroutineHandle ` - ```{autodoc2-docstring} simvx.core.descriptors.CoroutineHandle :summary: ``` * - {py:obj}`ProcessMode ` - ```{autodoc2-docstring} simvx.core.descriptors.ProcessMode :summary: ``` * - {py:obj}`Notification ` - ```{autodoc2-docstring} simvx.core.descriptors.Notification :summary: ``` * - {py:obj}`Collision ` - ```{autodoc2-docstring} simvx.core.descriptors.Collision :summary: ``` * - {py:obj}`Property ` - ```{autodoc2-docstring} simvx.core.descriptors.Property :summary: ``` * - {py:obj}`Child ` - ```{autodoc2-docstring} simvx.core.descriptors.Child :summary: ``` * - {py:obj}`OnReady ` - ```{autodoc2-docstring} simvx.core.descriptors.OnReady :summary: ``` * - {py:obj}`Connection ` - ```{autodoc2-docstring} simvx.core.descriptors.Connection :summary: ``` * - {py:obj}`Signal ` - ```{autodoc2-docstring} simvx.core.descriptors.Signal :summary: ``` * - {py:obj}`Children ` - ```{autodoc2-docstring} simvx.core.descriptors.Children :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.core.descriptors.log :summary: ``` * - {py:obj}`Coroutine ` - ```{autodoc2-docstring} simvx.core.descriptors.Coroutine :summary: ``` * - {py:obj}`Setting ` - ```{autodoc2-docstring} simvx.core.descriptors.Setting :summary: ``` ```` ### API ````{py:data} log :canonical: simvx.core.descriptors.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.core.descriptors.log ``` ```` ````{py:data} Coroutine :canonical: simvx.core.descriptors.Coroutine :value: > None ```{autodoc2-docstring} simvx.core.descriptors.Coroutine ``` ```` `````{py:class} CoroutineHandle(gen: simvx.core.descriptors.Coroutine) :canonical: simvx.core.descriptors.CoroutineHandle ```{autodoc2-docstring} simvx.core.descriptors.CoroutineHandle ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.descriptors.CoroutineHandle.__init__ ``` ````{py:attribute} __slots__ :canonical: simvx.core.descriptors.CoroutineHandle.__slots__ :value: > ('_gen', '_cancelled') ```{autodoc2-docstring} simvx.core.descriptors.CoroutineHandle.__slots__ ``` ```` ````{py:method} cancel() :canonical: simvx.core.descriptors.CoroutineHandle.cancel ```{autodoc2-docstring} simvx.core.descriptors.CoroutineHandle.cancel ``` ```` ````{py:property} is_cancelled :canonical: simvx.core.descriptors.CoroutineHandle.is_cancelled :type: bool ```{autodoc2-docstring} simvx.core.descriptors.CoroutineHandle.is_cancelled ``` ```` ````` `````{py:class} ProcessMode() :canonical: simvx.core.descriptors.ProcessMode Bases: {py:obj}`enum.IntEnum` ```{autodoc2-docstring} simvx.core.descriptors.ProcessMode ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.descriptors.ProcessMode.__init__ ``` ````{py:attribute} INHERIT :canonical: simvx.core.descriptors.ProcessMode.INHERIT :value: > 0 ```{autodoc2-docstring} simvx.core.descriptors.ProcessMode.INHERIT ``` ```` ````{py:attribute} PAUSABLE :canonical: simvx.core.descriptors.ProcessMode.PAUSABLE :value: > 1 ```{autodoc2-docstring} simvx.core.descriptors.ProcessMode.PAUSABLE ``` ```` ````{py:attribute} WHEN_PAUSED :canonical: simvx.core.descriptors.ProcessMode.WHEN_PAUSED :value: > 2 ```{autodoc2-docstring} simvx.core.descriptors.ProcessMode.WHEN_PAUSED ``` ```` ````{py:attribute} ALWAYS :canonical: simvx.core.descriptors.ProcessMode.ALWAYS :value: > 3 ```{autodoc2-docstring} simvx.core.descriptors.ProcessMode.ALWAYS ``` ```` ````{py:attribute} DISABLED :canonical: simvx.core.descriptors.ProcessMode.DISABLED :value: > 4 ```{autodoc2-docstring} simvx.core.descriptors.ProcessMode.DISABLED ``` ```` ````{py:method} __abs__() :canonical: simvx.core.descriptors.ProcessMode.__abs__ ```` ````{py:method} __add__() :canonical: simvx.core.descriptors.ProcessMode.__add__ ```` ````{py:method} __and__() :canonical: simvx.core.descriptors.ProcessMode.__and__ ```` ````{py:method} __bool__() :canonical: simvx.core.descriptors.ProcessMode.__bool__ ```` ````{py:method} __ceil__() :canonical: simvx.core.descriptors.ProcessMode.__ceil__ ```` ````{py:method} __delattr__() :canonical: simvx.core.descriptors.ProcessMode.__delattr__ ```` ````{py:method} __dir__() :canonical: simvx.core.descriptors.ProcessMode.__dir__ ```` ````{py:method} __divmod__() :canonical: simvx.core.descriptors.ProcessMode.__divmod__ ```` ````{py:method} __eq__() :canonical: simvx.core.descriptors.ProcessMode.__eq__ ```` ````{py:method} __float__() :canonical: simvx.core.descriptors.ProcessMode.__float__ ```` ````{py:method} __floor__() :canonical: simvx.core.descriptors.ProcessMode.__floor__ ```` ````{py:method} __floordiv__() :canonical: simvx.core.descriptors.ProcessMode.__floordiv__ ```` ````{py:method} __format__() :canonical: simvx.core.descriptors.ProcessMode.__format__ ```` ````{py:method} __ge__() :canonical: simvx.core.descriptors.ProcessMode.__ge__ ```` ````{py:method} __getattribute__() :canonical: simvx.core.descriptors.ProcessMode.__getattribute__ ```` ````{py:method} __getnewargs__() :canonical: simvx.core.descriptors.ProcessMode.__getnewargs__ ```` ````{py:method} __getstate__() :canonical: simvx.core.descriptors.ProcessMode.__getstate__ ```` ````{py:method} __gt__() :canonical: simvx.core.descriptors.ProcessMode.__gt__ ```` ````{py:method} __hash__() :canonical: simvx.core.descriptors.ProcessMode.__hash__ ```` ````{py:method} __index__() :canonical: simvx.core.descriptors.ProcessMode.__index__ ```` ````{py:method} __int__() :canonical: simvx.core.descriptors.ProcessMode.__int__ ```` ````{py:method} __invert__() :canonical: simvx.core.descriptors.ProcessMode.__invert__ ```` ````{py:method} __le__() :canonical: simvx.core.descriptors.ProcessMode.__le__ ```` ````{py:method} __lshift__() :canonical: simvx.core.descriptors.ProcessMode.__lshift__ ```` ````{py:method} __lt__() :canonical: simvx.core.descriptors.ProcessMode.__lt__ ```` ````{py:method} __mod__() :canonical: simvx.core.descriptors.ProcessMode.__mod__ ```` ````{py:method} __mul__() :canonical: simvx.core.descriptors.ProcessMode.__mul__ ```` ````{py:method} __ne__() :canonical: simvx.core.descriptors.ProcessMode.__ne__ ```` ````{py:method} __neg__() :canonical: simvx.core.descriptors.ProcessMode.__neg__ ```` ````{py:method} __new__() :canonical: simvx.core.descriptors.ProcessMode.__new__ ```` ````{py:method} __or__() :canonical: simvx.core.descriptors.ProcessMode.__or__ ```` ````{py:method} __pos__() :canonical: simvx.core.descriptors.ProcessMode.__pos__ ```` ````{py:method} __pow__() :canonical: simvx.core.descriptors.ProcessMode.__pow__ ```` ````{py:method} __radd__() :canonical: simvx.core.descriptors.ProcessMode.__radd__ ```` ````{py:method} __rand__() :canonical: simvx.core.descriptors.ProcessMode.__rand__ ```` ````{py:method} __rdivmod__() :canonical: simvx.core.descriptors.ProcessMode.__rdivmod__ ```` ````{py:method} __reduce__() :canonical: simvx.core.descriptors.ProcessMode.__reduce__ ```` ````{py:method} __reduce_ex__() :canonical: simvx.core.descriptors.ProcessMode.__reduce_ex__ ```` ````{py:method} __repr__() :canonical: simvx.core.descriptors.ProcessMode.__repr__ ```` ````{py:method} __rfloordiv__() :canonical: simvx.core.descriptors.ProcessMode.__rfloordiv__ ```` ````{py:method} __rlshift__() :canonical: simvx.core.descriptors.ProcessMode.__rlshift__ ```` ````{py:method} __rmod__() :canonical: simvx.core.descriptors.ProcessMode.__rmod__ ```` ````{py:method} __rmul__() :canonical: simvx.core.descriptors.ProcessMode.__rmul__ ```` ````{py:method} __ror__() :canonical: simvx.core.descriptors.ProcessMode.__ror__ ```` ````{py:method} __round__() :canonical: simvx.core.descriptors.ProcessMode.__round__ ```` ````{py:method} __rpow__() :canonical: simvx.core.descriptors.ProcessMode.__rpow__ ```` ````{py:method} __rrshift__() :canonical: simvx.core.descriptors.ProcessMode.__rrshift__ ```` ````{py:method} __rshift__() :canonical: simvx.core.descriptors.ProcessMode.__rshift__ ```` ````{py:method} __rsub__() :canonical: simvx.core.descriptors.ProcessMode.__rsub__ ```` ````{py:method} __rtruediv__() :canonical: simvx.core.descriptors.ProcessMode.__rtruediv__ ```` ````{py:method} __rxor__() :canonical: simvx.core.descriptors.ProcessMode.__rxor__ ```` ````{py:method} __setattr__() :canonical: simvx.core.descriptors.ProcessMode.__setattr__ ```` ````{py:method} __sizeof__() :canonical: simvx.core.descriptors.ProcessMode.__sizeof__ ```` ````{py:method} __str__() :canonical: simvx.core.descriptors.ProcessMode.__str__ ```` ````{py:method} __sub__() :canonical: simvx.core.descriptors.ProcessMode.__sub__ ```` ````{py:method} __subclasshook__() :canonical: simvx.core.descriptors.ProcessMode.__subclasshook__ ```` ````{py:method} __truediv__() :canonical: simvx.core.descriptors.ProcessMode.__truediv__ ```` ````{py:method} __trunc__() :canonical: simvx.core.descriptors.ProcessMode.__trunc__ ```` ````{py:method} __xor__() :canonical: simvx.core.descriptors.ProcessMode.__xor__ ```` ````{py:method} as_integer_ratio() :canonical: simvx.core.descriptors.ProcessMode.as_integer_ratio ```` ````{py:method} bit_count() :canonical: simvx.core.descriptors.ProcessMode.bit_count ```` ````{py:method} bit_length() :canonical: simvx.core.descriptors.ProcessMode.bit_length ```` ````{py:method} conjugate() :canonical: simvx.core.descriptors.ProcessMode.conjugate ```` ```{py:class} denominator :canonical: simvx.core.descriptors.ProcessMode.denominator ``` ```{py:class} imag :canonical: simvx.core.descriptors.ProcessMode.imag ``` ````{py:method} is_integer() :canonical: simvx.core.descriptors.ProcessMode.is_integer ```` ```{py:class} numerator :canonical: simvx.core.descriptors.ProcessMode.numerator ``` ```{py:class} real :canonical: simvx.core.descriptors.ProcessMode.real ``` ````{py:method} to_bytes() :canonical: simvx.core.descriptors.ProcessMode.to_bytes ```` ````{py:method} __deepcopy__(memo) :canonical: simvx.core.descriptors.ProcessMode.__deepcopy__ ```` ````{py:method} __copy__() :canonical: simvx.core.descriptors.ProcessMode.__copy__ ```` ````{py:method} name() :canonical: simvx.core.descriptors.ProcessMode.name ```` ````{py:method} value() :canonical: simvx.core.descriptors.ProcessMode.value ```` ````` `````{py:class} Notification() :canonical: simvx.core.descriptors.Notification Bases: {py:obj}`enum.IntEnum` ```{autodoc2-docstring} simvx.core.descriptors.Notification ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.descriptors.Notification.__init__ ``` ````{py:attribute} TRANSFORM_CHANGED :canonical: simvx.core.descriptors.Notification.TRANSFORM_CHANGED :value: > 'auto(...)' ```{autodoc2-docstring} simvx.core.descriptors.Notification.TRANSFORM_CHANGED ``` ```` ````{py:attribute} VISIBILITY_CHANGED :canonical: simvx.core.descriptors.Notification.VISIBILITY_CHANGED :value: > 'auto(...)' ```{autodoc2-docstring} simvx.core.descriptors.Notification.VISIBILITY_CHANGED ``` ```` ````{py:attribute} ENTER_TREE :canonical: simvx.core.descriptors.Notification.ENTER_TREE :value: > 'auto(...)' ```{autodoc2-docstring} simvx.core.descriptors.Notification.ENTER_TREE ``` ```` ````{py:attribute} EXIT_TREE :canonical: simvx.core.descriptors.Notification.EXIT_TREE :value: > 'auto(...)' ```{autodoc2-docstring} simvx.core.descriptors.Notification.EXIT_TREE ``` ```` ````{py:attribute} READY :canonical: simvx.core.descriptors.Notification.READY :value: > 'auto(...)' ```{autodoc2-docstring} simvx.core.descriptors.Notification.READY ``` ```` ````{py:attribute} PARENTED :canonical: simvx.core.descriptors.Notification.PARENTED :value: > 'auto(...)' ```{autodoc2-docstring} simvx.core.descriptors.Notification.PARENTED ``` ```` ````{py:attribute} UNPARENTED :canonical: simvx.core.descriptors.Notification.UNPARENTED :value: > 'auto(...)' ```{autodoc2-docstring} simvx.core.descriptors.Notification.UNPARENTED ``` ```` ````{py:attribute} PROCESS :canonical: simvx.core.descriptors.Notification.PROCESS :value: > 'auto(...)' ```{autodoc2-docstring} simvx.core.descriptors.Notification.PROCESS ``` ```` ````{py:attribute} PHYSICS_PROCESS :canonical: simvx.core.descriptors.Notification.PHYSICS_PROCESS :value: > 'auto(...)' ```{autodoc2-docstring} simvx.core.descriptors.Notification.PHYSICS_PROCESS ``` ```` ````{py:method} __abs__() :canonical: simvx.core.descriptors.Notification.__abs__ ```` ````{py:method} __add__() :canonical: simvx.core.descriptors.Notification.__add__ ```` ````{py:method} __and__() :canonical: simvx.core.descriptors.Notification.__and__ ```` ````{py:method} __bool__() :canonical: simvx.core.descriptors.Notification.__bool__ ```` ````{py:method} __ceil__() :canonical: simvx.core.descriptors.Notification.__ceil__ ```` ````{py:method} __delattr__() :canonical: simvx.core.descriptors.Notification.__delattr__ ```` ````{py:method} __dir__() :canonical: simvx.core.descriptors.Notification.__dir__ ```` ````{py:method} __divmod__() :canonical: simvx.core.descriptors.Notification.__divmod__ ```` ````{py:method} __eq__() :canonical: simvx.core.descriptors.Notification.__eq__ ```` ````{py:method} __float__() :canonical: simvx.core.descriptors.Notification.__float__ ```` ````{py:method} __floor__() :canonical: simvx.core.descriptors.Notification.__floor__ ```` ````{py:method} __floordiv__() :canonical: simvx.core.descriptors.Notification.__floordiv__ ```` ````{py:method} __format__() :canonical: simvx.core.descriptors.Notification.__format__ ```` ````{py:method} __ge__() :canonical: simvx.core.descriptors.Notification.__ge__ ```` ````{py:method} __getattribute__() :canonical: simvx.core.descriptors.Notification.__getattribute__ ```` ````{py:method} __getnewargs__() :canonical: simvx.core.descriptors.Notification.__getnewargs__ ```` ````{py:method} __getstate__() :canonical: simvx.core.descriptors.Notification.__getstate__ ```` ````{py:method} __gt__() :canonical: simvx.core.descriptors.Notification.__gt__ ```` ````{py:method} __hash__() :canonical: simvx.core.descriptors.Notification.__hash__ ```` ````{py:method} __index__() :canonical: simvx.core.descriptors.Notification.__index__ ```` ````{py:method} __int__() :canonical: simvx.core.descriptors.Notification.__int__ ```` ````{py:method} __invert__() :canonical: simvx.core.descriptors.Notification.__invert__ ```` ````{py:method} __le__() :canonical: simvx.core.descriptors.Notification.__le__ ```` ````{py:method} __lshift__() :canonical: simvx.core.descriptors.Notification.__lshift__ ```` ````{py:method} __lt__() :canonical: simvx.core.descriptors.Notification.__lt__ ```` ````{py:method} __mod__() :canonical: simvx.core.descriptors.Notification.__mod__ ```` ````{py:method} __mul__() :canonical: simvx.core.descriptors.Notification.__mul__ ```` ````{py:method} __ne__() :canonical: simvx.core.descriptors.Notification.__ne__ ```` ````{py:method} __neg__() :canonical: simvx.core.descriptors.Notification.__neg__ ```` ````{py:method} __new__() :canonical: simvx.core.descriptors.Notification.__new__ ```` ````{py:method} __or__() :canonical: simvx.core.descriptors.Notification.__or__ ```` ````{py:method} __pos__() :canonical: simvx.core.descriptors.Notification.__pos__ ```` ````{py:method} __pow__() :canonical: simvx.core.descriptors.Notification.__pow__ ```` ````{py:method} __radd__() :canonical: simvx.core.descriptors.Notification.__radd__ ```` ````{py:method} __rand__() :canonical: simvx.core.descriptors.Notification.__rand__ ```` ````{py:method} __rdivmod__() :canonical: simvx.core.descriptors.Notification.__rdivmod__ ```` ````{py:method} __reduce__() :canonical: simvx.core.descriptors.Notification.__reduce__ ```` ````{py:method} __reduce_ex__() :canonical: simvx.core.descriptors.Notification.__reduce_ex__ ```` ````{py:method} __repr__() :canonical: simvx.core.descriptors.Notification.__repr__ ```` ````{py:method} __rfloordiv__() :canonical: simvx.core.descriptors.Notification.__rfloordiv__ ```` ````{py:method} __rlshift__() :canonical: simvx.core.descriptors.Notification.__rlshift__ ```` ````{py:method} __rmod__() :canonical: simvx.core.descriptors.Notification.__rmod__ ```` ````{py:method} __rmul__() :canonical: simvx.core.descriptors.Notification.__rmul__ ```` ````{py:method} __ror__() :canonical: simvx.core.descriptors.Notification.__ror__ ```` ````{py:method} __round__() :canonical: simvx.core.descriptors.Notification.__round__ ```` ````{py:method} __rpow__() :canonical: simvx.core.descriptors.Notification.__rpow__ ```` ````{py:method} __rrshift__() :canonical: simvx.core.descriptors.Notification.__rrshift__ ```` ````{py:method} __rshift__() :canonical: simvx.core.descriptors.Notification.__rshift__ ```` ````{py:method} __rsub__() :canonical: simvx.core.descriptors.Notification.__rsub__ ```` ````{py:method} __rtruediv__() :canonical: simvx.core.descriptors.Notification.__rtruediv__ ```` ````{py:method} __rxor__() :canonical: simvx.core.descriptors.Notification.__rxor__ ```` ````{py:method} __setattr__() :canonical: simvx.core.descriptors.Notification.__setattr__ ```` ````{py:method} __sizeof__() :canonical: simvx.core.descriptors.Notification.__sizeof__ ```` ````{py:method} __str__() :canonical: simvx.core.descriptors.Notification.__str__ ```` ````{py:method} __sub__() :canonical: simvx.core.descriptors.Notification.__sub__ ```` ````{py:method} __subclasshook__() :canonical: simvx.core.descriptors.Notification.__subclasshook__ ```` ````{py:method} __truediv__() :canonical: simvx.core.descriptors.Notification.__truediv__ ```` ````{py:method} __trunc__() :canonical: simvx.core.descriptors.Notification.__trunc__ ```` ````{py:method} __xor__() :canonical: simvx.core.descriptors.Notification.__xor__ ```` ````{py:method} as_integer_ratio() :canonical: simvx.core.descriptors.Notification.as_integer_ratio ```` ````{py:method} bit_count() :canonical: simvx.core.descriptors.Notification.bit_count ```` ````{py:method} bit_length() :canonical: simvx.core.descriptors.Notification.bit_length ```` ````{py:method} conjugate() :canonical: simvx.core.descriptors.Notification.conjugate ```` ```{py:class} denominator :canonical: simvx.core.descriptors.Notification.denominator ``` ```{py:class} imag :canonical: simvx.core.descriptors.Notification.imag ``` ````{py:method} is_integer() :canonical: simvx.core.descriptors.Notification.is_integer ```` ```{py:class} numerator :canonical: simvx.core.descriptors.Notification.numerator ``` ```{py:class} real :canonical: simvx.core.descriptors.Notification.real ``` ````{py:method} to_bytes() :canonical: simvx.core.descriptors.Notification.to_bytes ```` ````{py:method} __deepcopy__(memo) :canonical: simvx.core.descriptors.Notification.__deepcopy__ ```` ````{py:method} __copy__() :canonical: simvx.core.descriptors.Notification.__copy__ ```` ````{py:method} name() :canonical: simvx.core.descriptors.Notification.name ```` ````{py:method} value() :canonical: simvx.core.descriptors.Notification.value ```` ````` `````{py:class} Collision :canonical: simvx.core.descriptors.Collision Bases: {py:obj}`typing.NamedTuple` ```{autodoc2-docstring} simvx.core.descriptors.Collision ``` ````{py:attribute} normal :canonical: simvx.core.descriptors.Collision.normal :type: simvx.core.math.types.Vec2 | simvx.core.math.types.Vec3 :value: > None ```{autodoc2-docstring} simvx.core.descriptors.Collision.normal ``` ```` ````{py:attribute} collider :canonical: simvx.core.descriptors.Collision.collider :type: typing.Any :value: > None ```{autodoc2-docstring} simvx.core.descriptors.Collision.collider ``` ```` ````{py:attribute} position :canonical: simvx.core.descriptors.Collision.position :type: simvx.core.math.types.Vec2 | simvx.core.math.types.Vec3 :value: > None ```{autodoc2-docstring} simvx.core.descriptors.Collision.position ``` ```` ````{py:attribute} depth :canonical: simvx.core.descriptors.Collision.depth :type: float :value: > None ```{autodoc2-docstring} simvx.core.descriptors.Collision.depth ``` ```` ````` `````{py:class} Property(default: typing.Any, *, range=None, enum=None, hint='', link=False, propagate=False) :canonical: simvx.core.descriptors.Property ```{autodoc2-docstring} simvx.core.descriptors.Property ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.descriptors.Property.__init__ ``` ````{py:attribute} __slots__ :canonical: simvx.core.descriptors.Property.__slots__ :value: > ('default', 'range', 'enum', 'hint', 'name', 'attr', 'link', '_propagate') ```{autodoc2-docstring} simvx.core.descriptors.Property.__slots__ ``` ```` ````{py:method} __set_name__(owner, name) :canonical: simvx.core.descriptors.Property.__set_name__ ```{autodoc2-docstring} simvx.core.descriptors.Property.__set_name__ ``` ```` ````{py:method} __get__(obj, objtype=None) :canonical: simvx.core.descriptors.Property.__get__ ```{autodoc2-docstring} simvx.core.descriptors.Property.__get__ ``` ```` ````{py:method} __set__(obj, value) :canonical: simvx.core.descriptors.Property.__set__ ```{autodoc2-docstring} simvx.core.descriptors.Property.__set__ ``` ```` ````{py:method} __repr__() :canonical: simvx.core.descriptors.Property.__repr__ ```` ````` ````{py:data} Setting :canonical: simvx.core.descriptors.Setting :value: > None ```{autodoc2-docstring} simvx.core.descriptors.Setting ``` ```` `````{py:class} Child(node_type: type, *args, **kwargs) :canonical: simvx.core.descriptors.Child ```{autodoc2-docstring} simvx.core.descriptors.Child ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.descriptors.Child.__init__ ``` ````{py:method} __set_name__(owner, name) :canonical: simvx.core.descriptors.Child.__set_name__ ```{autodoc2-docstring} simvx.core.descriptors.Child.__set_name__ ``` ```` ````{py:method} __get__(obj, objtype=None) :canonical: simvx.core.descriptors.Child.__get__ ```{autodoc2-docstring} simvx.core.descriptors.Child.__get__ ``` ```` ````{py:method} __set__(obj, value) :canonical: simvx.core.descriptors.Child.__set__ ```{autodoc2-docstring} simvx.core.descriptors.Child.__set__ ``` ```` ````` `````{py:class} OnReady(path_or_callable) :canonical: simvx.core.descriptors.OnReady ```{autodoc2-docstring} simvx.core.descriptors.OnReady ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.descriptors.OnReady.__init__ ``` ````{py:method} __class_getitem__(key) :canonical: simvx.core.descriptors.OnReady.__class_getitem__ :classmethod: ```{autodoc2-docstring} simvx.core.descriptors.OnReady.__class_getitem__ ``` ```` ````{py:method} __set_name__(owner, name) :canonical: simvx.core.descriptors.OnReady.__set_name__ ```{autodoc2-docstring} simvx.core.descriptors.OnReady.__set_name__ ``` ```` ````{py:method} __get__(obj, objtype=None) :canonical: simvx.core.descriptors.OnReady.__get__ ```{autodoc2-docstring} simvx.core.descriptors.OnReady.__get__ ``` ```` ````` `````{py:class} Connection(signal: simvx.core.descriptors.Signal, fn: collections.abc.Callable) :canonical: simvx.core.descriptors.Connection ```{autodoc2-docstring} simvx.core.descriptors.Connection ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.descriptors.Connection.__init__ ``` ````{py:attribute} __slots__ :canonical: simvx.core.descriptors.Connection.__slots__ :value: > ('_signal', '_fn', '_connected') ```{autodoc2-docstring} simvx.core.descriptors.Connection.__slots__ ``` ```` ````{py:method} disconnect() :canonical: simvx.core.descriptors.Connection.disconnect ```{autodoc2-docstring} simvx.core.descriptors.Connection.disconnect ``` ```` ````{py:property} connected :canonical: simvx.core.descriptors.Connection.connected :type: bool ```{autodoc2-docstring} simvx.core.descriptors.Connection.connected ``` ```` ````{py:method} __call__(*args, **kwargs) :canonical: simvx.core.descriptors.Connection.__call__ ```{autodoc2-docstring} simvx.core.descriptors.Connection.__call__ ``` ```` ````{py:method} __bool__() :canonical: simvx.core.descriptors.Connection.__bool__ ```{autodoc2-docstring} simvx.core.descriptors.Connection.__bool__ ``` ```` ````{py:method} __repr__() :canonical: simvx.core.descriptors.Connection.__repr__ ```` ````` `````{py:class} Signal() :canonical: simvx.core.descriptors.Signal ```{autodoc2-docstring} simvx.core.descriptors.Signal ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.descriptors.Signal.__init__ ``` ````{py:attribute} __slots__ :canonical: simvx.core.descriptors.Signal.__slots__ :value: > ('_callbacks',) ```{autodoc2-docstring} simvx.core.descriptors.Signal.__slots__ ``` ```` ````{py:method} connect(fn: collections.abc.Callable, *, once: bool = False) -> simvx.core.descriptors.Connection :canonical: simvx.core.descriptors.Signal.connect ```{autodoc2-docstring} simvx.core.descriptors.Signal.connect ``` ```` ````{py:method} disconnect(fn_or_conn) :canonical: simvx.core.descriptors.Signal.disconnect ```{autodoc2-docstring} simvx.core.descriptors.Signal.disconnect ``` ```` ````{py:method} __call__(*args, **kwargs) :canonical: simvx.core.descriptors.Signal.__call__ ```{autodoc2-docstring} simvx.core.descriptors.Signal.__call__ ``` ```` ````{py:method} clear() :canonical: simvx.core.descriptors.Signal.clear ```{autodoc2-docstring} simvx.core.descriptors.Signal.clear ``` ```` ````{py:attribute} emit :canonical: simvx.core.descriptors.Signal.emit :value: > None ```{autodoc2-docstring} simvx.core.descriptors.Signal.emit ``` ```` ````{py:method} __repr__() :canonical: simvx.core.descriptors.Signal.__repr__ ```` ````` `````{py:class} Children() :canonical: simvx.core.descriptors.Children ```{autodoc2-docstring} simvx.core.descriptors.Children ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.descriptors.Children.__init__ ``` ````{py:attribute} __slots__ :canonical: simvx.core.descriptors.Children.__slots__ :value: > ('_list', '_names', '_snapshot', '_dirty') ```{autodoc2-docstring} simvx.core.descriptors.Children.__slots__ ``` ```` ````{py:method} safe_iter() -> list :canonical: simvx.core.descriptors.Children.safe_iter ```{autodoc2-docstring} simvx.core.descriptors.Children.safe_iter ``` ```` ````{py:method} __getattr__(name: str) :canonical: simvx.core.descriptors.Children.__getattr__ ```{autodoc2-docstring} simvx.core.descriptors.Children.__getattr__ ``` ```` ````{py:method} __getitem__(key) :canonical: simvx.core.descriptors.Children.__getitem__ ```{autodoc2-docstring} simvx.core.descriptors.Children.__getitem__ ``` ```` ````{py:method} __iter__() :canonical: simvx.core.descriptors.Children.__iter__ ```{autodoc2-docstring} simvx.core.descriptors.Children.__iter__ ``` ```` ````{py:method} __len__() :canonical: simvx.core.descriptors.Children.__len__ ```{autodoc2-docstring} simvx.core.descriptors.Children.__len__ ``` ```` ````{py:method} __contains__(item) :canonical: simvx.core.descriptors.Children.__contains__ ```{autodoc2-docstring} simvx.core.descriptors.Children.__contains__ ``` ```` ````{py:method} __bool__() :canonical: simvx.core.descriptors.Children.__bool__ ```{autodoc2-docstring} simvx.core.descriptors.Children.__bool__ ``` ```` ````{py:method} __repr__() :canonical: simvx.core.descriptors.Children.__repr__ ```` `````