Skip to main content

Library with high-level drivers for lab equipment

Project description

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.

Note As of version 0.7, Instrumental has dropped support for Python 2 and now requires Python 3.7+

Instrumental’s goal is to make common tasks simple to perform, while still providing the flexibility to perform complex tasks with relative ease. It also makes it easy to mess around with instruments in the shell. For example, to list the available instruments and open one of them:

>>> from instrumental import instrument, list_instruments
>>> paramsets = list_instruments()
>>> paramsets
[<ParamSet[TSI_Camera] serial='05478' number=0>,
 <ParamSet[K10CR1] serial='55000247'>
 <ParamSet[NIDAQ] model='USB-6221 (BNC)' name='Dev1'>]
>>> daq = instrument(paramsets[2])
>>> daq
<instrumental.drivers.daq.ni.NIDAQ at 0xb61...>

If you’re going to be using an instrument repeatedly, save it for later:

>>> daq.save_instrument('myDAQ')

Then you can simply open it by name:

>>> daq = instrument('myDAQ')

Instrumental also bundles in some additional support code, including:

  • A server-client implementation for controlling instruments from remote machines

  • Plotting and curve fitting utilities

  • Utilities for acquiring and organizing data

Instrumental makes use of NumPy, SciPy, Matplotlib, and Pint, a Python units library. It optionally uses PyVISA/VISA and other drivers for interfacing with lab equipment.

For install information, documentation, examples, and more, see our page on ReadTheDocs.

If you would like to cite Instrumental, to give it more visibility to other researchers, you can cite the repository through Zenodo (DOI: 10.5281/zenodo.2556398).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Instrumental-lib-0.7.zip (390.8 kB view details)

Uploaded Source

Built Distribution

Instrumental_lib-0.7-py2.py3-none-any.whl (298.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file Instrumental-lib-0.7.zip.

File metadata

  • Download URL: Instrumental-lib-0.7.zip
  • Upload date:
  • Size: 390.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.13

File hashes

Hashes for Instrumental-lib-0.7.zip
Algorithm Hash digest
SHA256 a6a723d9c194477b041ec4411f2064b2643ac8fb6f21341032104b8155a4b289
MD5 c3054f3a48509c5407936ae8b441ba81
BLAKE2b-256 e9f7b6b65a7c4ad3a8938a38c5bb86efb0932438cfb58f3a837a565df4103b2b

See more details on using hashes here.

File details

Details for the file Instrumental_lib-0.7-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for Instrumental_lib-0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2963c4787dc49501704d8973d5140520e5dc91dc44422a7c6aaeeba7b016b998
MD5 4c7a1eb1bae290a253e5022e0166d543
BLAKE2b-256 cfd629a830f809e71e076f0d248eba933fb009229c7ce04f33cfcc0d2d8a2f06

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page