execnet currently is in maintenance-only mode, mostly because it is still the backend of the pytest-xdist plugin. Do not use in new projects.
Python is a mature dynamic language whose interpreters can interact with all major computing platforms today.
execnet provides a share-nothing model with channel-send/receive communication for distributing execution across many Python interpreters across version, platform and network barriers. It has a minimal and fast API targeting the following uses:
distribute tasks to (many) local or remote CPUs
write and deploy hybrid multi-process applications
write scripts to administer multiple environments
automatic bootstrapping: no manual remote installation.
safe and simple serialization of python builtin types for sending/receiving structured data messages. (New in 1.1) execnet offers a new dumps/loads API which allows cross-interpreter compatible serialization of Python builtin types.
flexible communication: synchronous send/receive as well as callback/queue mechanisms supported
easy creation, handling and termination of multiple processes
well tested interactions between CPython 2.5-2.7, CPython-3.3, Jython 2.5.1 and PyPy interpreters.
fully interoperable between Windows and Unix-ish systems.
many tested examples
Ronny Pfannschmidt uses it for his anyvc VCS-abstraction project to bridge the Python2/Python3 version gap.
sysadmins and developers are using it for ad-hoc custom scripting
The project is currently in maintenance-only mode, with PRs fixing bugs being gracefully accepted.
Currently there are no plans to improve the project further, being maintained mostly because it is used as backend of the popular pytest-xdist plugin.
execnet was conceived originally by Holger Krekel and is licensed under the MIT license
since version 1.2.