The labscript Python library permits expressive composition of hardware-timed experiments. Hardware connections and experiment logic are described using Python classes, functions and methods, which labscript translates into low-level primitives specific to individual instruments.
The library is used to construct a “connection table” containing information about what hardware is being used and how it is interconnected. Devices described in this connection table can then have their outputs set by using a range of functions, including arbitrary ramps.
A minimalist example experiment using labscript is available here.