# QCoDeS Drivers and zhinst-toolkit¶

The Zurich Instruments drivers for QCoDeS are based on the Zurich Instruments Toolkit. The Python package zhinst-toolkit is an extension of the LabOne Python API ziPython. The zhinst-toolkit allows for easier and more intuitive control of Zurich Instruments devices. For more information, have a look at its GitHub repository and online documentation

Functionally, the instrument drivers for QCoDeS work in the same way as the drivers available in the zhinst-toolkit. However, they implement the instrument drivers, their submodules and parameters into the QCoDeS measurement framework by subclassing or wrapping elements from QCoDeS. Those include the QCoDeS classes

• qcodes.instrument.base.Instrument:

for instrument drivers, e.g. the zhinst.qcodes.HDAWG

• qcodes.instrument.channel.InstrumentChannel:

for submodules, i.e. nodes in the device’s nodetree structure or device-specific modules such as AWG Cores, Readout Channels, Data Aqcuisition Modules, Sweeper Module

• qcodes.instrument.parameter.Parameter:

for device parameters that mostly correspond directly to device settings, using the LabOne Python API they would be accessed with a unique node path, e.g. ‘dev1234/sigouts/0/enable’