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 targetting 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
The current 1.0 series aims at basic API stabilization, improved tracing and robust termination.
The 1.1 series will target setting up permanent networks and offering unix-shell-like capabilities to spawn processes and applications.
execnet was conceived and is actively developed by Holger Krekel.
The package is licensed under the MIT license since version 1.2.