This is the software controller for GUPPI, "the best damn pulsar instrument in the world" (via http://www.cv.nrao.edu/~sransom/). GUPPI started with the name "Green Bank Ultimate Pulsar Processing Instrument", but really we just call it "guppi" (though it is ultimate).
The guppi controller was developed against Python 2.5 starting in 2008, and has also been tested against Python 2.4.
guppi_daq first. This has its own dependencies, including (but not
pyfits, and some slalib & shared memory
This project was developed against Optio's soaplib package, version 0.7.2. One of the enhancement requests on this project is to move away from SOAP entirely. Until that happens, you'll have to track down a pre-0.8 version of soaplib or update the project to use soaplib's successive (non-Optio) development. As a shortcut, this version is already available on beef.gb.nrao.edu. Go there first:
beef.gb.nrao.edu:/home/pulsar64/lib/python2.5/site-packages cp -a soaplib-0.7.2dev_r27-py2.5.egg/soaplib somedestination
matplotlib dependency (which depends on
numpy and some GUI toolkit)
might not install as easily as the others when installing from the Python
package index, so manual intervention may be required here.
Install with Available Dependencies
With setuptools (from
python setup.py install --prefix=/path/to/guppi
Be sure to set a good prefix or remove it altogether. This command installs
the guppi controller to the given prefix and the required dependencies as
setup.py to the site packages.
python setup.py install may
require administrative access when installing these dependencies. If
dependencies are already installed, any user with write permissions to the
prefix location should be able to install an updated version of the guppi
supervisord to manage all running processes for the guppi
controller. Example configurations are available in the
etc/ area of the
For various reasons, the guppi controller was never versioned. Instead use a
yyyy.mm.dd. Currently this datestring is set manually in
You can find your installed version by noting the version in the file path:
python -c 'import guppi; print guppi.__file__'
It is possible to use ipython with the guppi interpreter. Change:
exec /usr/bin/env python -i -c 'from guppi.interpreter import *' $@
guppi launch script (see
exec /usr/bin/env ipython -i -c 'from guppi.interpreter import *' $@
Note however that this breaks the tab completer as written. A better approach
would be to use Python's builtin code module and call
guppi saw first light with the
python -i trick and we've kept it since.
See Flask-Script (http://packages.python.org/Flask-Script/) for a simple
example of how to use
code.interact(...) with ipython option.