MPI for Python.
MPY stands for “MPi for pYthon”, is a single-module wrapper for any MPI library. Just copy the mpy.py then it works (needless to say, after you have MPI installed on a cluster). MPY has no external dependency other than a working MPI installation and a standard Python. The MPI installation has to be built with shared object since MPY uses ctypes as interface.
All the functions in the MPI library can be accessed by MPI().Name_Without_Leading_MPI(), and you must manually convert the arguments from Python objects to ctypes objects. Shorthand APIs and Pythonic APIs are also provided. Shorthand APIs use Python objects and can return Python objects, with the same naming convention as MPI, but all lower-cased. Pythonic APIs are Pythonic.
You can verify the “installation” of MPY by running:
$ mpiexec -n 2 python mpy.py