> ## Documentation Index
> Fetch the complete documentation index at: https://instro.nominal.io/llms.txt
> Use this file to discover all available pages before exploring further.

# instro

> An open-source Python library for interfacing with hardware test equipment

`instro` is an [open-source](https://github.com/nominal-io/instro) Python library for scripting and automating test equipment (power supplies, multimeters, electronic loads, DAQs, and more) from one unified, typed API. Code against an instrument category once, then swap vendors with a single configuration change. When you want to capture the data, attach a publisher to stream it to a file, [Nominal](https://nominal.io), or a destination of your own.

## Start here

<Columns cols={2}>
  <Card title="Quickstart" icon="rocket" href="/instrumentation/quickstart">
    Drive a simulated power supply end-to-end in about five minutes. No hardware required.
  </Card>

  <Card title="Overview" icon="compass" href="/instrumentation/overview">
    Understand the architecture, key concepts, and design philosophy.
  </Card>

  <Card title="Installation" icon="download" href="/instrumentation/installation">
    Install from PyPI with `pip` or `uv`, plus the optional vendor extras you need.
  </Card>

  <Card title="Examples" icon="file-code" href="/instrumentation/examples">
    Browse runnable examples for every instrument category.
  </Card>
</Columns>

## Supported instruments

<Columns cols={2}>
  <Card title="Power supplies" icon="bolt" href="/instrumentation/psu">
    `InstroPSU`: B\&K Precision, Keysight, Rigol, Siglent, and TDK Lambda.
  </Card>

  <Card title="Electronic loads" icon="plug" href="/instrumentation/eload">
    `InstroELoad`: B\&K Precision 85xx series via SCPI/VISA.
  </Card>

  <Card title="Digital multimeters" icon="gauge" href="/instrumentation/dmm">
    `InstroDMM`: Agilent/HP/Keysight 34401A, Keithley 2400, and more.
  </Card>

  <Card title="Oscilloscopes" icon="wave-square" href="/instrumentation/oscilloscope">
    `InstroScope`: Keysight 1200X, Tektronix 2-series, and Siglent SDS1000X-E.
  </Card>

  <Card title="Data acquisition" icon="chart-line" href="/instrumentation/daq">
    `InstroDAQ`: National Instruments, LabJack T-Series, Keysight 34980A.
  </Card>

  <Card title="I2C" icon="microchip" href="/instrumentation/protocols/i2c/overview">
    `I2CInterface`: Total Phase Aardvark with declarative system definitions.
  </Card>

  <Card title="Modbus" icon="network-wired" href="/instrumentation/protocols/modbus">
    `ModbusDevice`: any Modbus TCP or RTU device.
  </Card>

  <Card title="EtherNet/IP" icon="network-wired" href="/instrumentation/protocols/ethernetip">
    `EtherNetIPDevice`: Allen-Bradley and CompactLogix-class PLCs.
  </Card>

  <Card title="Custom instruments" icon="code" href="/instrumentation/library">
    Build a new instrument type or vendor driver against `Instrument`.
  </Card>
</Columns>

## Publishing data

<Card title="Publishers" icon="rocket" href="/instrumentation/publishers">
  Stream measurements to Nominal Core, Nominal Connect, or a local file with a single line of configuration.
</Card>
