polars.collect_all_async#

polars.collect_all_async(
lazy_frames: Iterable[LazyFrame],
*,
gevent: bool = False,
engine: EngineType = 'auto',
optimizations: QueryOptFlags = (),
) Awaitable[list[DataFrame]] | _GeventDataFrameResult[list[DataFrame]][source]#

Collect multiple LazyFrames at the same time asynchronously in thread pool.

Warning

This functionality is considered unstable. It may be changed at any point without it being considered a breaking change.

Collects into a list of DataFrame (like polars.collect_all()), but instead of returning them directly, they are scheduled to be collected inside thread pool, while this method returns almost instantly.

May be useful if you use gevent or asyncio and want to release control to other greenlets/tasks while LazyFrames are being collected.

Parameters:
lazy_frames

A list of LazyFrames to collect.

gevent

Return wrapper to gevent.event.AsyncResult instead of Awaitable

optimizations

The optimization passes done during query optimization.

Warning

This functionality is considered unstable. It may be changed at any point without it being considered a breaking change.

engine

Select the engine used to process the query, optional. At the moment, if set to "auto" (default), the query is run using the polars in-memory engine. Polars will also attempt to use the engine set by the POLARS_ENGINE_AFFINITY environment variable. If it cannot run the query using the selected engine, the query is run using the polars in-memory engine.

Note

The GPU engine does not support async, or running in the background. If either are enabled, then GPU execution is switched off.

Returns:
If gevent=False (default) then returns awaitable.
If gevent=True then returns wrapper that has
.get(block=True, timeout=None) method.

See also

polars.collect_all

Collect multiple LazyFrames at the same time.

LazyFrame.collect_async

To collect single frame.

Notes

In case of error set_exception is used on asyncio.Future/gevent.event.AsyncResult and will be reraised by them.