Release history

trio-parallel 1.0.1.dev300+gfea25a0 (2022-08-01)


  • Prevent Ctrl+C from inducing various leaks and inconsistent states. (#239)

  • Cleaned up names/qualnames of objects in the trio_parallel namespace. (#291)

Deprecations and Removals

  • Removed python 3.6 support (#236)

trio-parallel 1.0.0 (2021-12-04)


  • 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”.


  • Added an API to view statistics about a WorkerContext, specifically counting idle_workers and running_workers. (#155)

trio-parallel 1.0.0a2 (2021-10-08)


trio-parallel 1.0.0a1 (2021-09-05)


trio-parallel 1.0.0a0 (2021-07-22)


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


  • Remove __version__ attribute to avoid crash on import when metadata is not available (#55)

trio-parallel 0.5.0 (2021-05-02)



  • Workers are now fully synchronized with only pipe/channel-like objects, making it impossible to leak semaphores. (#33)

  • Fix a regression of a rare race condition where idle workers shut down cleanly but appear broken. (#43)

  • Ensure a clean worker shutdown if IPC pipes are closed (#51)


trio-parallel 0.4.0 (2021-03-25)


  • Correctly handle the case where os.cpu_count returns None. (#32)

  • Ignore keyboard interrupt (SIGINT) in workers to ensure correct cancellation semantics and clean shutdown on CTRL+C. (#35)


trio-parallel 0.3.0 (2021-02-21)


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

trio-parallel 0.2.0 (2021-02-02)


  • Changed subprocess context to explicitly always spawn new processes (#5)

  • Changed synchronization scheme to achieve full passing tests on

    • Windows, Linux, MacOS

    • CPython 3.6, 3.7, 3.8, 3.9

    • Pypy 3.6, 3.7, 3.7-nightly

    Note Pypy on Windows is not supported here or by Trio (#10)