async_wrapper.pipe.py

class async_wrapper.pipe.Disposable(*args, **kwargs)[source]

Bases: Protocol[InputT, OutputT]

Defines the interface for a disposable resource.

Type Parameters:

InputT: The type of input data. OutputT: The type of output data.

async next(value: InputT) OutputT[source]

Processes the next input value and produces an output value.

Parameters:

value – The input value.

Returns:

The output value.

async dispose() Any[source]

Disposes the resource and releases any associated resources.

class async_wrapper.pipe.SimpleDisposable(func: Callable[[InputT], Awaitable[OutputT]], *, dispose: bool = True)[source]

Bases: Disposable[InputT, OutputT], Generic[InputT, OutputT]

simple disposable impl.

property is_disposed: bool

is disposed

async next(value: InputT) OutputT[source]

Processes the next input value and produces an output value.

Parameters:

value – The input value.

Returns:

The output value.

async dispose() Any[source]

Disposes the resource and releases any associated resources.

class async_wrapper.pipe.Pipe(listener: Callable[[InputT], Awaitable[OutputT]], context: Synchronization | None = None, dispose: Callable[[], Awaitable[Any]] | None = None)[source]

Bases: Disposable[InputT, OutputT], Generic[InputT, OutputT]

Implements a pipe that can be used to communicate data between coroutines.

Type Parameters:

InputT: The type of input data. OutputT: The type of output data.

Parameters:
  • listener – The function that will be called to process each input value.

  • context – An optional synchronization context to use.

  • dispose – An optional function that will be called to dispose the pipe.

property is_disposed: bool

is disposed

async next(value: InputT) OutputT[source]

Processes the next input value and produces an output value.

Parameters:

value – The input value.

Returns:

The output value.

async dispose() None[source]

Disposes the resource and releases any associated resources.

subscribe(listener: Disposable[OutputT, Any] | Callable[[OutputT], Awaitable[Any]], *, dispose: bool = True) None[source]

Subscribes a listener to the pipe.

Parameters:
  • listener – The listener to subscribe.

  • dispose – Whether to dispose the listener when the pipe is disposed.

async_wrapper.pipe.create_disposable(func: Callable[[InputT], Awaitable[OutputT]], *, dispose: bool = True) SimpleDisposable[InputT, OutputT][source]

SimpleDisposable shortcut

Parameters:
  • func – awaitable function.

  • dispose – dispose flag. Defaults to True.

Returns:

SimpleDisposable object