PyInstruments is a central reference point for the various Python-based experimental data collection frameworks. The goal is to create a central repository with links to Python-based data collection software and instrument drivers, and a discussion hub for the community that uses them.
Contributions are welcome, either in the form of pull requests which update and expand the information below, or in the form of discussion in the Issues. Contributions to the frameworks themselves are also welcome, but should be submitted through the relevant project's github page, and not this repository.
Below are several packages under active development, listed in alphabetical order.
Instrumental is a Python-based library for controlling lab hardware like cameras, DAQs, oscilloscopes, spectrometers, and more. It has high-level drivers for instruments from NI, Tektronix, Thorlabs, PCO, Photometrics, Burleigh, and others. Instrumental's goal is to make common tasks simple to perform, while still providing the flexibility to perform complex tasks with relative ease.
url: https://github.com/mabuchilab/Instrumental
docs: http://instrumental-lib.readthedocs.org/en/latest/
Lantz is an automation and instrumentation toolkit with a clean, well-designed and consistent interface. It provides a core of commonly used functionalities for building applications that communicate with scientific instruments allowing rapid application prototyping, development and testing. Lantz benefits from Python’s extensive library flexibility as a glue language to wrap existing drivers and DLLs.
url: https://github.com/awsch/lantz
docs: http://lantz.readthedocs.org/en/0.3/
PyMeasure makes measurements easy to set up and run. The package is composed of two parts: (1) a repository of instruments classes that make communicating and taking data easy, and (2) a system for running experiment procedures and graphing their data live.
url: https://github.com/ralph-group/pymeasure
docs: http://pymeasure.readthedocs.org/en/latest/
A framework for interfacing with measurement hardware and running repeatable experiments, currently in private alpha.
Actively maintained fork of the QT Lab environment.
url: https://github.com/govenius/qtlab
docs: https://github.com/govenius/qtlab/blob/aalto/MANUAL