From 3dfd066ffe598314f2434f5c243dd73a58eccf98 Mon Sep 17 00:00:00 2001 From: Kerem Turgutlu Date: Mon, 11 May 2026 12:47:16 +0300 Subject: [PATCH] follow up #812 --- fastcore/_modidx.py | 1 - fastcore/parallel.py | 16 ++++++---------- nbs/03a_parallel.ipynb | 28 ++++------------------------ 3 files changed, 10 insertions(+), 35 deletions(-) diff --git a/fastcore/_modidx.py b/fastcore/_modidx.py index 04b87b62..75d292be 100644 --- a/fastcore/_modidx.py +++ b/fastcore/_modidx.py @@ -582,7 +582,6 @@ 'fastcore.parallel._done_pg': ('parallel.html#_done_pg', 'fastcore/parallel.py'), 'fastcore.parallel._f_pg': ('parallel.html#_f_pg', 'fastcore/parallel.py'), 'fastcore.parallel.bg_task': ('parallel.html#bg_task', 'fastcore/parallel.py'), - 'fastcore.parallel.import_progress_bar': ('parallel.html#import_progress_bar', 'fastcore/parallel.py'), 'fastcore.parallel.parallel': ('parallel.html#parallel', 'fastcore/parallel.py'), 'fastcore.parallel.parallel_async': ('parallel.html#parallel_async', 'fastcore/parallel.py'), 'fastcore.parallel.parallel_gen': ('parallel.html#parallel_gen', 'fastcore/parallel.py'), diff --git a/fastcore/parallel.py b/fastcore/parallel.py index acae1861..f8b8d4c2 100644 --- a/fastcore/parallel.py +++ b/fastcore/parallel.py @@ -3,8 +3,8 @@ # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/03a_parallel.ipynb. # %% auto #0 -__all__ = ['threaded', 'startthread', 'startproc', 'parallelable', 'ThreadPoolExecutor', 'ProcessPoolExecutor', - 'import_progress_bar', 'parallel', 'parallel_async', 'bg_task', 'run_procs', 'parallel_gen'] +__all__ = ['threaded', 'startthread', 'startproc', 'parallelable', 'ThreadPoolExecutor', 'ProcessPoolExecutor', 'parallel', + 'parallel_async', 'bg_task', 'run_procs', 'parallel_gen'] # %% ../nbs/03a_parallel.ipynb #569d18c6 from .imports import * @@ -121,17 +121,12 @@ def map(self, f, items, *args, timeout=None, chunksize=1, **kwargs): try: return super().map(_g, items, timeout=timeout, chunksize=chunksize) except Exception as e: self.on_exc(e) -# %% ../nbs/03a_parallel.ipynb #f5327cb3 -def import_progress_bar(): - try: from fastprogress import progress_bar - except ImportError: return None - return progress_bar - # %% ../nbs/03a_parallel.ipynb #529e1bb1 def parallel(f, items, *args, n_workers=defaults.cpus, total=None, progress=None, pause=0, method=None, threadpool=False, timeout=None, chunksize=1, **kwargs): "Applies `func` in parallel to `items`, using `n_workers`" - progress_bar = import_progress_bar() + try: from fastprogress import progress_bar + except ImportError: return None kwpool = {} if threadpool: pool = ThreadPoolExecutor else: @@ -196,7 +191,8 @@ def _done_pg(queue, items): return (queue.get() for _ in items) # %% ../nbs/03a_parallel.ipynb #1122caee def parallel_gen(cls, items, n_workers=defaults.cpus, progress=True, **kwargs): "Instantiate `cls` in `n_workers` procs & call each on a subset of `items` in parallel." - progress_bar = import_progress_bar() + try: from fastprogress import progress_bar + except ImportError: return None if not parallelable('n_workers', n_workers): n_workers = 0 if n_workers==0: yield from enumerate(list(cls(**kwargs)(items))) diff --git a/nbs/03a_parallel.ipynb b/nbs/03a_parallel.ipynb index a0a105b6..098e957a 100644 --- a/nbs/03a_parallel.ipynb +++ b/nbs/03a_parallel.ipynb @@ -478,28 +478,6 @@ "show_doc(ProcessPoolExecutor, title_level=4)" ] }, - { - "cell_type": "markdown", - "id": "b1d7c809", - "metadata": {}, - "source": [ - "We define `import_progress_bar` to lazily import, `fastprogress` depends on `fasthtml` and takes about 1 sec to load" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f5327cb3", - "metadata": {}, - "outputs": [], - "source": [ - "#| export\n", - "def import_progress_bar():\n", - " try: from fastprogress import progress_bar\n", - " except ImportError: return None\n", - " return progress_bar" - ] - }, { "cell_type": "code", "execution_count": null, @@ -511,7 +489,8 @@ "def parallel(f, items, *args, n_workers=defaults.cpus, total=None, progress=None, pause=0,\n", " method=None, threadpool=False, timeout=None, chunksize=1, **kwargs):\n", " \"Applies `func` in parallel to `items`, using `n_workers`\"\n", - " progress_bar = import_progress_bar()\n", + " try: from fastprogress import progress_bar\n", + " except ImportError: return None\n", " kwpool = {}\n", " if threadpool: pool = ThreadPoolExecutor\n", " else:\n", @@ -1006,7 +985,8 @@ "#| export\n", "def parallel_gen(cls, items, n_workers=defaults.cpus, progress=True, **kwargs):\n", " \"Instantiate `cls` in `n_workers` procs & call each on a subset of `items` in parallel.\"\n", - " progress_bar = import_progress_bar()\n", + " try: from fastprogress import progress_bar\n", + " except ImportError: return None\n", " if not parallelable('n_workers', n_workers): n_workers = 0\n", " if n_workers==0:\n", " yield from enumerate(list(cls(**kwargs)(items)))\n",