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.8.tar.gz (311.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Instrumental_lib-0.8-py3-none-any.whl (316.4 kB view details)

Uploaded Python 3

File details

Details for the file Instrumental-lib-0.8.tar.gz.

File metadata

  • Download URL: Instrumental-lib-0.8.tar.gz
  • Upload date:
  • Size: 311.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for Instrumental-lib-0.8.tar.gz
Algorithm Hash digest
SHA256 d288363873c895fa562b6c1178a9ab77ee9dd1f8c5d5490bd51c5d2571a2f15a
MD5 e86be7f9710850d2d682ae8e43a25a0b
BLAKE2b-256 8fe42c4a560ae418dc72a0730cea50bb2a16ee9130691cdf616d6e76ae810b14

See more details on using hashes here.

Provenance

The following attestation bundles were made for Instrumental-lib-0.8.tar.gz:

Publisher: pypi.yml on mabuchilab/Instrumental

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file Instrumental_lib-0.8-py3-none-any.whl.

File metadata

  • Download URL: Instrumental_lib-0.8-py3-none-any.whl
  • Upload date:
  • Size: 316.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for Instrumental_lib-0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a2420e7967e19c15fe1a3192806404ba917806319d78f829db4d283015c4ac62
MD5 b0fa0bdba42338a5caf5f10e99b33039
BLAKE2b-256 b51c855f639a7111672ae94e44a560ffcc01e6c354bc47e1e399372d18e040a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for Instrumental_lib-0.8-py3-none-any.whl:

Publisher: pypi.yml on mabuchilab/Instrumental

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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