Release history¶
trio-parallel 1.2.1 (2023-11-04)¶
Bugfixes¶
Resolved a deprecation warning on python 3.12. (#380)
Deprecations and Removals¶
Although python 3.7 has not been specifically broken, it is no longer tested in CI. (#389)
trio-parallel 1.2.0 (2022-10-29)¶
Features¶
The behavior of the default context is now fully configurable, superseding
atexit_shutdown_grace_period
(#328)
Bugfixes¶
Use tblib lazily to pass tracebacks on user exceptions. Previously, tracebacks would only be passed on the built-in python exceptions. (#332)
trio-parallel 1.1.0 (2022-09-18)¶
Features¶
Bugfixes¶
Deprecations and Removals¶
Removed python 3.6 support (#236)
trio-parallel 1.0.0 (2021-12-04)¶
Bugfixes¶
Fixed a hang on failed worker subprocess spawns that mostly occurred upon accidental multiprocessing recursive spawn. (#167)
Fixed a hang on Windows when trying to use
WorkerContext.run_sync()
in sequential and concurrent Trio runs. (#171)
Improved Documentation¶
Revamped documentation with tested examples. (#168)
trio-parallel 1.0.0b0 (2021-11-12)¶
With this release I consider the project “feature complete”.
Features¶
Added an API to view statistics about a
WorkerContext
, specifically countingidle_workers
andrunning_workers
. (#155)
trio-parallel 1.0.0a2 (2021-10-08)¶
Features¶
Opportunistically use
cloudpickle
to serialize jobs and results. (#115)Timeout arguments of
open_worker_context()
,idle_timeout
andgrace_period
, now work like trio timeouts, accepting any non-negativefloat
value. (#116)Worker process startup is now faster, by importing trio lazily (#117)
open_worker_context()
now returns a context object that can be used to run functions explicitly in a certain context (WorkerContext.run_sync()
) rather than implicitly altering the behavior oftrio_parallel.run_sync()
. (#127)
trio-parallel 1.0.0a1 (2021-09-05)¶
Features¶
Added configuration options for the grace periods permitted to worker caches upon shutdown. This includes a new keyword argument for
open_worker_context()
and a new top level functionatexit_shutdown_grace_period()
. (#108)open_worker_context()
gained a new argument,init
, andretire
is no longer called before the first job in the worker. (#110)
trio-parallel 1.0.0a0 (2021-07-22)¶
Features¶
The behavior and lifetime of worker processes can now be customized with the
open_worker_context()
context manager. (#19)
trio-parallel 0.5.1 (2021-05-05)¶
Bugfixes¶
Remove
__version__
attribute to avoid crash on import when metadata is not available (#55)
trio-parallel 0.5.0 (2021-05-02)¶
Features¶
trio_parallel.BrokenWorkerError
now contains a reference to the underlying worker process which can be inspected e.g. to handle specific exit codes. (#48)
Bugfixes¶
Misc¶
trio-parallel 0.4.0 (2021-03-25)¶
Bugfixes¶
Correctly handle the case where
os.cpu_count
returnsNone
. (#32)Ignore keyboard interrupt (SIGINT) in workers to ensure correct cancellation semantics and clean shutdown on CTRL+C. (#35)
Misc¶
trio-parallel 0.3.0 (2021-02-21)¶
Bugfixes¶
Fixed an underlying race condition in IPC. Not a critical bugfix, as it should not be triggered in practice. (#15)
Reduce the production of zombie children on Unix systems (#20)
Close internal race condition when waiting for subprocess exit codes on macOS. (#23)
Avoid a race condition leading to deadlocks when a worker process is killed right after receiving work. (#25)
Improved Documentation¶
Reorganized documentation for less redundancy and more clarity (#16)