Release history
trio-parallel 1.3.0 (2024-12-25)
Features
Advertise support for Python-3.13, although no code changes were made to support it. (#434)
Add
kill_on_cancel
kwarg torun_sync()
. The aliascancellable
will remain indefinitely. (#437)Add
cache_scope()
, an async context manager that can override the behavior oftrio_parallel.run_sync()
in a subtree of your Trio tasks with an implicitWorkerContext
. (#455)
Deprecations and Removals
Stop advertising support for Python-3.8, although no code changes were made to break it. (#434)
Removed deprecated
atexit_shutdown_grace_period
. Useconfigure_default_context
to configure the default context shutdown grace period. (#435)
trio-parallel 1.2.4 (2024-12-21)
Bugfixes
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_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)