-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add table transferred from Ethercalc and cleaned up.
This table was originally started and filled by me at https://ethercalc.net/1anmq248ktu6 to support discussion at LabPy/labpy-discussion#23 Later on several other people (some anonymous) contributed data.
- Loading branch information
1 parent
e564a4e
commit 7a2b436
Showing
1 changed file
with
53 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Overview table | ||
|
||
<!-- Second-level headers: --> | ||
<!-- UNIVERSAL INSTRUMENTATION CONTROL IN PYTHON | | | | | | | Maturity | | | Scope | | | Features | Instrument drivers | | | | Procedures | GUI | Remarks | Collected by --> | ||
|
||
|
||
Name | Description | Repo URL | Docs URL | date latest commit | License | Application focus (if any) | Version | nr. of commits/years age | Test framework(nr tests) | instrument/hardware communication? | running predefined procedures? | GUI/presentation layer? | Units | Instrument types (messagebased, register map, DLL, COM,..) | Transport layers | Abstract instrument classes | Overall nr of drivers | definition (.py, DSL, markup) | GUI technology | Remarks | Collected by | ||
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ||
Pymeasure | Scientific measurement library for instruments, experiments, and live-plotting | [repo](https://github.com/ralph-group/pymeasure) | [docs](http://pymeasure.readthedocs.io/en/latest/) | ![Commit activity](https://img.shields.io/github/last-commit/ralph-group/pymeasure.svg?maxAge=300) | MIT | | ![release](https://img.shields.io/github/v/release/pymeasure/pymeasure) | 586/4 | pytest(62) | y | y | yes | n | | Serial, GPIB-USB, VISA | | 24 | py | Qt | | @bilderbuchi | ||
InstrumentKit | Python package for interacting with laboratory equipment over various buses. | [repo](https://www.github.com/Galvant/InstrumentKit) | [docs](http://instrumentkit.readthedocs.org/en/latest/index.html) | ![Commit activity](https://img.shields.io/github/last-commit/Galvant/InstrumentKit.svg?maxAge=300) | AGPL-v3 | Connection- and vendor-agnostic API for instruments | 0.4.1 | 1152/6 | pytest(693) | y | n | no | y(quantities, soon pint) | messagebased,...(?) | Serial, GPIB-USB, sockets, VISA, unix files, usbtmc, vxi11 over ethernet | yes | 41 | | | | @bilderbuchi | ||
Lantz | automation and instrumentation toolkit | [repo](https://github.com/lantzproject/lantz), [old repo](https://github.com/LabPy/lantz) | [docs](https://lantz.readthedocs.io) | ![Commit activity](https://img.shields.io/github/last-commit/LabPy/lantz.svg?maxAge=300) | BSD-3? | | 0.3 | 306/ | unittest | y | n | y (also autogenerated) | y (pint) | messagebased, dll | PyVisa,pyserial, PyGPIB, usbtmc | | many | | Qt | | @bilderbuchi | ||
Auspex | running physics experiments | [repo](https://github.com/BBN-Q/Auspex) | | ![Commit activity](https://img.shields.io/github/last-commit/BBN-Q/Auspex.svg?maxAge=300) | | | | 1925/ | | | | | | | | | | | | | | ||
Pythics | used for simple interfaces to laboratory instrument or numerical simulations | [repo](https://github.com/dursobr/Pythics) | | ![Commit activity](https://img.shields.io/github/last-commit/avelo/Pythics.svg?maxAge=300) | | | | 3/ | | | | | | | | | | | | | | ||
i3py | | [repo](https://github.com/Exopy/i3py) | | ![Commit activity](https://img.shields.io/github/last-commit/Exopy/i3py.svg?maxAge=300) | | | | 90/ | | | | no | Yes (pint) | | | | | | | evolved from lantz | | ||
Qcodes | Scientific measurement library for instruments, experiments, and live-plotting and saving results | [repo](https://github.com/QCoDeS/Qcodes) | | ![Commit activity](https://img.shields.io/github/last-commit/QCoDeS/Qcodes.svg?maxAge=300) | | qbits | | 2570/ | unittest | | | no | y | | | | | | | | | ||
labdrivers | Python package for controlling laboratory equipment (mostly with GPIB) | [repo](https://github.com/masonlab/labdrivers) | [docs](https://labdrivers.readthedocs.org/) | ![Commit activity](https://img.shields.io/github/last-commit/masonlab/labdrivers.svg?maxAge=300) | MIT | | | 62/2 | pytest(nr n/a; just started writing) | y | some drivers | no | none | | VISA, GPIB, TCP/IP | n | 9 | | none | | @pbnjeff89 | ||
qudi | tools for operating multi-instrument and multi-computer laboratory experiments | [repo](https://github.com/Ulm-IQO/qudi) | | ![Commit activity](https://img.shields.io/github/last-commit/Ulm-IQO/qudi.svg?maxAge=300) | | | | 4371/ | | | | | | | | | | | | | | ||
Crappy | software canvas for developing experimental tests in a versatile and accessible way | [repo](https://github.com/LaboratoireMecaniqueLille/crappy) | | ![Commit activity](https://img.shields.io/github/last-commit/Ulm-IQO/qudi.svg?maxAge=300) | | | | 909/ | | | | | | | | | | | | | | ||
Instrumental | controlling lab hardware | [repo](https://github.com/mabuchilab/Instrumental) | [docs](https://instrumental-lib.readthedocs.io/en/stable/) | ![Commit activity](https://img.shields.io/github/last-commit/mabuchilab/Instrumental.svg?maxAge=300) | | cameras, DAQs, oscilloscopes, spectrometers, and more | | 952/2 | | | | no | Yes (pint) | | VISA, serial, NiceLib/cffi, ... | | approx. 30 | | none | "Facets" similar to lantz "feats", nice object-oriented autodetection | | ||
PLACE | open-source (P)ython package for (L)aboratory (A)utomation, (C)ontrol, and (E)xperimentation | [repo](https://github.com/PALab/PLACE) | [docs](https://pubmed.ncbi.nlm.nih.gov/25304874/) | ![Commit activity](https://img.shields.io/github/last-commit/PALab/PLACE.svg?maxAge=300) | LGPL-3.0 | | | 697/ | | | | yes (node.js/elm) | | | | | | | | | | ||
Experimentor | flexible package for experiment control and automation | [repo](https://github.com/uetke/experimentor) | | ![Commit activity](https://img.shields.io/github/last-commit/uetke/experimentor.svg?maxAge=300) | | | | 31/ | | | | | | | | | | | | | | ||
ITOM | open source software suite for operating measurement systems, laboratory automation and data evaluation | [repo](https://itom.bitbucket.io/) | | | | | | | | | | | | | | | | | | | | ||
Qtlab | code to simplify computer-controlled measurements. It provides some basic GUI functionality and makes scripting quite easy. | [repo](https://github.com/heeres/qtlab) | | ![Commit activity](https://img.shields.io/github/last-commit/heeres/qtlab.svg?maxAge=300) | | | | 874/ | | | | | | | | | | | | | | ||
PyGMI | can take measurements with instruments connected over GPIB, RS232, ethernet or USB using Pyvisa and PySerial | [repo](https://github.com/Argonne-National-Laboratory/PyGMI) | | ![Commit activity](https://img.shields.io/github/last-commit/Argonne-National-Laboratory/PyGMI.svg?maxAge=300) | | | | | | | | | | | | | | | | | | ||
pymodaq | simplifies the interaction with detector and actuator hardware to go straight to the data acquisition | [repo](https://github.com/CEMES-CNRS/PyMoDAQ) | | ![Commit activity](https://img.shields.io/github/last-commit/CEMES-CNRS/PyMoDAQ.svg?maxAge=300) | CeCILL-B | | | | | | | | | | | | | | | | | ||
taurus-scada | control and data acquisition CLIs and GUIs in scientific/industrial environments | [repo](https://github.com/taurus-org/taurus) | | ![Commit activity](https://img.shields.io/github/last-commit/taurus-org/taurus.svg?maxAge=300) | LGPL | | 4.6 | 5000/5 | | y | | y | | | | | | | | | @bruyant | ||
Salve | micro framework designed to simplify instrument communication and control | [repo](https://github.com/p3trus/slave) | | ![Commit activity](https://img.shields.io/github/last-commit/p3trus/slave.svg?maxAge=300) | GPL | | | | | | | | | | | | | | | | | ||
Communication layer | micro framework designed to simplify instrument communication | | | | | | | | | | | | | | | | | | | | | ||
Pyvisa (=bottom layer) | "A Python package with bindings to the ""Virtual Instrument Software Architecture"" VISA library." | [repo](https://github.com/pyvisa/pyvisa) | [docs](https://pyvisa.readthedocs.io/en/stable/) | ![Commit activity](https://img.shields.io/github/last-commit/pyvisa/pyvisa.svg?maxAge=300) | MIT | | 1.9.0 | 915/5 | 0 | y | | no | n | | | | 0 | | | | | ||
python-ivi (=bottom layer) | | [repo](https://github.com/python-ivi/python-ivi) | | ![Commit activity](https://img.shields.io/github/last-commit/python-ivi/python-ivi.svg?maxAge=300) | | | | | | | | | | | | | | | | | | ||
nidaqmx-python | | [repo](https://github.com/ni/nidaqmx-python) | | ![Commit activity](https://img.shields.io/github/last-commit/ni/nidaqmx-python.svg?maxAge=300) | | | | | | | | | | | | | | | | | | ||
pyserial (=bottom layer) | | | | | | | | | | | | | | | | | | | | | | ||
test framework | | | | | | | | | | | | | | | | | | | | | | ||
openhtf | The open-source hardware testing framework. | | | May 22, 2018 | Apache 2.0 | | 1.3.0 | | | y | y | yes | y | | | | | py | Web | | @doingbla | ||
Fixate | library for testing real stuff | [repo](https://github.com/pazzarpj/Fixate) | | ![Commit activity](https://img.shields.io/github/last-commit/pazzarpj/Fixate.svg?maxAge=300) | | | | 6/ | | | | | | | | | | | | | | ||
pyinstruments (=project list only) | central reference point: documentation only | [repo](https://github.com/pyinstruments/pyinstruments) | | ![Commit activity](https://img.shields.io/github/last-commit/pyinstruments/pyinstruments.svg?maxAge=300) | | | | 3/ | | | | | | | | | | | | | | ||
bluesky | A data collection interface; or an experiment specification and orchestration engine | [repo](https://github.com/NSLS-II/bluesky) | [docs](http://nsls-ii.github.io/bluesky/) | ![Commit activity](https://img.shields.io/github/last-commit/NSLS-II/bluesky.svg?maxAge=300) | | end-to-end data acquisition and analysis solution that leverages data science libraries | 1.4.1 | 3300/3 | pytest (400) | | y | no | | | | | | | | | @bilderbuchi | ||
Ophyd | Python/EPICS-based device abstraction (in the future also other protocols) | [repo](https://github.com/NSLS-II/ophyd) | [docs](http://nsls-ii.github.io/ophyd) | ![Commit activity](https://img.shields.io/github/last-commit/NSLS-II/ophyd.svg?maxAge=300) | | A hardware abstraction layer | 1.3.0 | 2000/4 | pytest (270) | | | no | | | | | | | | | @bilderbuchi | ||
Cryostat-GUI | Scientific measurement library for instruments, experiments, live-plotting, saving results | [repo](https://github.com/Cryostat-GUI/Cryostat-GUI) | | ![Commit activity](https://img.shields.io/github/last-commit/Cryostat-GUI/Cryostat-GUI.svg?maxAge=300) | MIT | | | 581/1 | | y | no | yes | n (only documented in names) | | pyvisa (GPIB, serial) | y | 6 | | pyQt | currently rather specific, just recently reinvented the wheel... | | ||
measureSequences | focus on Quantum Design Sequence file parsing and running, totally abstract | [repo](https://github.com/bklebel/measureSequences) | | ![Commit activity](https://img.shields.io/github/last-commit/bklebel/measureSequences.svg?maxAge=300) | | Abstract software Sequence parsing/running scheme | | 62/0.5 | | no | yes | yes | | | | | | .seq files from QD MultiVu | pyQt | | | ||
PyMeasRF | Drivers for some RF related test equipment | [repo](https://github.com/JAnderson419/PyMeasRF) | | ![Commit activity](https://img.shields.io/github/last-commit/JAnderson419/PyMeasRF.svg?maxAge=300) | MIT | | | | | | | | | | | | | | | | @dominecf | ||
acq4 | for patch clamp ephys / optogenetics / imaging experiments in neurophysiology | [repo](https://github.com/acq4/acq4) | [docs](http://www.acq4.org/) | ![Commit activity](https://img.shields.io/github/last-commit/acq4/acq4.svg?maxAge=300) | MIT | | | | | y | | | | | | | | | | | @dominecf | ||
yaq | Yet Another AcQuisition | [repo](https://gitlab.com/yaq) | [docs](https://yaq.fyi) | | LGPL-3.0 | | | | | y | | | | | | | | | | | @dominecf | ||
ScopeFoundry | platform for controlling custom laboratory experiments and visualizing scientific data | [repo](https://github.com/ScopeFoundry/ScopeFoundry) | [docs](http://www.scopefoundry.org) | ![Commit activity](https://img.shields.io/github/last-commit/ScopeFoundry/ScopeFoundry.svg?maxAge=300) | BSD 3-Clause | | | | | y? | | yes | | | | | | | | | @dominecf | ||
hardware-control | Python framework to control hardware; includes device drivers for supported hardware and QT5-based GUI widgets | [repo](https://bitbucket.org/berkeleylab/hardware-control/src/main/) | | | BSD-3-Clause-LBNL | | | | | | | | | | | | | | | rather a new project | @dominecf | ||
micro-manager | GUI that communicates with microscope equipment through a device abstraction layer | [repo](https://github.com/micro-manager/) | | ![Commit activity](https://img.shields.io/github/last-commit/micro-manager/micro-manager.svg?maxAge=300) | BSD / LGPL | automated microscopes | | | | y | y | yes | | DLL, COM | | y | 200+ | | java | [this repo](https://github.com/micro-manager/futureMMCore) describes ongoing plans for an overhaul of the hardware interface side | | ||
home assistant | Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. | [repo](https://github.com/home-assistant/core) | [docs](https://www.home-assistant.io) | ![Commit activity](https://img.shields.io/github/last-commit/home-assistant/core.svg?maxAge=300) | Apache License 2.0 | non-scientific hardware | | | | | | | | | | | | | | | | ||
pyLabLib | device control and experiment automation | [repo](https://github.com/AlexShkarin/pyLabLib) | [docs](https://pylablib.readthedocs.io/en/latest/) | ![Commit activity](https://img.shields.io/github/last-commit/AlexShkarin/pyLabLib.svg?maxAge=300) | GPL-3.0 | | | | | y | | | | | | | | | | | | ||
pylabinstrument | N/A | [repo](https://github.com/psklight/pylabinstrument) | | ![Commit activity](https://img.shields.io/github/last-commit/psklight/pylabinstrument.svg?maxAge=300) | N/A | mostly optics | | | | | | | | | | | | | | | | ||
pyLabInstruments | wrapper around instruments controlled via usb or serial interface | [repo](https://github.com/MarkHedleyJones/pyLabInstruments) | | ![Commit activity](https://img.shields.io/github/last-commit/MarkHedleyJones/pylabInstruments.svg?maxAge=300) | N/A | Agilent 3320A + Tektronix TPS2024B | | | | | | | | | | | | | | | | ||
|
||
|
||
Note: The original version of the table lived at https://ethercalc.net/1anmq248ktu6 |