Functools

Module: pyot.utils.functools

class async_cached_property

Async equivalent of functools.cached_property, takes an async method and converts it to a cached property that returns an awaitable with the return value.

Usage:

class A:
    @async_cached_property
    async def b(self):
        ...
a = A()
await a.b

Extends:

  • pyot.utils.functools.async_property

  • Generic

Definitions:

  • __init__ -> None

    • func: Callable[..., Awaitable[~R]]

    • name: None

Methods:

  • asyncmethod proxy -> Awaitable[~R]

    • instance: Any

class async_generator_property

Modified version of async_property, intended for use in async generators. The return typing of the decorated property is: AsyncGenerator[...]

Usage:

class A:
    @async_generator_property
    async def b(self):
        yield ...
a = A()
async for _ in a.b:
    ...

Extends:

  • pyot.utils.functools.async_property

  • Generic

Definitions:

  • __get__ -> Awaitable[~R]

    • instance: None

    • cls: None

  • __init__ -> None

    • func: Callable[..., AsyncGenerator[~IY, ~IS]]

    • name: None

  • __set__ -> None

    • obj: None

    • value: None

Methods:

  • method proxy -> Awaitable[~R]

    • instance: Any

class async_property

Async equivalent of property, takes an async method and converts it to a property that returns an awaitable with the return value.

Usage:

class A:
    @async_property
    async def b(self):
        ...
a = A()
await a.b

Extends:

  • Generic

Definitions:

  • __get__ -> Awaitable[~R]

    • instance: None

    • cls: None

  • __init__ -> None

    • func: Callable[..., Awaitable[~R]]

    • name: None

  • __set__ -> None

    • obj: None

    • value: None

  • __set_name__ -> None

    • owner: None

    • name: None

Methods:

  • classmethod func -> Any

    • instance: Any

  • asyncmethod proxy -> Awaitable[~R]

    • instance: Any

function cached_property -> ~R

  • func: Callable[..., ~R]

Last updated