Skip to main content
Nominal Instro SDK Logo

An open-source, vendor-agnostic Python library for interfacing with test equipment.

PyPI Downloads Docs SDK Community Discord

Quickstart

from instro.daq.drivers.labjack import LabJackTSeriesDriver
# from instro.daq.drivers.ni import NIDAQDriver
from instro.daq import InstroDAQ
from instro.lib.publishers import FilePublisher

pub = FilePublisher(format="jsonl", directory="/tmp/instro/")

daq = InstroDAQ(
  name       = "myDAQ",
  driver     = LabJackTSeriesDriver(device_id="1234"),
  publishers = [pub],
  #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()  # written to `publishers`
print(pub.file_path.read_text())

Installation

Basic

uv add instro
pip install instro

With Additional Packages

uv add "instro[all]"
pip install "instro[all]"

Available packages:

Instrument Type Package Contents
All all All drivers in this table
DAQ daq All DAQ drivers
nidaq NI DAQ package
mccdaq Measurement Computing (MCC) package
labjack LabJack package
I2C i2c All I2C packages
aardvark TotalPhase Aardvark package
EtherNet ethernetip EtherNet/IP support
Other contrib Community-contributed drivers
unstable Experimental unstable modules

See Installation for more info.

Supported devices

Category Class Vendors
Power Supply InstroPSU B&K Precision (9115, 914X), EA Elektro-Automatik (PSB 10000-series), GW Instek (GPD-3303D), Keysight (E36100-series, N5700-series), Rigol (DP800-series), Siglent (SPD3303), TDK Lambda (Genesys), simulated
Multimeter InstroDMM Agilent 34401A, Keysight 34461A, Keithley 2400, Keithley 2750 (unstable), simulated
Arbitrary Waveform Generator InstroAWG Keysight (33521B), Rigol (DG1022Z)
Electronic Load InstroELoad B&K Precision (85xxB-series), EA Elektro-Automatik (PSB 10000-series), Rigol (DL3000-series)
Oscilloscope InstroScope Keysight (1200X-series), Tektronix (2-series), Siglent (SDS1000X-E)
Flow Controller InstroFlowController Alicat MC-series
DAQ InstroDAQ Keysight 34980A, NI-DAQmx, LabJack T-series, MCC USB-series, DewesoftX (unstable)
I2C I2CInterface Total Phase Aardvark
Modbus ModbusDevice Any Modbus TCP / RTU device
Motor Controller InstroMotorController VESC 6 over CAN via python-can (unstable)
EtherNet/IP EtherNetIPDevice Allen-Bradley / CompactLogix-class PLCs

See Supported devices for more info.

Contributing

To work on instro itself, clone and install with uv:

git clone https://github.com/nominal-io/instro.git
cd instro
uv sync

See Contributing for more info.

License

Apache License 2.0. Third-party dependency notices and proprietary vendor runtime requirements are documented in NOTICE.

Metadata

Release files for instro 1.22.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for instro 1.22.0
File Size Uploaded Provenance
instro-1.22.0.tar.gz 17.9 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for instro 1.22.0
File Interpreter ABI Platform
instro-1.22.0-py3-none-any.whl Python 3 none any Details

Total release size: 18.1 MB

Release files / instro-1.22.0.tar.gz

Download URL instro-1.22.0.tar.gz
Size 17.9 MB
Tags Source
SHA-256 checksum
How to use checksums
800e962df07b697d4339657a5f5e40a63003d0a54d6a0d77b98d060eba7ba5b0
BLAKE2b-256 checksum
How to use checksums
7927d038a25aa81d12c162b8b768bc568bb47a4d8327daec6d14b7ad2e1ce9a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / instro-1.22.0-py3-none-any.whl

Download URL instro-1.22.0-py3-none-any.whl
Size 209.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4a3f8aa411bddfc834893dc88468aa690f28f9830068abdc2bdbf3461c9d2350
BLAKE2b-256 checksum
How to use checksums
162c6235917dfb09e00c68c82a9e6f1833c092a0bf8035a5b609758e6e22cd6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Security for instro 1.22.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for instro-1.22.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.22.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page