DriverTrac/venv/lib/python3.12/site-packages/polars/meta/thread_pool.py

51 lines
1.4 KiB
Python

from __future__ import annotations
import contextlib
from polars._utils.deprecation import deprecated
with contextlib.suppress(ImportError): # Module not available when building docs
import polars._plr as plr
from typing import TYPE_CHECKING
if TYPE_CHECKING:
import sys
if sys.version_info >= (3, 13):
from warnings import deprecated
else:
from typing_extensions import deprecated # noqa: TC004
def thread_pool_size() -> int:
"""
Return the number of threads in the Polars thread pool.
Notes
-----
The thread pool size can be overridden by setting the `POLARS_MAX_THREADS`
environment variable before process start. The thread pool is not behind a
lock, so it cannot be modified once set. A reasonable use case for this might
be temporarily limiting the number of threads before importing Polars in a
PySpark UDF or similar context. Otherwise, it is strongly recommended not to
override this value as it will be set automatically by the engine.
Examples
--------
>>> pl.thread_pool_size() # doctest: +SKIP
16
"""
return plr.thread_pool_size()
@deprecated("`threadpool_size` was renamed; use `thread_pool_size` instead.")
def threadpool_size() -> int:
"""
Return the number of threads in the Polars thread pool.
.. deprecated:: 0.20.7
This function has been renamed to :func:`thread_pool_size`.
"""
return thread_pool_size()