Python projects for controlling instruments

There are many third party python projects that can be used to communicate with scientifc instruments and technical equipment. Here, we would like to present a compilation of such packages and drivers, which can be used to create measurement programs with python.

Instrument Drivers

PyMeasureWebsiteCodePyPI
PyMeasure DevelopersDrivers for several scientific instruments
PyExpLabSysWebsiteCode
Surface Physics & Catalysis (SurfCat) – Technical University of DenmarkDrivers for several scientific instruments
pyhard2WebsiteCode
Mathisa Laurin Drivers for several scientific instruments
pyHegelCode
Christian LupienDrivers for several scientific instruments
AutolabWebsiteCodePyPI
Quentin Chateiller and Bruno GarbinDrivers for several scientific instruments
InstrumentKitWebsiteCodePyPI
Steven CasagrandeDrivers for several scientific instruments
python-iviCodePyPI
Alex Forencich, Christopher Johnson, Jeff Wurzbach Drivers for several scientific instruments
slaveCodePyPI
Marco HalderDrivers for several scientific instruments
Measurement-automation-tools Code
John BangsundDrivers for several scientific instruments
Labber driversCode
Lab Control Software Scandinavia ABDrivers for several scientific instruments
pyinstrumentCodePyPI
Samuel DelegliseDrivers for several scientific instruments
Mason lab labdriversCodePyPI
Mason GroupDrivers for several scientific instruments
QCoDeSWebsiteCodePyPI
Microsoft Corporation and Københavns Universitet Drivers for several scientific instruments
Scikit-rfWebsiteCodePyPI
Alexander Arsenovic, scikit-rf DevelopersToolkit for RF measurements
AuspexCodePyPI
Raytheon BBN Technologies - Quantum GroupDrivers for several scientific instruments
hardware-controlCodePyPI
Lawrence Berkeley National LaboratoryDrivers for several scientific instruments
labdevicesCodePyPI
Julian KrauthDrivers for several scientific instruments
LabEXTCode
Institute of Electromagnetic Fields, ETH ZurichDrivers for several scientific instruments
LabToolKitCodePyPI
David A LuttonDrivers for several scientific instruments
pyLabLibWebsiteCodePyPI
Alexey ShkarinDrivers for several scientific instruments
PyXperimentCodePyPI
Stanislau PiatrushaDrivers for several scientific instruments
InstrumentalWebsiteCodePyPI
Nate BogdanowiczDrivers for several scientific instruments
PyMoDAQWebsiteCodePyPI
Sébastien WeberModular data acquistion framework and instrument drivers

Interface Libraries

pyvisaWebsiteCodePyPI
PyVISA Authors and contributorsStandard library to use visa runtime.
pyserialWebsiteCodePyPI
Chris LiechtiStandard library for COM port communication
python-canWebsiteCodePyPI
Several contributors (see github)Library for CAN bus
python-opcuaWebsiteCodePyPI
Olivier Roulet-Dubonnet and othersLibrary for OPC UA
MinimalModbusWebsiteCodePyPI
Jonas BergLibrary for Modbus
PyModbusWebsiteCodePyPI
Galen CollinsLibrary for using Modbus
PyBluezWebsiteCodePyPI
Albert Haung and contributorsLibrary for using bluetooth
pythonnetWebsiteCodePyPI
The Python for .Net developersLibrary for loading .NET dlls
python-usbtmcWebsiteCodePyPI
Alex ForencichLibrary for using USBTMC without visa runtime
python-snap7WebsiteCodePyPI
Gijs Molenaar and contributorsLibrary for Siemens S7 or Siemens Logo8!
pywin32CodePyPI
Mark Hammond (et al)Library for Win32. It can be used to communicate with instruments that are controlled by a software that supports a DDE/COM/ActiveX interface.
prologix-gpib-ethernetCode
Nelson Darkwah OppongLibrary to interface with Prologix adapters

Manufacturer Packages

Lake Shore CryotronicsWebsiteCodePyPI
MIT Licensecollection of python drivers for Lake Shore instruments
MPI corporationCode
BSD-2-Clause Licensepython library for controlling a Sentio prober
BaslerCodePyPI
BSD-3-Clause Licensepython wrapper for Basler pylon Camera Software Suite.
Zurich InstrumentsCodePyPI
MIT Licensepackage zhinst with API for LabOne
BronkhorstWebsiteCodePyPI
MIT Licensepackage propar for mass-flow controller
Rohde&SchwarzWebsiteCodePyPI
MIT Licensepackage for R&S instruments
Zaber Technologies Inc.WebsiteCodePyPI
Apache 2.0 Licensepackage for motor controllers
TrinamicCodePyPI
MIT Licensepackage for motor controllers
B&K PrecisionCode
Appache 2.0 Licensepackages for B&K instruments
PCOWebsitePyPI
MIT Licensepackage for PCO cameras
DOBOTCode
MIT Licensepackage for DOBOT roboters
SensirionCode
BSD-3-Clause Licensepackages for Sensirion sensors
LabjackWebsiteCodePyPI
MIT Licensepackage for Labjack devices
iDSWebsitePyPI
BSD Licensepackage for iDS cameras
Physik InstrumenteWebsiteCodePyPI
Other/Proprietary licensepackage for controlling positioning stages
NanotecWebsite
CC BY 3.0 and CC BY-ND 4.0package for Nanotec motor controllers

If you feel a package is missing or information is incorrect, please feel free to contact us via contact@sweep-me.net