File python-joblib.changes of Package python-joblib

Thu May  9 08:36:55 UTC 2024 - Dirk Müller <>

- 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
    which needs to return the metadata. Also make sure that return an empty dict for metadata for

Sat Apr 20 21:06:55 UTC 2024 - Dirk Müller <>

- 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
  * 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 <>

- 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 <>

- 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
  * 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
  * 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`
  * 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}` ->

Sat Jun 10 17:42:25 UTC 2023 - ecsos <>

- Add %{?sle15_python_module_pythons}

Tue Oct 11 13:20:33 UTC 2022 - Ben Greiner <>

- 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.
  * 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 <>

- Add patch support-setuptools-62.patch:
  * Support setuptools >= 62 by handling more than one warning in a test

Sat Oct 16 21:31:20 UTC 2021 - Dirk Müller <>

- 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 <>

- 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
- 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 <>

- BuildRequire threadpoolctl for all python3 flavors

Fri Oct 30 08:23:38 UTC 2020 -

- disable test_hash_numpy_noncontiguous,
  test_non_contiguous_array_pickling [bsc#1177209]

Tue Oct 27 12:01:23 UTC 2020 -

- disable test_nested_loop_error_in_grandchild_resource_tracker_silent

Mon Oct  5 14:18:31 UTC 2020 -

- disable yet another tests [bsc#1177209]

Tue Sep  8 08:26:41 UTC 2020 - Guillaume GARDET <>

- Disable tests failing often in OBS:
  * joblib-disable-unrelialble-tests.patch

Fri Aug 21 08:40:04 UTC 2020 - Michel Normand <>

- New disable_test_on_big_endian.patch as per upstream issue

Sat Jul 18 09:12:26 UTC 2020 - Dirk Mueller <>

- 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.
  - 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.
  - Prevent a dask.distributed bug from surfacing in joblib's dask backend
    during nested Parallel calls (due to joblib's auto-scattering feature)
  - Workaround for a race condition after Parallel calls with the dask backend
    that would cause low level warnings from asyncio coroutines:

Tue Jun  2 16:24:43 UTC 2020 - Dirk Mueller <>

- 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.
  - 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.
  - Make the dask backend collect results as soon as they complete
    leading to a performance improvement:
  - Fix the number of jobs reported by ``effective_n_jobs`` when ``n_jobs=None``
    called in a parallel backend context.
  - 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 -

- 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``)
  - Fix a regression where the loky backend was not reusing previously
    spawned workers.
  - Revert to avoid using
    `pkg_resources` that introduced a performance regression under Windows:
  - 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).
  - 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
  - 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.
  - Upgrade to cloudpickle 1.1.1 that add supports for the upcoming
    Python 3.8 release among other things.
  - Fix semaphore availability checker to avoid spawning resource trackers
    on module import.
  - Fix the oversubscription protection to only protect against nested
    `Parallel` calls. This allows `joblib` to be run in background threads.
  - Fix `ValueError` (negative dimensions) when pickling large numpy arrays on
  - Upgrade to loky 2.6.0 that add supports for the setting environment variables
    in child before loading any module.
  - 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``.
- deleted patches
  - numpy16.patch (upstreamed)

Tue May 28 10:34:57 UTC 2019 - Tomáš Chvátal <>

- Switch to %pytest
- Add patch to work well with new numpy:
  * numpy16.patch

Tue Mar 26 14:45:24 UTC 2019 - Tomáš Chvátal <>

- 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 <>

- Remove no longer necessary pytest argument
  -k 'not test_no_blas_crash_or_freeze_with_subprocesses'

Tue Jan 29 16:41:57 CET 2019 -

- 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 <>

- 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 <>

- Disable blas test as it is very flaky outside of x86_64

Fri Jul 27 06:35:25 UTC 2018 -

- Use noun phrase in summary.

Fri Jul 20 11:48:47 UTC 2018 -

- Enable tests

Wed Jul 18 03:03:33 UTC 2018 -

- 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
  * 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
  * Make it possible to hint for thread-based parallelism with
    prefer='threads' or enforce shared-memory semantics with
  * 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
  * 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

Thu Jan 11 22:12:57 UTC 2018 -

- Ensure neutrality of description.

Mon May 22 16:35:59 UTC 2017 -

- Implement single-spec version.
- Run tests.
- Fix source URL.
- Update to version 0.11.
  * For a full changelog please see:

Sun May 24 13:14:03 UTC 2015 -

- Disable non-functional documentation

Sun Dec  8 19:47:59 UTC 2013 -

- 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 -

- Require python-setuptools instead of distribute (upstreams merged)

Sat Feb  9 15:54:15 UTC 2013 -

- Update to version 0.7.0d
  * No changelog available
- Clean the specfile and remove .buildinfo file

Wed Oct 10 20:59:57 UTC 2012 -

- Add Group field in doc package for SLE 11

Wed Sep  5 17:10:35 UTC 2012 -

- Initial version

openSUSE Build Service is sponsored by