> ## 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.

# Installation

> Installing instro

`instro` is published on [PyPI](https://pypi.org/project/instro/). Install it into your project using either `uv` (recommended) or `pip`.

`instro` supports Python 3.10 to 3.14.

## With uv

```bash theme={null}
$ uv add instro
```

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

```bash theme={null}
(.venv) $ uv pip install instro
```

## With pip

```bash theme={null}
(.venv) $ pip install instro
```

## 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.
<Info>This is in reference to Python dependencies. See [Driver Dependencies](/instrumentation/driver-dependencies) as external installers are required for some instruments.</Info>

To install additional packages, add the names of the groups (extras) to your install command. For example:

```bash theme={null}
$ uv add "instro[daq]"
```

or with pip:

```bash theme={null}
(.venv) $ pip install "instro[daq]"
```

### 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](/instrumentation/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:

```bash theme={null}
$ uv add "instro[all]"
```

# 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](#additional-packages) above to pull in more support.

```yaml theme={null}
python:
  packages:
    - instro[daq]
```

To stream live `instro` data into a Nominal Connect app, attach a [`NominalConnectPublisher`](/instrumentation/publishers#nominalconnectpublisher) to the instrument.
