class documentation

class LocalProxy(t.Generic[T]): (source)

View In Hierarchy

A proxy to the object bound to a context-local object. All operations on the proxy are forwarded to the bound object. If no object is bound, a ``RuntimeError`` is raised. :param local: The context-local object that provides the proxied object. :param name: Proxy this attribute from the proxied object. :param unbound_message: The error message to show if the context-local object is unbound. Proxy a :class:`~contextvars.ContextVar` to make it easier to access. Pass a name to proxy that attribute. .. code-block:: python _request_var = ContextVar("request") request = LocalProxy(_request_var) session = LocalProxy(_request_var, "session") Proxy an attribute on a :class:`Local` namespace by calling the local with the attribute name: .. code-block:: python data = Local() user = data("user") Proxy the top item on a :class:`LocalStack` by calling the local. Pass a name to proxy that attribute. .. code-block:: app_stack = LocalStack() current_app = app_stack() g = app_stack("g") Pass a function to proxy the return value from that function. This was previously used to access attributes of local objects before that was supported directly. .. code-block:: python session = LocalProxy(lambda: request.session) ``__repr__`` and ``__class__`` are proxied, so ``repr(x)`` and ``isinstance(x, cls)`` will look like the proxied object. Use ``issubclass(type(x), LocalProxy)`` to check if an object is a proxy. .. code-block:: python repr(user) # <User admin> isinstance(user, User) # True issubclass(type(user), LocalProxy) # True .. versionchanged:: 2.2.2 ``__wrapped__`` is set when wrapping an object, not only when wrapping a function, to prevent doctest from failing. .. versionchanged:: 2.2 Can proxy a ``ContextVar`` or ``LocalStack`` directly. .. versionchanged:: 2.2 The ``name`` parameter can be used with any proxied object, not only ``Local``. .. versionchanged:: 2.2 Added the ``unbound_message`` parameter. .. versionchanged:: 2.0 Updated proxied attributes and methods to reflect the current data model. .. versionchanged:: 0.6.1 The class can be instantiated with a callable.

Method __init__ Undocumented
Class Variable __abs__ Undocumented
Class Variable __add__ Undocumented
Class Variable __aenter__ Undocumented
Class Variable __aexit__ Undocumented
Class Variable __aiter__ Undocumented
Class Variable __and__ Undocumented
Class Variable __anext__ Undocumented
Class Variable __await__ Undocumented
Class Variable __bool__ Undocumented
Class Variable __bytes__ Undocumented
Class Variable __call__ Undocumented
Class Variable __ceil__ Undocumented
Class Variable __class__ Undocumented
Class Variable __complex__ Undocumented
Class Variable __contains__ Undocumented
Class Variable __copy__ Undocumented
Class Variable __deepcopy__ Undocumented
Class Variable __delattr__ Undocumented
Class Variable __delitem__ Undocumented
Class Variable __dir__ Undocumented
Class Variable __divmod__ Undocumented
Class Variable __doc__ Undocumented
Class Variable __enter__ Undocumented
Class Variable __eq__ Undocumented
Class Variable __exit__ Undocumented
Class Variable __float__ Undocumented
Class Variable __floor__ Undocumented
Class Variable __floordiv__ Undocumented
Class Variable __format__ Undocumented
Class Variable __ge__ Undocumented
Class Variable __getattr__ Undocumented
Class Variable __getitem__ Undocumented
Class Variable __gt__ Undocumented
Class Variable __hash__ Undocumented
Class Variable __iadd__ Undocumented
Class Variable __iand__ Undocumented
Class Variable __ifloordiv__ Undocumented
Class Variable __ilshift__ Undocumented
Class Variable __imatmul__ Undocumented
Class Variable __imod__ Undocumented
Class Variable __imul__ Undocumented
Class Variable __index__ Undocumented
Class Variable __instancecheck__ Undocumented
Class Variable __int__ Undocumented
Class Variable __invert__ Undocumented
Class Variable __ior__ Undocumented
Class Variable __ipow__ Undocumented
Class Variable __irshift__ Undocumented
Class Variable __isub__ Undocumented
Class Variable __iter__ Undocumented
Class Variable __itruediv__ Undocumented
Class Variable __ixor__ Undocumented
Class Variable __le__ Undocumented
Class Variable __len__ Undocumented
Class Variable __length_hint__ Undocumented
Class Variable __lshift__ Undocumented
Class Variable __lt__ Undocumented
Class Variable __matmul__ Undocumented
Class Variable __mod__ Undocumented
Class Variable __mul__ Undocumented
Class Variable __ne__ Undocumented
Class Variable __neg__ Undocumented
Class Variable __next__ Undocumented
Class Variable __or__ Undocumented
Class Variable __pos__ Undocumented
Class Variable __pow__ Undocumented
Class Variable __radd__ Undocumented
Class Variable __rand__ Undocumented
Class Variable __rdivmod__ Undocumented
Class Variable __repr__ Undocumented
Class Variable __reversed__ Undocumented
Class Variable __rfloordiv__ Undocumented
Class Variable __rlshift__ Undocumented
Class Variable __rmatmul__ Undocumented
Class Variable __rmod__ Undocumented
Class Variable __rmul__ Undocumented
Class Variable __ror__ Undocumented
Class Variable __round__ Undocumented
Class Variable __rpow__ Undocumented
Class Variable __rrshift__ Undocumented
Class Variable __rshift__ Undocumented
Class Variable __rsub__ Undocumented
Class Variable __rtruediv__ Undocumented
Class Variable __rxor__ Undocumented
Class Variable __setattr__ Undocumented
Class Variable __setitem__ Undocumented
Class Variable __slots__ Undocumented
Class Variable __str__ Undocumented
Class Variable __sub__ Undocumented
Class Variable __subclasscheck__ Undocumented
Class Variable __truediv__ Undocumented
Class Variable __trunc__ Undocumented
Class Variable __wrapped__ Undocumented
Class Variable __xor__ Undocumented
Class Variable _get_current_object Return the current object this proxy is bound to. If the proxy is unbound, this raises a ``RuntimeError``.
def __init__(self, local: t.Union[ContextVar[T], Local, LocalStack[T], t.Callable[[], T]], name: t.Optional[str] = None, *, unbound_message: t.Optional[str] = None): (source)

Undocumented

Undocumented

Undocumented

__aenter__ = (source)

Undocumented

__aexit__ = (source)

Undocumented

__aiter__ = (source)

Undocumented

Undocumented

__anext__ = (source)

Undocumented

__await__ = (source)

Undocumented

__bool__ = (source)

Undocumented

__bytes__ = (source)

Undocumented

__call__ = (source)

Undocumented

__ceil__ = (source)

Undocumented

__class__ = (source)

Undocumented

__complex__ = (source)

Undocumented

__contains__ = (source)

Undocumented

__copy__ = (source)

Undocumented

__deepcopy__ = (source)

Undocumented

__delattr__ = (source)

Undocumented

__delitem__ = (source)

Undocumented

Undocumented

__divmod__ = (source)

Undocumented

Undocumented

__enter__ = (source)

Undocumented

Undocumented

__exit__ = (source)

Undocumented

__float__ = (source)

Undocumented

__floor__ = (source)

Undocumented

__floordiv__ = (source)

Undocumented

__format__ = (source)

Undocumented

Undocumented

__getattr__ = (source)

Undocumented

__getitem__ = (source)

Undocumented

Undocumented

__hash__ = (source)

Undocumented

__iadd__ = (source)

Undocumented

__iand__ = (source)

Undocumented

__ifloordiv__ = (source)

Undocumented

__ilshift__ = (source)

Undocumented

__imatmul__ = (source)

Undocumented

__imod__ = (source)

Undocumented

__imul__ = (source)

Undocumented

__index__ = (source)

Undocumented

__instancecheck__ = (source)

Undocumented

Undocumented

__invert__ = (source)

Undocumented

Undocumented

__ipow__ = (source)

Undocumented

__irshift__ = (source)

Undocumented

__isub__ = (source)

Undocumented

__iter__ = (source)

Undocumented

__itruediv__ = (source)

Undocumented

__ixor__ = (source)

Undocumented

Undocumented

Undocumented

__length_hint__ = (source)

Undocumented

__lshift__ = (source)

Undocumented

Undocumented

__matmul__ = (source)

Undocumented

Undocumented

Undocumented

Undocumented

Undocumented

__next__ = (source)

Undocumented

Undocumented

Undocumented

Undocumented

__radd__ = (source)

Undocumented

__rand__ = (source)

Undocumented

__rdivmod__ = (source)

Undocumented

__repr__ = (source)

Undocumented

__reversed__ = (source)

Undocumented

__rfloordiv__ = (source)

Undocumented

__rlshift__ = (source)

Undocumented

__rmatmul__ = (source)

Undocumented

__rmod__ = (source)

Undocumented

__rmul__ = (source)

Undocumented

Undocumented

__round__ = (source)

Undocumented

__rpow__ = (source)

Undocumented

__rrshift__ = (source)

Undocumented

__rshift__ = (source)

Undocumented

__rsub__ = (source)

Undocumented

__rtruediv__ = (source)

Undocumented

__rxor__ = (source)

Undocumented

__setattr__ = (source)

Undocumented

__setitem__ = (source)

Undocumented

__slots__: tuple[str, ...] = (source)

Undocumented

Undocumented

Undocumented

__subclasscheck__ = (source)

Undocumented

__truediv__ = (source)

Undocumented

__trunc__ = (source)

Undocumented

__wrapped__ = (source)

Undocumented

Undocumented

_get_current_object: t.Callable[[], T] = (source)

Return the current object this proxy is bound to. If the proxy is unbound, this raises a ``RuntimeError``. This should be used if you need to pass the object to something that doesn't understand the proxy. It can also be useful for performance if you are accessing the object multiple times in a function, rather than going through the proxy multiple times.