execnet: rapid multi-Python deployment
home | install | examples | basic API | support
index
next |
Table Of Contents
Features
Known uses
Project status
Next topic
Contact and Support channels
Download
Current: 1.0.9 [Changes]
Get execnet from the Python Package Index, or install it with:
easy_install -U execnet
Questions? Suggestions?
Join execnet-dev mailing list
come to #pylib on FreeNode
Quick search
Enter search terms or a module, class or function name.
_images/pythonring.png
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
Features
automatic bootstrapping: no manual remote installation.
safe and simple serialization of python builtin types (no pickle) for sending/receiving structured data messages.
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.4-2.7, CPython3.1, Jython 2.5.1 and PyPy 1.1 interpreters.
fully interoperable between Windows and Unix-ish systems.
many tested examples
Known uses
py.test uses it for its distributed testing mechanism.
Jacob Perkins uses it for his Distributed NTLK with execnet project to launch computation processes through ssh. He also compares disco and execnet in a subsequent post.
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
Project status
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 GPL Version 2 or later, at your choice. Armin Rigo and Benjamin Peterson have done major contributions which are MIT-licensed.