ahvn.utils.basic.parallel_utils module¶

class ahvn.utils.basic.parallel_utils.Parallelized(func, args=None, num_threads=None, desc=None, progress=None)[source]¶

Bases: object

Parameters:
__init__(func, args=None, num_threads=None, desc=None, progress=None)[source]¶

Initialize a parallelized task executor with progress tracking.

Parameters:
  • func (Callable) – The function to execute in parallel (should always accept kwargs only).

  • args (Iterable[Dict[str, Any]]) – Iterable of argument dictionaries to pass as kwargs.

  • num_threads (Optional[int]) – Number of worker threads. Defaults to None, which uses unlimited threads as per ThreadPoolExecutor.

  • desc (Optional[str]) – Description for the progress bar. Defaults to None.

  • progress (Optional[Type[Progress]]) – Progress class to use. Defaults to TqdmProgress.

__enter__()[source]¶

Enter the runtime context related to this object.

Returns:

The Parallelized instance itself, which can be iterated over to yield results.

Return type:

self

Usage:
with Parallelized(func, args) as ptasks:

ptasks.progress.set_description(“Processing tasks”) for args, result, error in ptasks:

…

property progress: Progress¶

Access the progress bar.

property pbar: Progress¶

Alias for progress (backward compatibility).