Skip to main content
instro is published on PyPI. Install it into your project using either uv (recommended) or pip. instro supports Python 3.10 to 3.14.

With uv

Or, if you’re working in an activated virtual environment:

With pip

Additional Packages

instro has additional packages for utilizing vendor instruments that require their own dependencies. This allows you to install only the vendor Python dependencies you need.
This is in reference to Python dependencies. See Driver Dependencies as external installers are required for some instruments.
To install additional packages, add the names of the groups (extras) to your install command. For example:
or with pip:

DAQ

  • To install the LabJack package, use labjack.
  • To install the NI DAQ package, use nidaq.
  • To install the Measurement Computing (MCC) package, use mccdaq. See Driver Dependencies for the required MCC Universal Library install.
  • To install all the aforementioned daq packages, use daq.

I2C

  • To install the TotalPhase Aardvark package, use aardvark.
  • To install all the aforementioned i2c packages, use i2c.

EtherNet/IP

  • To install EtherNet/IP (Allen-Bradley PLC) support, use ethernetip. This pulls in the instro-ethernetip package and its native backend.

Community-contributed drivers

  • To install community-contributed drivers for devices the maintainers can’t verify directly, use contrib.

Unstable modules

  • To install experimental modules, add instro-unstable as a separate package.

All

  • To install all of the aforementioned packages, use all.
Example:

Using Nominal Connect

If you’re a Nominal Connect user, you don’t need to install instro yourself. Just add it to your packages list in your app.connect file, and Nominal Connect will install it into your Python environment automatically. Use any of the additional packages above to pull in more support.
To stream live instro data into a Nominal Connect app, attach a NominalConnectPublisher to the instrument.