# instro

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

Supported Instruments

[Instruments](https://dev.nominal.io/instro/instruments.md)

Quickstart

[Quickstart](https://dev.nominal.io/instro/quickstart.md)

Installation

[Installation](https://dev.nominal.io/instro/installation.md)

Examples

[Examples](https://dev.nominal.io/instro/examples.md)
