forked from pool/python-joblib
Accepting request 872790 from home:bnavigator:branches:devel:languages:python
- 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. OBS-URL: https://build.opensuse.org/request/show/872790 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-joblib?expand=0&rev=47
This commit is contained in:
@@ -1,39 +0,0 @@
|
|||||||
From: Michel Normand <normand@linux.vnet.ibm.com>
|
|
||||||
Subject: disable test on big endian
|
|
||||||
Date: Fri, 21 Aug 2020 10:35:13 +0200
|
|
||||||
|
|
||||||
disable test on big endian
|
|
||||||
|
|
||||||
because still open
|
|
||||||
https://github.com/joblib/joblib/issues/279
|
|
||||||
|
|
||||||
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
|
|
||||||
---
|
|
||||||
joblib/test/test_numpy_pickle.py | 7 +++++++
|
|
||||||
1 file changed, 7 insertions(+)
|
|
||||||
|
|
||||||
Index: joblib-0.16.0/joblib/test/test_numpy_pickle.py
|
|
||||||
===================================================================
|
|
||||||
--- joblib-0.16.0.orig/joblib/test/test_numpy_pickle.py
|
|
||||||
+++ joblib-0.16.0/joblib/test/test_numpy_pickle.py
|
|
||||||
@@ -2,6 +2,7 @@
|
|
||||||
|
|
||||||
import copy
|
|
||||||
import os
|
|
||||||
+import sys
|
|
||||||
import random
|
|
||||||
import re
|
|
||||||
import io
|
|
||||||
@@ -426,6 +427,12 @@ def _check_pickle(filename, expected_lis
|
|
||||||
|
|
||||||
@with_numpy
|
|
||||||
def test_joblib_pickle_across_python_versions():
|
|
||||||
+ # temporarily disable this test on non little-endian machines
|
|
||||||
+ # because next endianness lines not sufficient.
|
|
||||||
+ # https://github.com/joblib/joblib/issues/279 still open.
|
|
||||||
+ if sys.byteorder != 'little':
|
|
||||||
+ raise SkipTest('Skipping this test on non little-endian machines')
|
|
||||||
+
|
|
||||||
# We need to be specific about dtypes in particular endianness
|
|
||||||
# because the pickles can be generated on one architecture and
|
|
||||||
# the tests run on another one. See
|
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:8f52bf24c64b608bf0b2563e0e47d6fcf516abc8cfafe10cfd98ad66d94f92d6
|
|
||||||
size 349661
|
|
3
joblib-1.0.1.tar.gz
Normal file
3
joblib-1.0.1.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9c17567692206d2f3fb9ecf5e991084254fe631665c450b443761c4186a613f7
|
||||||
|
size 316131
|
@@ -1,28 +0,0 @@
|
|||||||
--- joblib-0.16.0/joblib/test/test_memmapping.py.orig 2020-09-08 08:01:19.285304370 +0000
|
|
||||||
+++ joblib-0.16.0/joblib/test/test_memmapping.py 2020-09-08 08:05:25.318014706 +0000
|
|
||||||
@@ -512,6 +512,7 @@ def test_memmapping_temp_folder_thread_s
|
|
||||||
@with_numpy
|
|
||||||
@with_multiprocessing
|
|
||||||
def test_multithreaded_parallel_termination_resource_tracker_silent():
|
|
||||||
+ raise SkipTest('Skipping this test as it fails often in OBS')
|
|
||||||
# test that concurrent termination attempts of a same executor does not
|
|
||||||
# emit any spurious error from the resource_tracker. We test various
|
|
||||||
# situations making 0, 1 or both parallel call sending a task that will
|
|
||||||
@@ -681,6 +682,8 @@ def test_memmap_returned_as_regular_arra
|
|
||||||
@with_multiprocessing
|
|
||||||
@parametrize("backend", ["multiprocessing", param("loky", marks=xfail)])
|
|
||||||
def test_resource_tracker_silent_when_reference_cycles(backend):
|
|
||||||
+ if backend == 'multiprocessing':
|
|
||||||
+ raise SkipTest('Skipping this test as it fails often in OBS')
|
|
||||||
# There is a variety of reasons that can make joblib with loky backend
|
|
||||||
# output noisy warnings when a reference cycle is preventing a memmap from
|
|
||||||
# being garbage collected. Especially, joblib's main process finalizer
|
|
||||||
@@ -778,6 +781,8 @@ def test_memmapping_pool_for_large_array
|
|
||||||
@with_multiprocessing
|
|
||||||
@parametrize("backend", ["multiprocessing", "loky"])
|
|
||||||
def test_child_raises_parent_exits_cleanly(backend):
|
|
||||||
+ if backend == 'multiprocessing':
|
|
||||||
+ raise SkipTest('Skipping this test as it fails often in OBS')
|
|
||||||
# When a task executed by a child process raises an error, the parent
|
|
||||||
# process's backend is notified, and calls abort_everything.
|
|
||||||
# In loky, abort_everything itself calls shutdown(kill_workers=True) which
|
|
@@ -1,3 +1,33 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
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>
|
Sun Dec 6 21:37:54 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-joblib
|
# spec file for package python-joblib
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LLC
|
# Copyright (c) 2021 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -19,27 +19,25 @@
|
|||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||||
%global skip_python2 1
|
%global skip_python2 1
|
||||||
Name: python-joblib
|
Name: python-joblib
|
||||||
Version: 0.16.0
|
Version: 1.0.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Module for using Python functions as pipeline jobs
|
Summary: Module for using Python functions as pipeline jobs
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
URL: https://github.com/joblib/joblib
|
URL: https://github.com/joblib/joblib
|
||||||
Source: https://files.pythonhosted.org/packages/source/j/joblib/joblib-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/j/joblib/joblib-%{version}.tar.gz
|
||||||
Patch1: disable_test_on_big_endian.patch
|
|
||||||
# PATCH-FIX-OPENSUSE - Disable tests failing often in OBS
|
|
||||||
Patch2: joblib-disable-unrelialble-tests.patch
|
|
||||||
BuildRequires: %{python_module lz4}
|
BuildRequires: %{python_module lz4}
|
||||||
BuildRequires: %{python_module numpy}
|
|
||||||
BuildRequires: %{python_module psutil}
|
BuildRequires: %{python_module psutil}
|
||||||
BuildRequires: %{python_module pytest}
|
BuildRequires: %{python_module pytest}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
BuildRequires: %{python_module threadpoolctl}
|
BuildRequires: %{python_module threadpoolctl}
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
Requires: python-lz4
|
BuildRequires: %{python_module numpy if (%python-base without python36-base)}
|
||||||
|
Recommends: python-lz4
|
||||||
Recommends: python-numpy
|
Recommends: python-numpy
|
||||||
Recommends: python-psutil
|
Recommends: python-psutil
|
||||||
|
Suggests: python-dask-distributed
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
|
|
||||||
@@ -58,10 +56,6 @@ Joblib can handle large data and has specific optimizations for `numpy` arrays.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n joblib-%{version}
|
%setup -q -n joblib-%{version}
|
||||||
%patch1 -p1
|
|
||||||
%ifarch aarch64 %arm ppc64 %{ix86}
|
|
||||||
%patch2 -p1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%python_build
|
%python_build
|
||||||
@@ -93,6 +87,9 @@ export LANG=en_US.UTF-8
|
|||||||
# test_hashes_are_different_between_c_and_fortran_contiguous_arrays
|
# test_hashes_are_different_between_c_and_fortran_contiguous_arrays
|
||||||
# test_hashes_stay_the_same_with_numpy_objects
|
# test_hashes_stay_the_same_with_numpy_objects
|
||||||
# test_non_contiguous_array_pickling
|
# test_non_contiguous_array_pickling
|
||||||
|
#
|
||||||
|
# always fails:
|
||||||
|
# test_parallel_call_cached_function_defined_in_jupyter
|
||||||
DISABLED_TESTS="test_hash_numpy_noncontiguous or \
|
DISABLED_TESTS="test_hash_numpy_noncontiguous or \
|
||||||
test_hashes_are_different_between_c_and_fortran_contiguous_arrays or \
|
test_hashes_are_different_between_c_and_fortran_contiguous_arrays or \
|
||||||
test_hashes_stay_the_same_with_numpy_objects or \
|
test_hashes_stay_the_same_with_numpy_objects or \
|
||||||
@@ -104,7 +101,11 @@ DISABLED_TESTS="test_hash_numpy_noncontiguous or \
|
|||||||
test_hash_numpy_noncontiguous or \
|
test_hash_numpy_noncontiguous or \
|
||||||
test_hashes_are_different_between_c_and_fortran_contiguous_arrays or \
|
test_hashes_are_different_between_c_and_fortran_contiguous_arrays or \
|
||||||
test_hashes_stay_the_same_with_numpy_objects or \
|
test_hashes_stay_the_same_with_numpy_objects or \
|
||||||
test_non_contiguous_array_pickling"
|
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)"
|
%pytest -k "not ($DISABLED_TESTS)"
|
||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
|
Reference in New Issue
Block a user