PyXG = Python + Xgrid
PyXG provides a Python interface to Apple's Xgrid. Xgrid is Apple's solution for running jobs on a cluster of Macintosh computers. PyXG enables users to submit and manage Xgrid jobs on a cluster from a Python script or within an interactive Python session.
Download
PyXG works only on Tiger and requires PyObjC.
The current release is version 0.2.0, which is available here.
The Python 2.4 release in this directory is built against Bob Ippolito's Python 2.4 distribution.
The current version is in the subversion repository. With subversion installed, issue the following:
svn co http://pyxg.scipy.org/svn/pyxg/trunk PyXG
Community
PyXG has a Google Groups mailing list for users and developers.
A wiki and a development Trac will soon be up.
Documentation
The API for PyXG is documented here.
Features
With PyXG you can:
- Start and manage Xgrid jobs quickly using Python's elegant syntax.
- Use Xgrid from within Python scripts as well as in interactive Python sessions.
- Submit and manage simple (one task) and batch (many task) Xgrid jobs.
- Get job information and retrieve job results
- Work with multiple Xgrid controllers and grids simultaneously.
Python/Xgrid Communications
While technology previews of Xgrid have been out for over a year, the 1.0 version of Xgrid was released with Mac OS 10.4 (Tiger). Tiger provides two client interfaces to Xgrid: an "xgrid" command line and a Cocoa framework called XgridFoundation.
Currently, the Python to Xgrid communication in PyXG is implemented through a set of Python classes that wrap the Xgrid command line. The Cocoa API is not used in PyXG as it is designed to be used in GUI Cocoa applications where the Cocoa event loop (an NSRunloop instance) is running. While I have a version of PyXG that uses the Cocoa API it is not as reliable because of the subtleties of running the Cocoa event loop by hand. If you are developing Cocoa-Python GUI applications, PyObjC has wrapped the XgridFoundation framework.