--- myst: html_meta: description: "An open-source, vendor-agnostic Python library for interfacing with test equipment." --- # instro {.lead} An open-source, vendor-agnostic Python library for interfacing with test equipment. ```python from instro.daq.drivers.labjack import LabJackTSeriesDriver # from instro.daq.drivers.ni import NIDAQDriver from instro.daq import InstroDAQ daq = InstroDAQ( name = "myDAQ", driver = LabJackTSeriesDriver(device_id="1234") #driver = NIDAQDriver(device_id="Dev1") # swap drivers, same code ) daq.open() daq.configure_voltage_input( physical_channel="AIN0", alias="ch_0", range_min=0, range_max=5 ) measurement = daq.read_analog() ``` ## Purpose The python ecosystem for test and measurement is fragmented and redundant. `instro` is an [open-source](https://github.com/nominal-io/instro) Python library for interacting with test equipment from one unified, typed API. It provides virtual instruments that are **vendor-agnostic**. Instro instruments use `Publishers` to automatically stream data to a file, [Nominal](https://nominal.io), or a destination of your own.
## Let's go ::::{grid} 1 1 2 2 :gutter: 2 :::{grid-item-card} {octicon}`cpu` Supported Instruments :link: /instruments :link-type: doc ::: :::{grid-item-card} {octicon}`rocket` Quickstart :link: /quickstart :link-type: doc ::: :::{grid-item-card} {octicon}`download` Installation :link: /installation :link-type: doc ::: :::{grid-item-card} {octicon}`code` Examples :link: /examples/index :link-type: doc ::: :::: ```{toctree} :hidden: :caption: Overview Overview quickstart installation cli ``` ```{toctree} :hidden: :caption: Instruments instruments scope psu dmm daq awg eload flowcontroller sdr ``` ```{toctree} :hidden: :caption: Library library/concepts library/library library/publishers library/protocols/overview library/transports/overview library/config-files library/simulated-instruments library/custom-instruments library/contrib library/exceptions ``` ```{toctree} :hidden: :caption: Examples :glob: examples/index examples/*/index ``` ```{toctree} :hidden: :caption: Additional packages :glob: examples/packages/*/index ``` ```{toctree} :hidden: :caption: SDK Overview ``` ```{toctree} :hidden: :caption: Instruments sdk/instruments/index sdk/instruments/daq sdk/instruments/dmm sdk/instruments/psu sdk/instruments/eload sdk/instruments/scope sdk/instruments/flowcontroller sdk/instruments/i2c sdk/instruments/awg sdk/instruments/sdr ``` ```{toctree} :hidden: :caption: Library sdk/library/instrument sdk/library/types sdk/library/config sdk/library/registry sdk/library/exceptions sdk/library/publishers sdk/library/discover sdk/library/transports ``` ```{toctree} :hidden: :caption: Protocols sdk/protocols/index sdk/protocols/modbus sdk/protocols/ethernetip ``` ```{toctree} :hidden: :caption: Changelog sdk/changelog ```