wanglib
is a module of experimental-control tools for use in the Wang
Lab. Contact its maintainer, Thomas Baldwin, if you have questions about
this library.
Documentation is hosted at http://wanglib.readthedocs.org.
Wanglib is designed to run on a typical scientific Python stack: Python 2.7 with Numpy, Scipy, and Matplotlib. Interactive use is best done through IPython.
For talking to RS-232 instruments, PySerial is required. For GPIB instruments, you will need either PyVISA or linux-gpib (unless you're using a prologix GPIB controller - wanglib provides its own driver for these).
To install wanglib and keep it up to date, it is best to have the Git DVCS and the pip installer.
There are no versioned releases of wanglib
- only a development
version that changes all the time. Install this with pip
:
$ pip install --user -e git+https://github.com/baldwint/wanglib.git#egg=wanglib
The --user
flag is a good idea to prevent version conflicts with other
users on the same machine.
It's unnecessary if you have some other means of doing that
(e.g., in a virtualenv).
This creates an editable clone of the repository in your home directory at
$HOME/src/wanglib
. To update to the latest version, change to this
directory and do:
$ git pull
You can make changes to wanglib by editing the files in this folder. By making changes, you are creating a branch. If you wish to contribute your changes back to me, create a repo for your branch on Github, and open a pull request.
The core contains these modules:
- :mod:`wanglib.util` -- miscellaneous utilities
- implements a custom serial interface
- provides templates for fitting, calibration, and scan automation.
- :mod:`wanglib.prologix` -- drivers for prologix GPIB controllers (USB and Ethernet)
- :mod:`wanglib.linux_gpib` -- provides compatibility with systems using linux_gpib
- :mod:`wanglib.ccd` -- a client for the CCD on the spex750m
- :mod:`wanglib.grating` -- generates phase gratings for the SLM
more functionality in two sub-packages:
- :mod:`wanglib.instruments` -- libraries for individual instruments in the lab
- :mod:`wanglib.pylab_extensions` -- misc. extensions to the pylab plotting interface