We’ve written a range of software to plug gaps in standard scientific programming tools, with particular emphasis on libraries for experimental and theoretical BEC physics. Some projects are open-source, while others remain under active internal development. Those without an open repository are experimental, but may be available upon request.

The labscript suite

Developed jointly by members of our labs, the labscript suite is a collection of open source experiment control and analysis software, mostly written in Python. For more information about the suite, please visit

Python libraries

zlockzeromq based inter-process locking system for serialisation of access to shared resources.

h5lock – Uses zlock to serialise access to HDF5 files opened with h5py.

h5scripting – Interface for saving python functions to an HDF5 file and allowing these to be executed in a nice way, e.g. for generating plots from HDF5-stored data.

pygpe – Gross-Pitaevskii solver supporting time dependent coupling and state-dependent potentials (e.g. magnetic field gradients) for spinor BEC simulations.

LabVIEW libraries

h5labview – Bindings to the HDF5 library for storage and retrieval of hierarchical data and metadata

msgpack-labview – Implementation of the Message Pack protocol, a fast, binary data serialisation format.

labview-zmq – Bindings to the zeromq “sockets-on-steroids” communications library

at3mod – Improved LabVIEW bindings to the Andor SDK v3 for Andor Neo sCMOS cameras.

C and C++ libraries

msgpackalt – An alternative (faster, simpler) implementation of the Message Pack (msgpack) protocol. Easily turned into a DLL for external use, and employed by msgpack-labview to do fast conversion.

hiredis-win – Compiling hiredis for Windows to DLL in a moderately low-spew way. Further details on our wiki.


These projects are mostly auxiliary to our research, so work happens on them sporadically, and the usual “at your own risk” disclaimer applies.