Release history¶
trio-parallel 1.2.3 (2024-10-19)¶
Bugfixes¶
Fix a regression induced by trio-0.27.0 that causes worker contexts to crash on exit if they happen to wait for jobs to finish. (#432)
trio-parallel 1.2.2 (2024-04-24)¶
Bugfixes¶
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_workersandrunning_workers. (#155)
trio-parallel 1.0.0a2 (2021-10-08)¶
Features¶
Opportunistically use
cloudpickleto serialize jobs and results. (#115)Timeout arguments of
open_worker_context(),idle_timeoutandgrace_period, now work like trio timeouts, accepting any non-negativefloatvalue. (#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, andretireis 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.BrokenWorkerErrornow 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_countreturnsNone. (#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)