Running Python applications under BOINC has two issues:
- Windows systems do not have Python installed by default.
- Unix (Linux, Mac OS X) have Python, but the version may be incompatible with your program.
These issues can be addressed as follows. First, you can run Python applications in the standard BOINC model (with separate work generator, validator, and assimilator) in either of two ways:
- Using py2exe, which converts a Python program into a Windows executable (see below). You can then run this program using the BOINC wrapper.
- Using PyBOINC, which lets you bundles a Python interpreter with your program, and does not require the BOINC wrapper (see below).
py2exe allows you to make a standalone executable that envelops both the Python executable, and precompiled bytecode for your program. It is Windows-only.
It converts a python .py script into three files, a main executable, the C-run time dll msvcrt71.dll, and a third executable that is seemingly needed on Win9x. This runs on a system with no Python otherwise on it, with no path or whatever adjustments.
A Python binding of the BOINC API is described here.
PyBOINC is a wrapper and a set of predefined libraries that lets you package a Python program as a BOINC application.
PyBOINC main page: https://bitbucket.org/jeremycowles/pyboinc/
Notes: PyBOINC is not maintained. Use at your own risk.
TODO: finish this section; provide a cookbook example.