aports/community/py3-joblib/de-vendor.patch
2025-06-01 16:52:51 +00:00

163 lines
6 KiB
Diff

Upstream: Not applicable
Reason: Use system loky and cloudpickle
diff --git a/joblib/_cloudpickle_wrapper.py b/joblib/_cloudpickle_wrapper.py
index b09ea06..8715b51 100644
--- a/joblib/_cloudpickle_wrapper.py
+++ b/joblib/_cloudpickle_wrapper.py
@@ -11,7 +11,7 @@ def _my_wrap_non_picklable_objects(obj, keep_wrapper=True):
if mp is not None:
- from .externals.loky import wrap_non_picklable_objects
+ from loky import wrap_non_picklable_objects
else:
wrap_non_picklable_objects = _my_wrap_non_picklable_objects
diff --git a/joblib/_memmapping_reducer.py b/joblib/_memmapping_reducer.py
index d11ec58..3b4383b 100644
--- a/joblib/_memmapping_reducer.py
+++ b/joblib/_memmapping_reducer.py
@@ -32,7 +32,7 @@ except ImportError:
from .backports import make_memmap
from .disk import delete_folder
-from .externals.loky.backend import resource_tracker
+from loky.backend import resource_tracker
from .numpy_pickle import dump, load, load_temporary_memmap
# Some system have a ramdisk mounted by default, we can use it instead of /tmp
@@ -57,7 +57,7 @@ JOBLIB_MMAPS = set()
def _log_and_unlink(filename):
- from .externals.loky.backend.resource_tracker import _resource_tracker
+ from loky.backend.resource_tracker import _resource_tracker
util.debug(
"[FINALIZER CALL] object mapping to {} about to be deleted,"
diff --git a/joblib/_parallel_backends.py b/joblib/_parallel_backends.py
index 53114a8..07eaaa3 100644
--- a/joblib/_parallel_backends.py
+++ b/joblib/_parallel_backends.py
@@ -21,8 +21,8 @@ if mp is not None:
from .executor import get_memmapping_executor
# Import loky only if multiprocessing is present
- from .externals.loky import cpu_count, process_executor
- from .externals.loky.process_executor import ShutdownExecutorError
+ from loky import cpu_count, process_executor
+ from loky.process_executor import ShutdownExecutorError
from .pool import MemmappingPool
diff --git a/joblib/_utils.py b/joblib/_utils.py
index 1071c9f..bd05e5d 100644
--- a/joblib/_utils.py
+++ b/joblib/_utils.py
@@ -7,7 +7,7 @@ from dataclasses import dataclass
from ._multiprocessing_helpers import mp
if mp is not None:
- from .externals.loky.process_executor import _ExceptionWithTraceback
+ from loky.process_executor import _ExceptionWithTraceback
# supported operators
diff --git a/joblib/executor.py b/joblib/executor.py
index 60aae8f..b50a4fe 100644
--- a/joblib/executor.py
+++ b/joblib/executor.py
@@ -9,7 +9,7 @@ copy between the parent and child processes.
# License: BSD 3 clause
from ._memmapping_reducer import TemporaryResourcesManager, get_memmapping_reducers
-from .externals.loky.reusable_executor import _ReusablePoolExecutor
+from loky.reusable_executor import _ReusablePoolExecutor
_executor_args = None
diff --git a/joblib/parallel.py b/joblib/parallel.py
index 452bd34..4c2a284 100644
--- a/joblib/parallel.py
+++ b/joblib/parallel.py
@@ -58,7 +58,7 @@ MAYBE_AVAILABLE_BACKENDS = {"multiprocessing", "loky"}
# backend
if mp is not None:
BACKENDS["multiprocessing"] = MultiprocessingBackend
- from .externals import loky
+ import loky
BACKENDS["loky"] = LokyBackend
DEFAULT_BACKEND = "loky"
diff --git a/joblib/test/test_memmapping.py b/joblib/test/test_memmapping.py
index 7797536..6be7951 100644
--- a/joblib/test/test_memmapping.py
+++ b/joblib/test/test_memmapping.py
@@ -175,7 +175,7 @@ def test_resource_tracker_retries_when_permissionerror(tmpdir):
import os
import numpy as np
import time
- from joblib.externals.loky.backend import resource_tracker
+ from loky.backend import resource_tracker
resource_tracker.VERBOSE = 1
# Start the resource tracker
@@ -558,7 +558,7 @@ def test_multithreaded_parallel_termination_resource_tracker_silent():
import os
import numpy as np
from joblib import Parallel, delayed
- from joblib.externals.loky.backend import resource_tracker
+ from loky.backend import resource_tracker
from concurrent.futures import ThreadPoolExecutor, wait
resource_tracker.VERBOSE = 0
diff --git a/joblib/test/test_module.py b/joblib/test/test_module.py
index 66863e2..bbb5c87 100644
--- a/joblib/test/test_module.py
+++ b/joblib/test/test_module.py
@@ -46,7 +46,7 @@ def test_no_semaphore_tracker_on_import():
def test_no_resource_tracker_on_import():
code = """if True:
import joblib
- from joblib.externals.loky.backend import resource_tracker
+ from loky.backend import resource_tracker
# The following line would raise RuntimeError if the
# start_method is already set.
msg = "loky.resource_tracker has been spawned on import"
diff --git a/joblib/test/test_parallel.py b/joblib/test/test_parallel.py
index db6218f..3c4f8ee 100644
--- a/joblib/test/test_parallel.py
+++ b/joblib/test/test_parallel.py
@@ -36,7 +36,7 @@ from joblib.testing import check_subprocess_call, parametrize, raises, skipif, w
if mp is not None:
# Loky is not available if multiprocessing is not
- from joblib.externals.loky import get_reusable_executor
+ from loky import get_reusable_executor
from queue import Queue
@@ -1871,7 +1871,7 @@ def test_thread_bomb_mitigation(context, backend):
if backend == "loky":
# Local import because loky may not be importable for lack of
# multiprocessing
- from joblib.externals.loky.process_executor import TerminatedWorkerError # noqa
+ from loky.process_executor import TerminatedWorkerError # noqa
if isinstance(exc, (TerminatedWorkerError, PicklingError)):
# The recursion exception can itself cause an error when
diff --git a/pyproject.toml b/pyproject.toml
index 332f59b..1757216 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -41,10 +41,6 @@ packages = [
"joblib",
"joblib.test",
"joblib.test.data",
- "joblib.externals",
- "joblib.externals.cloudpickle",
- "joblib.externals.loky",
- "joblib.externals.loky.backend",
]
platforms = ["any"]
include-package-data = false