Loky

Latest version: v3.5.1

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

3.5.1

- Fix a regression to support Python 3.10 (and Python 3.14 dev) by passing
version-specific `allow_vfork` and `pgid_to_set` arguments to
`_posixsubprocess.fork_exec`. (445)

3.5.0

- Avoid raising `DeprecationWarning` related to `os.fork` when running in a
natively multi-threaded process. (429).

- Fix a crash when calling commands that access `stdin` via `subprocess.run` in
worker processes on POSIX systems. (429).

- Automatically call `faulthandler.enable()` when starting loky worker
processes to report more informative information (post-mortem Python
tracebacks in particular) on worker crashs. (419).

- Fix a random deadlock caused by a race condition at executor shutdown that
was observed on Linux and Windows. (438)

- Fix detection of the number of physical cores in
`cpu_count(only_physical_cores=True)` on some Linux systems and recent
Windows versions. (425)

- Drop support for Python 3.7 and Python 3.8. (409)

- Drop support for PyPy. (427)

3.4.1

- Fix compatibility with python3.7, which does not define
a `_MAX_WINDOWS_WORKERS` constant. (408)

3.4.0

- Fix exception `__cause__` not being propagated with
`tblib.pickling_support.install()`. (255).

- Fix handling of CPU affinity by using `psutil`'s `cpu_affinity` on platforms
that do not implement `os.sched_getaffinity`, such as PyPy. (381).

- Make the executor's gc process more thread-safe, in particular for PyPy,
where the gc calls can be run in any thread. (384).

- Fix crash when using `max_workers > 61` on Windows. Loky will no longer
attempt to use more than 61 workers on that platform (or 60 depending on the
Python version). (390).

- Fix loky compat with python 3.11 for nested calls. (394).

- Adapt the cooldown strategy when shutingdown an executor with full
`call_queue`. This should accelerate the time taken to shutdown
in general, in particular on overloaded machines. (399).

3.3.0

- Fix worker management logic in `get_reusable_executor` to ensure
the number of started worker process actually correspond to `max_workers`
when existing process concurrently time out (370).

3.2.0

- Fix leaked processes and deadlock when the Python interpreter exits
after a using nested calls to `get_reusable_executor` (363).

- Fix an exception in the SemLock finalizer when the semaphore has been
concurrently unlinked (366).

Page 1 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.