forked from pool/python-joblib
- Add numpy22.patch to fix doctests with numpy 2.2
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-joblib?expand=0&rev=67
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.osc
|
16
also-filter-new-fork-warning.patch
Normal file
16
also-filter-new-fork-warning.patch
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Index: joblib-1.3.2/joblib/test/test_parallel.py
|
||||||
|
===================================================================
|
||||||
|
--- joblib-1.3.2.orig/joblib/test/test_parallel.py
|
||||||
|
+++ joblib-1.3.2/joblib/test/test_parallel.py
|
||||||
|
@@ -193,6 +193,11 @@ def test_main_thread_renamed_no_warning(
|
||||||
|
# warninfo catches Warnings from worker timeouts. We remove it if it exists
|
||||||
|
warninfo = [w for w in warninfo if "worker timeout" not in str(w.message)]
|
||||||
|
|
||||||
|
+ # There's a new warning in Python 3.12 about multiprocessing and forking
|
||||||
|
+ # that we filter out
|
||||||
|
+ warninfo = [w for w in warninfo
|
||||||
|
+ if "is multi-threaded, use of fork" not in str(w.message)]
|
||||||
|
+
|
||||||
|
# The multiprocessing backend will raise a warning when detecting that is
|
||||||
|
# started from the non-main thread. Let's check that there is no false
|
||||||
|
# positive because of the name change.
|
3
joblib-1.4.2.tar.gz
Normal file
3
joblib-1.4.2.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e
|
||||||
|
size 2116621
|
22
numpy22.patch
Normal file
22
numpy22.patch
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
From 1d9b65db31bfe79c42801d795ea9ebfec1123c44 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Lo=C3=AFc=20Est=C3=A8ve?= <loic.esteve@ymail.com>
|
||||||
|
Date: Mon, 9 Dec 2024 17:16:23 +0100
|
||||||
|
Subject: [PATCH] DOC Make doctest compatible with numpy 2.2 (#1632)
|
||||||
|
|
||||||
|
---
|
||||||
|
joblib/__init__.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/joblib/__init__.py b/joblib/__init__.py
|
||||||
|
index 54f6c8fb4..e9d4c6870 100644
|
||||||
|
--- a/joblib/__init__.py
|
||||||
|
+++ b/joblib/__init__.py
|
||||||
|
@@ -63,7 +63,7 @@
|
||||||
|
>>> square = mem.cache(np.square)
|
||||||
|
>>> b = square(a) # doctest: +ELLIPSIS
|
||||||
|
______________________________________________________________________...
|
||||||
|
- [Memory] Calling square...
|
||||||
|
+ [Memory] Calling ...square...
|
||||||
|
square(array([[0., 0., 1.],
|
||||||
|
[1., 1., 1.],
|
||||||
|
[4., 2., 1.]]))
|
541
python-joblib.changes
Normal file
541
python-joblib.changes
Normal file
@@ -0,0 +1,541 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 18 16:23:55 UTC 2025 - Markéta Machová <mmachova@suse.com>
|
||||||
|
|
||||||
|
- Add numpy22.patch to fix doctests with numpy 2.2
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 9 08:36:55 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 1.4.2:
|
||||||
|
* Due to maintenance issues, 1.4.1 was not valid and we bumped
|
||||||
|
the version to 1.4.2
|
||||||
|
* Fix a backward incompatible change in MemorizedFunc.call
|
||||||
|
which needs to return the metadata. Also make sure that
|
||||||
|
NotMemorizedFunc.call return an empty dict for metadata for
|
||||||
|
consistency. https://github.com/joblib/joblib/pull/1576
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 20 21:06:55 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 1.4.0:
|
||||||
|
* Allow caching co-routines with Memory.cache.
|
||||||
|
* Try to cast n_jobs to int in parallel and raise an error if
|
||||||
|
it fails. This means that n_jobs=2.3 will now result in
|
||||||
|
effective_n_jobs=2 instead of failing.
|
||||||
|
* Ensure that errors in the task generator given to Parallel's
|
||||||
|
call are raised in the results consumming thread.
|
||||||
|
* Adjust codebase to NumPy 2.0 by changing np.NaN to np.nan and
|
||||||
|
importing byte_bounds from np.lib.array_utils.
|
||||||
|
* The parameter return_as in joblib.Parallel can now be set to
|
||||||
|
generator_unordered. In this case the results will be
|
||||||
|
returned in the order of task completion rather than the
|
||||||
|
order of submission.
|
||||||
|
* dask backend now supports return_as=generator and
|
||||||
|
return_as=generator_unordered.
|
||||||
|
* Vendor cloudpickle 3.0.0 and end support for Python 3.7 which
|
||||||
|
has reached end of life.
|
||||||
|
- drop avoid-deprecated-ast.patch (upstream)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 28 03:55:52 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Add patch avoid-deprecated-ast.patch:
|
||||||
|
* Avoid deprecated ast classes.
|
||||||
|
- Add patch also-filter-new-fork-warning.patch:
|
||||||
|
* Filter DeprecationWarning due to calling fork() with multiprocessing.
|
||||||
|
- Switch to pyproject macros.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Nov 25 20:14:35 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 1.3.2:
|
||||||
|
* FIX treat n_jobs=None as if left to its default value
|
||||||
|
* FIX Init logger parent class in Parallel
|
||||||
|
* MNT remove unnecessary .bck file
|
||||||
|
* MTN adjust test regex for Python 3.12 improved error message
|
||||||
|
* DOC add public documentation for parallel_backend
|
||||||
|
* FIX flake8 new E721: type comparison
|
||||||
|
* Ensure native byte order for memmap.
|
||||||
|
* Drop runtime dependency on `distutils`
|
||||||
|
* Add environment variable to change default parallel backend
|
||||||
|
* Fix memmapping_reducer when 'os' has no attribute 'statvfs'
|
||||||
|
* Move the metadata into `pyproject.toml`
|
||||||
|
* TST Close client in test_pickle_in_socket
|
||||||
|
* Do not swallow PicklingError
|
||||||
|
* FIX Avoid collisions when caching nested functions
|
||||||
|
* FIX heisenfailure in doc/memory.rst
|
||||||
|
* MAINT Explicit support for Python 3.11
|
||||||
|
* MNT Use faulthandler rather than custom autokill logic
|
||||||
|
* BENCH add benchmark script for n_jobs=1
|
||||||
|
* TST Fix test_nested_parallel_warnings_parent_backend for
|
||||||
|
Python nogil
|
||||||
|
* TST Fix test_memmapping for Python nogil
|
||||||
|
* MAINT Clean deprecations
|
||||||
|
* ENH make temp resource cleanup safer
|
||||||
|
* MAINT Simplify warning in `_persist_input`
|
||||||
|
* MNT Use full flake8 rather than flake8_diff.sh
|
||||||
|
* Update Dask backend
|
||||||
|
* FIX upload to codecov
|
||||||
|
* MTN vendor loky 3.4.0
|
||||||
|
* MTN skip thread_bomb mitigation test on PyPy for now
|
||||||
|
* High verbosity mode that prints arguments, hash and store
|
||||||
|
location.
|
||||||
|
* DBG try to debug the thread_bomb_mitigation test
|
||||||
|
* FEA return generator, #588 stripped of unrelated changes for
|
||||||
|
minimal diff review
|
||||||
|
* BENCH scaling of a GridSearch with n_jobs
|
||||||
|
* CLN make generator exit thread safe
|
||||||
|
* FEA parallel_config context manager to allow more fine-
|
||||||
|
grained control
|
||||||
|
* MAINT: Be nitpicky about docs
|
||||||
|
* CLN tidy logger
|
||||||
|
* Give Memory.reduce_size() `items_limit` and `age_limit`
|
||||||
|
options
|
||||||
|
* CLN deprecate bytes_limit from Memory
|
||||||
|
* FIX doc building failing download
|
||||||
|
* Document parallel_config
|
||||||
|
* ENH add cache_validation_callback in Memory
|
||||||
|
* DOC example data DL from GH
|
||||||
|
* merge all configs in pyproject.toml
|
||||||
|
* fix double repeated word typos
|
||||||
|
* DOC reference parallel_config instead of parallel_backend
|
||||||
|
* `return_generator={True,False}` ->
|
||||||
|
`return_as={'list','generator'}`
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jun 10 17:42:25 UTC 2023 - ecsos <ecsos@opensuse.org>
|
||||||
|
|
||||||
|
- Add %{?sle15_python_module_pythons}
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 11 13:20:33 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Update to 1.2.0 (CVE-2022-21797, bsc#1204232)
|
||||||
|
* Fix a security issue where eval(pre_dispatch) could potentially
|
||||||
|
run arbitrary code. Now only basic numerics are supported.
|
||||||
|
#1327
|
||||||
|
* Make sure that joblib works even when multiprocessing is not
|
||||||
|
available, for instance with Pyodide #1256
|
||||||
|
* Avoid unnecessary warnings when workers and main process delete
|
||||||
|
the temporary memmap folder contents concurrently. #1263
|
||||||
|
* Vendor loky 3.1.0 with several fixes to more robustly forcibly
|
||||||
|
terminate worker processes in case of a crash. #1269
|
||||||
|
* Fix memory alignment bug for pickles containing numpy arrays.
|
||||||
|
This is especially important when loading the pickle with
|
||||||
|
mmap_mode != None as the resulting numpy.memmap object would
|
||||||
|
not be able to correct the misalignment without performing a
|
||||||
|
memory copy. This bug would cause invalid computation and
|
||||||
|
segmentation faults with native code that would directly access
|
||||||
|
the underlying data buffer of a numpy array, for instance
|
||||||
|
C/C++/Cython code compiled with older GCC versions or some old
|
||||||
|
OpenBLAS written in platform specific assembly. #1254
|
||||||
|
* Vendor cloudpickle 2.2.0 which adds support for PyPy 3.8+.
|
||||||
|
* Vendor loky 3.3.0 which fixes a bug with leaking processes in
|
||||||
|
case of nested loky parallel calls and more reliability spawn
|
||||||
|
the correct number of reusable workers.
|
||||||
|
- Drop support-setuptools-62.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 20 11:00:18 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Add patch support-setuptools-62.patch:
|
||||||
|
* Support setuptools >= 62 by handling more than one warning in a test
|
||||||
|
case.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Oct 16 21:31:20 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 1.1.0:
|
||||||
|
* Fix byte order inconsistency issue during deserialization using joblib.load
|
||||||
|
in cross-endian environment: the numpy arrays are now always loaded to use
|
||||||
|
the system byte order, independently of the byte order of the system that
|
||||||
|
serialized the pickle.
|
||||||
|
* Fix joblib.Memory bug with the ignore parameter when the cached function is a
|
||||||
|
decorated function.
|
||||||
|
* Fix joblib.Memory to properly handle caching for functions defined
|
||||||
|
interactively in a IPython session or in Jupyter notebook cell.
|
||||||
|
* Update vendored loky (from version 2.9 to 3.0) and cloudpickle (from
|
||||||
|
version 1.6 to 2.0)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 15 23:26:21 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Update to 1.0.1
|
||||||
|
* dask: avoid redundant scattering of large arguments to make a
|
||||||
|
more efficient use of the network resources and avoid crashing
|
||||||
|
dask with "OSError: [Errno 55] No buffer space available" or
|
||||||
|
"ConnectionResetError: [Errno 104] connection reset by
|
||||||
|
peer".
|
||||||
|
- Changees in 1.0.0
|
||||||
|
* Make joblib.hash and joblib.Memory caching system compatible
|
||||||
|
with numpy >= 1.20.0. Also make it explicit in the
|
||||||
|
documentation that users should now expect to have their joblib.
|
||||||
|
Memory cache invalidated when either joblib or a third party
|
||||||
|
library involved in the cached values definition is upgraded.
|
||||||
|
In particular, users updating joblib to a release that includes
|
||||||
|
this fix will see their previous cache invalidated if they
|
||||||
|
contained reference to numpy objects.
|
||||||
|
* Remove deprecated check_pickle argument in delayed.
|
||||||
|
- Changes in 0.17.0
|
||||||
|
* Fix a spurious invalidation of Memory.cache'd functions called
|
||||||
|
with Parallel under Jupyter or IPython.
|
||||||
|
* Bump vendored loky to 2.9.0 and cloudpickle to 1.6.0. In
|
||||||
|
particular this fixes a problem to add compat for Python 3.9.
|
||||||
|
- Don't require optional NumPy for python36 tests in TW, because
|
||||||
|
NumPy 1.20 dropped support for Python 3.6 (NEP 29)
|
||||||
|
- Drop joblib-disable-unrelialble-tests.patch, they are already
|
||||||
|
used in pytest deselection parameter.
|
||||||
|
* Do the same for disable_test_on_big_endian.patch.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Dec 6 21:37:54 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- BuildRequire threadpoolctl for all python3 flavors
|
||||||
|
gh#openSUSE/python-rpm-macros#66
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 30 08:23:38 UTC 2020 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- disable test_hash_numpy_noncontiguous,
|
||||||
|
test_hashes_are_different_between_c_and_fortran_contiguous_arrays,
|
||||||
|
test_hashes_stay_the_same_with_numpy_objects,
|
||||||
|
test_non_contiguous_array_pickling [bsc#1177209]
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 27 12:01:23 UTC 2020 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- disable test_nested_loop_error_in_grandchild_resource_tracker_silent
|
||||||
|
[bsc#1177209]
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 5 14:18:31 UTC 2020 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- disable yet another tests [bsc#1177209]
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 8 08:26:41 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||||
|
|
||||||
|
- Disable tests failing often in OBS:
|
||||||
|
* joblib-disable-unrelialble-tests.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 21 08:40:04 UTC 2020 - Michel Normand <normand@linux.vnet.ibm.com>
|
||||||
|
|
||||||
|
- New disable_test_on_big_endian.patch as per upstream issue
|
||||||
|
https://github.com/joblib/joblib/issues/279
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jul 18 09:12:26 UTC 2020 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 0.16.0
|
||||||
|
- Fix a problem in the constructors of of Parallel backends classes that
|
||||||
|
inherit from the `AutoBatchingMixin` that prevented the dask backend to
|
||||||
|
properly batch short tasks.
|
||||||
|
https://github.com/joblib/joblib/pull/1062
|
||||||
|
- Fix a problem in the way the joblib dask backend batches calls that would
|
||||||
|
badly interact with the dask callable pickling cache and lead to wrong
|
||||||
|
results or errors.
|
||||||
|
https://github.com/joblib/joblib/pull/1055
|
||||||
|
- Prevent a dask.distributed bug from surfacing in joblib's dask backend
|
||||||
|
during nested Parallel calls (due to joblib's auto-scattering feature)
|
||||||
|
https://github.com/joblib/joblib/pull/1061
|
||||||
|
- Workaround for a race condition after Parallel calls with the dask backend
|
||||||
|
that would cause low level warnings from asyncio coroutines:
|
||||||
|
https://github.com/joblib/joblib/pull/1078
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 2 16:24:43 UTC 2020 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 0.15.1:
|
||||||
|
- Make joblib work on Python 3 installation that do not ship with the lzma
|
||||||
|
package in their standard library.
|
||||||
|
- Drop support for Python 2 and Python 3.5. All objects in
|
||||||
|
``joblib.my_exceptions`` and ``joblib.format_stack`` are now deprecated and
|
||||||
|
will be removed in joblib 0.16. Note that no deprecation warning will be
|
||||||
|
raised for these objects Python < 3.7.
|
||||||
|
https://github.com/joblib/joblib/pull/1018
|
||||||
|
- Fix many bugs related to the temporary files and folder generated when
|
||||||
|
automatically memory mapping large numpy arrays for efficient inter-process
|
||||||
|
communication. In particular, this would cause `PermissionError` exceptions
|
||||||
|
to be raised under Windows and large leaked files in `/dev/shm` under Linux
|
||||||
|
in case of crash.
|
||||||
|
https://github.com/joblib/joblib/pull/966
|
||||||
|
- Make the dask backend collect results as soon as they complete
|
||||||
|
leading to a performance improvement:
|
||||||
|
https://github.com/joblib/joblib/pull/1025
|
||||||
|
- Fix the number of jobs reported by ``effective_n_jobs`` when ``n_jobs=None``
|
||||||
|
called in a parallel backend context.
|
||||||
|
https://github.com/joblib/joblib/pull/985
|
||||||
|
- Upgraded vendored cloupickle to 1.4.1 and loky to 2.8.0. This allows for
|
||||||
|
Parallel calls of dynamically defined functions with type annotations
|
||||||
|
in particular.
|
||||||
|
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 5 13:33:14 UTC 2020 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- version update to 0.14.1
|
||||||
|
- Configure the loky workers' environment to mitigate oversubsription with
|
||||||
|
nested multi-threaded code in the following case:
|
||||||
|
- allow for a suitable number of threads for numba (``NUMBA_NUM_THREADS``);
|
||||||
|
- enable Interprocess Communication for scheduler coordination when the
|
||||||
|
nested code uses Threading Building Blocks (TBB) (``ENABLE_IPC=1``)
|
||||||
|
https://github.com/joblib/joblib/pull/951
|
||||||
|
- Fix a regression where the loky backend was not reusing previously
|
||||||
|
spawned workers.
|
||||||
|
https://github.com/joblib/joblib/pull/968
|
||||||
|
- Revert https://github.com/joblib/joblib/pull/847 to avoid using
|
||||||
|
`pkg_resources` that introduced a performance regression under Windows:
|
||||||
|
https://github.com/joblib/joblib/issues/965
|
||||||
|
- Improved the load balancing between workers to avoid stranglers caused by an
|
||||||
|
excessively large batch size when the task duration is varying significantly
|
||||||
|
(because of the combined use of ``joblib.Parallel`` and ``joblib.Memory``
|
||||||
|
with a partially warmed cache for instance).
|
||||||
|
https://github.com/joblib/joblib/pull/899
|
||||||
|
- Add official support for Python 3.8: fixed protocol number in `Hasher`
|
||||||
|
and updated tests.
|
||||||
|
- Fix a deadlock when using the dask backend (when scattering large numpy
|
||||||
|
arrays).
|
||||||
|
https://github.com/joblib/joblib/pull/914
|
||||||
|
- Warn users that they should never use `joblib.load` with files from
|
||||||
|
untrusted sources. Fix security related API change introduced in numpy
|
||||||
|
1.6.3 that would prevent using joblib with recent numpy versions.
|
||||||
|
https://github.com/joblib/joblib/pull/879
|
||||||
|
- Upgrade to cloudpickle 1.1.1 that add supports for the upcoming
|
||||||
|
Python 3.8 release among other things.
|
||||||
|
https://github.com/joblib/joblib/pull/878
|
||||||
|
- Fix semaphore availability checker to avoid spawning resource trackers
|
||||||
|
on module import.
|
||||||
|
https://github.com/joblib/joblib/pull/893
|
||||||
|
- Fix the oversubscription protection to only protect against nested
|
||||||
|
`Parallel` calls. This allows `joblib` to be run in background threads.
|
||||||
|
https://github.com/joblib/joblib/pull/934
|
||||||
|
- Fix `ValueError` (negative dimensions) when pickling large numpy arrays on
|
||||||
|
Windows.
|
||||||
|
https://github.com/joblib/joblib/pull/920
|
||||||
|
- Upgrade to loky 2.6.0 that add supports for the setting environment variables
|
||||||
|
in child before loading any module.
|
||||||
|
https://github.com/joblib/joblib/pull/940
|
||||||
|
- Fix the oversubscription protection for native libraries using threadpools
|
||||||
|
(OpenBLAS, MKL, Blis and OpenMP runtimes).
|
||||||
|
The maximal number of threads is can now be set in children using the
|
||||||
|
``inner_max_num_threads`` in ``parallel_backend``. It defaults to
|
||||||
|
``cpu_count() // n_jobs``.
|
||||||
|
https://github.com/joblib/joblib/pull/940
|
||||||
|
- deleted patches
|
||||||
|
- numpy16.patch (upstreamed)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 28 10:34:57 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||||
|
|
||||||
|
- Switch to %pytest
|
||||||
|
- Add patch to work well with new numpy:
|
||||||
|
* numpy16.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 26 14:45:24 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.13.2:
|
||||||
|
* Upgrade to cloudpickle 0.8.0
|
||||||
|
* Add a non-regression test related to joblib issues #836 and #833, reporting that cloudpickle versions between 0.5.4 and 0.7 introduced a bug where global variables changes in a parent process between two calls to joblib.Parallel would not be propagated into the workers
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 7 15:57:20 UTC 2019 - John Vandenberg <jayvdb@gmail.com>
|
||||||
|
|
||||||
|
- Remove no longer necessary pytest argument
|
||||||
|
-k 'not test_no_blas_crash_or_freeze_with_subprocesses'
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 29 16:41:57 CET 2019 - mcepl@suse.com
|
||||||
|
|
||||||
|
- Update to Release 0.13.1:
|
||||||
|
* Memory now accepts pathlib.Path objects as ``location``
|
||||||
|
parameter. Also, a warning is raised if the returned backend
|
||||||
|
is None while ``location`` is not None.
|
||||||
|
* Make ``Parallel`` raise an informative ``RuntimeError`` when
|
||||||
|
the active parallel backend has zero worker.
|
||||||
|
* Make the ``DaskDistributedBackend`` wait for workers before
|
||||||
|
trying to schedule work. This is useful in particular when
|
||||||
|
the workers are provisionned dynamically but provisionning is
|
||||||
|
not immediate (for instance using Kubernetes, Yarn or an HPC
|
||||||
|
job queue).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 7 19:39:00 UTC 2019 - Todd R <toddrme2178@gmail.com>
|
||||||
|
|
||||||
|
- update to Release 0.13.0
|
||||||
|
* Include loky 2.4.2 with default serialization with ``cloudpickle``.
|
||||||
|
This can be tweaked with the environment variable ``LOKY_PICKLER``.
|
||||||
|
* Fix nested backend in SequentialBackend to avoid changing the default
|
||||||
|
backend to Sequential. (#792)
|
||||||
|
* Fix nested_backend behavior to avoid setting the default number of
|
||||||
|
workers to -1 when the backend is not dask. (#784)
|
||||||
|
- Update to Release 0.12.5
|
||||||
|
* Include loky 2.3.1 with better error reporting when a worker is
|
||||||
|
abruptly terminated. Also fixes spurious debug output.
|
||||||
|
* Include cloudpickle 0.5.6. Fix a bug with the handling of global
|
||||||
|
variables by locally defined functions.
|
||||||
|
- Update to Release 0.12.4
|
||||||
|
* Include loky 2.3.0 with many bugfixes, notably w.r.t. when setting
|
||||||
|
non-default multiprocessing contexts. Also include improvement on
|
||||||
|
memory management of long running worker processes and fixed issues
|
||||||
|
when using the loky backend under PyPy.
|
||||||
|
* Raises a more explicit exception when a corrupted MemorizedResult is loaded.
|
||||||
|
* Loading a corrupted cached file with mmap mode enabled would
|
||||||
|
recompute the results and return them without memmory mapping.
|
||||||
|
- Update to Release 0.12.3
|
||||||
|
* Fix joblib import setting the global start_method for multiprocessing.
|
||||||
|
* Fix MemorizedResult not picklable (#747).
|
||||||
|
* Fix Memory, MemorizedFunc and MemorizedResult round-trip pickling +
|
||||||
|
unpickling (#746).
|
||||||
|
* Fixed a regression in Memory when positional arguments are called as
|
||||||
|
kwargs several times with different values (#751).
|
||||||
|
* Integration of loky 2.2.2 that fixes issues with the selection of the
|
||||||
|
default start method and improve the reporting when calling functions
|
||||||
|
with arguments that raise an exception when unpickling.
|
||||||
|
* Prevent MemorizedFunc.call_and_shelve from loading cached results to
|
||||||
|
RAM when not necessary. Results in big performance improvements
|
||||||
|
- Update to Release 0.12.2
|
||||||
|
* Integrate loky 2.2.0 to fix regression with unpicklable arguments and
|
||||||
|
functions reported by users (#723, #643).
|
||||||
|
* Loky 2.2.0 also provides a protection against memory leaks long running
|
||||||
|
applications when psutil is installed (reported as #721).
|
||||||
|
* Joblib now includes the code for the dask backend which has been updated
|
||||||
|
to properly handle nested parallelism and data scattering at the same
|
||||||
|
time (#722).
|
||||||
|
* Restored some private API attribute and arguments
|
||||||
|
(`MemorizedResult.argument_hash` and `BatchedCalls.__init__`'s
|
||||||
|
`pickle_cache`) for backward compat. (#716, #732).
|
||||||
|
* Fix a deprecation warning message (for `Memory`'s `cachedir`) (#720).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jan 3 07:07:28 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||||
|
|
||||||
|
- Disable blas test as it is very flaky outside of x86_64
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 27 06:35:25 UTC 2018 - jengelh@inai.de
|
||||||
|
|
||||||
|
- Use noun phrase in summary.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 20 11:48:47 UTC 2018 - tchvatal@suse.com
|
||||||
|
|
||||||
|
- Enable tests
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 18 03:03:33 UTC 2018 - arun@gmx.de
|
||||||
|
|
||||||
|
- specfile:
|
||||||
|
* remove devel requirement
|
||||||
|
|
||||||
|
- update to version 0.12.1:
|
||||||
|
* Make sure that any exception triggered when serializing jobs in
|
||||||
|
the queue will be wrapped as a PicklingError as in past versions
|
||||||
|
of joblib.
|
||||||
|
* Fix kwonlydefaults key error in filter_args (#715)
|
||||||
|
|
||||||
|
- changes from version 0.12:
|
||||||
|
* Implement the 'loky' backend with @ogrisel. This backend relies on
|
||||||
|
a robust implementation of concurrent.futures.ProcessPoolExecutor
|
||||||
|
with spawned processes that can be reused accross the Parallel
|
||||||
|
calls. This fixes the bad interation with third paty libraries
|
||||||
|
relying on thread pools, described in
|
||||||
|
https://pythonhosted.org/joblib/parallel.html#bad-interaction-of-multiprocessing-and-third-party-libraries
|
||||||
|
* Limit the number of threads used in worker processes by
|
||||||
|
C-libraries that relies on threadpools. This functionality works
|
||||||
|
for MKL, OpenBLAS, OpenMP and Accelerated.
|
||||||
|
* Prevent numpy arrays with the same shape and data from hashing to
|
||||||
|
the same memmap, to prevent jobs with preallocated arrays from
|
||||||
|
writing over each other.
|
||||||
|
* Reduce overhead of automatic memmap by removing the need to hash
|
||||||
|
the array.
|
||||||
|
* Make Memory.cache robust to PermissionError (errno 13) under
|
||||||
|
Windows when run in combination with Parallel.
|
||||||
|
* The automatic array memory mapping feature of Parallel does no
|
||||||
|
longer use /dev/shm if it is too small (less than 2 GB). In
|
||||||
|
particular in docker containers /dev/shm is only 64 MB by default
|
||||||
|
which would cause frequent failures when running joblib in Docker
|
||||||
|
containers.
|
||||||
|
* Make it possible to hint for thread-based parallelism with
|
||||||
|
prefer='threads' or enforce shared-memory semantics with
|
||||||
|
require='sharedmem'.
|
||||||
|
* Rely on the built-in exception nesting system of Python 3 to
|
||||||
|
preserve traceback information when an exception is raised on a
|
||||||
|
remote worker process. This avoid verbose and redundant exception
|
||||||
|
reports under Python 3.
|
||||||
|
* Preserve exception type information when doing nested Parallel
|
||||||
|
calls instead of mapping the exception to the generic
|
||||||
|
JoblibException type.
|
||||||
|
* Introduce the concept of 'store' and refactor the Memory internal
|
||||||
|
storage implementation to make it accept extra store backends for
|
||||||
|
caching results. backend and backend_options are the new options
|
||||||
|
added to Memory to specify and configure a store backend.
|
||||||
|
* Add the register_store_backend function to extend the store
|
||||||
|
backend used by default with Memory. This default store backend is
|
||||||
|
named 'local' and corresponds to the local filesystem.
|
||||||
|
* The store backend API is experimental and thus is subject to
|
||||||
|
change in the future without deprecation.
|
||||||
|
* The cachedir parameter of Memory is now marked as deprecated, use
|
||||||
|
location instead.
|
||||||
|
* Add support for LZ4 compression if lz4 package is installed.
|
||||||
|
* Add register_compressor function for extending available
|
||||||
|
compressors.
|
||||||
|
* Allow passing a string to compress parameter in dump funtion. This
|
||||||
|
string should correspond to the compressor used (e.g. zlib, gzip,
|
||||||
|
lz4, etc). The default compression level is used in this case.
|
||||||
|
* Allow parallel_backend to be used globally instead of only as a
|
||||||
|
context manager. Support lazy registration of external parallel
|
||||||
|
backends
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jan 11 22:12:57 UTC 2018 - jengelh@inai.de
|
||||||
|
|
||||||
|
- Ensure neutrality of description.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 22 16:35:59 UTC 2017 - toddrme2178@gmail.com
|
||||||
|
|
||||||
|
- Implement single-spec version.
|
||||||
|
- Run tests.
|
||||||
|
- Fix source URL.
|
||||||
|
- Update to version 0.11.
|
||||||
|
* For a full changelog please see:
|
||||||
|
https://github.com/joblib/joblib/blob/0.11/CHANGES.rst
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun May 24 13:14:03 UTC 2015 - toddrme2178@gmail.com
|
||||||
|
|
||||||
|
- Disable non-functional documentation
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Dec 8 19:47:59 UTC 2013 - p.drouand@gmail.com
|
||||||
|
|
||||||
|
- Update to version 0.7.1
|
||||||
|
+ MISC: capture meaningless argument (n_jobs=0) in Parallel
|
||||||
|
+ ENH Handles tuples, sets and Python 3's dict_keys type the same as
|
||||||
|
lists. in pre_dispatch
|
||||||
|
+ ENH: fix function caching for IPython
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 24 11:07:22 UTC 2013 - speilicke@suse.com
|
||||||
|
|
||||||
|
- Require python-setuptools instead of distribute (upstreams merged)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Feb 9 15:54:15 UTC 2013 - p.drouand@gmail.com
|
||||||
|
|
||||||
|
- Update to version 0.7.0d
|
||||||
|
* No changelog available
|
||||||
|
- Clean the specfile and remove .buildinfo file
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 10 20:59:57 UTC 2012 - scorot@free.fr
|
||||||
|
|
||||||
|
- Add Group field in doc package for SLE 11
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 5 17:10:35 UTC 2012 - toddrme2178@gmail.com
|
||||||
|
|
||||||
|
- Initial version
|
||||||
|
|
123
python-joblib.spec
Normal file
123
python-joblib.spec
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
#
|
||||||
|
# spec file for package python-joblib
|
||||||
|
#
|
||||||
|
# Copyright (c) 2025 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%{?sle15_python_module_pythons}
|
||||||
|
Name: python-joblib
|
||||||
|
Version: 1.4.2
|
||||||
|
Release: 0
|
||||||
|
Summary: Module for using Python functions as pipeline jobs
|
||||||
|
License: BSD-3-Clause
|
||||||
|
URL: https://github.com/joblib/joblib
|
||||||
|
Source: https://files.pythonhosted.org/packages/source/j/joblib/joblib-%{version}.tar.gz
|
||||||
|
# PATCH-FIX-OPENSUSE Also avoid a DeprecationWarning when using fork() under
|
||||||
|
# multiprocessing
|
||||||
|
Patch1: also-filter-new-fork-warning.patch
|
||||||
|
# PATCH-FIX-UPSTREAM https://github.com/joblib/joblib/pull/1632 DOC Make doctest compatible with numpy 2.2
|
||||||
|
Patch2: numpy22.patch
|
||||||
|
BuildRequires: %{python_module base >= 3.7}
|
||||||
|
BuildRequires: %{python_module lz4}
|
||||||
|
BuildRequires: %{python_module numpy}
|
||||||
|
BuildRequires: %{python_module pip}
|
||||||
|
BuildRequires: %{python_module psutil}
|
||||||
|
BuildRequires: %{python_module pytest}
|
||||||
|
BuildRequires: %{python_module setuptools}
|
||||||
|
BuildRequires: %{python_module threadpoolctl}
|
||||||
|
BuildRequires: %{python_module wheel}
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: python-rpm-macros
|
||||||
|
Recommends: python-lz4
|
||||||
|
Recommends: python-numpy
|
||||||
|
Recommends: python-psutil
|
||||||
|
Suggests: python-dask-distributed
|
||||||
|
BuildArch: noarch
|
||||||
|
%python_subpackages
|
||||||
|
|
||||||
|
%description
|
||||||
|
Joblib is a set of tools to provide lightweight pipelining in
|
||||||
|
Python. In particular, joblib offers:
|
||||||
|
|
||||||
|
1. transparent disk-caching of the output values and lazy re-evaluation
|
||||||
|
(memoize pattern)
|
||||||
|
|
||||||
|
2. parallel computing
|
||||||
|
|
||||||
|
3. logging and tracing of the execution
|
||||||
|
|
||||||
|
Joblib can handle large data and has specific optimizations for `numpy` arrays.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n joblib-%{version}
|
||||||
|
|
||||||
|
%build
|
||||||
|
%pyproject_wheel
|
||||||
|
|
||||||
|
%install
|
||||||
|
%pyproject_install
|
||||||
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
|
|
||||||
|
%check
|
||||||
|
export LANG=en_US.UTF-8
|
||||||
|
# turn off unreliable tests across architectures
|
||||||
|
# https://bugzilla.suse.com/show_bug.cgi?id=1177209
|
||||||
|
# they have been seen failing for the first time on following
|
||||||
|
# architectures:
|
||||||
|
# s390x:
|
||||||
|
# test_hash_numpy_noncontiguous
|
||||||
|
# test_hashes_are_different_between_c_and_fortran_contiguous_arrays
|
||||||
|
# test_hashes_stay_the_same_with_numpy_objects
|
||||||
|
# test_non_contiguous_array_pickling
|
||||||
|
# x86_64:
|
||||||
|
# test_multithreaded_parallel_termination_resource_tracker_silent
|
||||||
|
# aarch64:
|
||||||
|
# test_resource_tracker_silent_when_reference_cycles
|
||||||
|
# test_child_raises_parent_exits_cleanly
|
||||||
|
# i586:
|
||||||
|
# test_nested_loop_error_in_grandchild_resource_tracker_silent
|
||||||
|
# s390x:
|
||||||
|
# test_hash_numpy_noncontiguous
|
||||||
|
# test_hashes_are_different_between_c_and_fortran_contiguous_arrays
|
||||||
|
# test_hashes_stay_the_same_with_numpy_objects
|
||||||
|
# test_non_contiguous_array_pickling
|
||||||
|
#
|
||||||
|
# always fails:
|
||||||
|
# test_parallel_call_cached_function_defined_in_jupyter
|
||||||
|
DISABLED_TESTS="test_hash_numpy_noncontiguous or \
|
||||||
|
test_hashes_are_different_between_c_and_fortran_contiguous_arrays or \
|
||||||
|
test_hashes_stay_the_same_with_numpy_objects or \
|
||||||
|
test_non_contiguous_array_pickling or \
|
||||||
|
test_multithreaded_parallel_termination_resource_tracker_silent or \
|
||||||
|
test_resource_tracker_silent_when_reference_cycles or \
|
||||||
|
test_child_raises_parent_exits_cleanly or \
|
||||||
|
test_nested_loop_error_in_grandchild_resource_tracker_silent or \
|
||||||
|
test_hash_numpy_noncontiguous or \
|
||||||
|
test_hashes_are_different_between_c_and_fortran_contiguous_arrays or \
|
||||||
|
test_hashes_stay_the_same_with_numpy_objects or \
|
||||||
|
test_non_contiguous_array_pickling or \
|
||||||
|
test_parallel_call_cached_function_defined_in_jupyter"
|
||||||
|
if [ $(python3 -c 'import sys; print(sys.byteorder)') != "little" ]; then
|
||||||
|
DISABLED_TESTS+=" or test_joblib_pickle_across_python_versions"
|
||||||
|
fi
|
||||||
|
%pytest -k "not ($DISABLED_TESTS)"
|
||||||
|
|
||||||
|
%files %{python_files}
|
||||||
|
%license LICENSE.txt
|
||||||
|
%doc README.rst
|
||||||
|
%{python_sitelib}/joblib-%{version}.dist-info
|
||||||
|
%{python_sitelib}/joblib/
|
||||||
|
|
||||||
|
%changelog
|
Reference in New Issue
Block a user