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
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.
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 theinstro-ethernetippackage 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-unstableas a separate package.
All
- To install all of the aforementioned packages, use
all.
Using Nominal Connect
If you’re a Nominal Connect user, you don’t need to installinstro 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.
instro data into a Nominal Connect app, attach a NominalConnectPublisher to the instrument.