Skip to content

Enhancements to the Python concurrent.futures package

Notifications You must be signed in to change notification settings

dalleyg/pyrseus

Repository files navigation

Pyrseus: Serial Executors and the ExecutorCtx Factory

Pyrseus extends Python's concurrent.futures asynchronous and concurrent programming package with

  • a collection of non-concurrent executors for light workloads and troubleshooting,
  • ExecutorCtx, a factory for easily switching between different executors, and
  • a collection of ready-built ExecutorCtx plugins, supporting executors from concurrent.futures, ipyparallel, loky, mpi4py, and itself. Where relevant, optional cloudpickle-enhanced plugins are also provided.

Installation

Pyrseus supports Linux, macOS, and Windows.

To install just Pyrseus and no plugins for 3rd party executors, run:

python -m pip install pyrseus

To ensure that the ipyparallel, loky, and/or mpi4py plugins are also ready to use, run a command like the following, removing the names of any plugins you don't need::

python -m pip install 'pyrseus[ipyparallel,loky,mpi4py]'

Note that Pyrseus will auto-detect those packages, so if they're installed through other means, then the relevant Pyrseus plugins will be automatically enabled.

For additional instructions, see the installation guide.

Full Documentation

For full documenation, see the Pyrseus Documentation. It includes installation instructions, a detailed summary of all of the executor plugins, guidance for writing your own plugins, API documenation, and several notebooks showing example use cases.

About

Enhancements to the Python concurrent.futures package

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages