# QAIRT Version Manager (QAIRT VM)

The `qairt-vm` CLI is the QAIRT Dev environment management tool. It inspects your host, applies recommended fixes to your environment, and fetches compatible QAIRT SDK releases.

`qairt-vm` performs:

- Verification of a QAIRT SDK installation (default platform path or `QAIRT_SDK_ROOT` override).
- Validation of required system libraries and Python dependencies.
- Environment remediation (package installs and environment corrections).
- Discovery and download of compatible SDK versions via `fetch`.

## Why run qairt-vm first?

Importing `qairt` triggers an inspection and may silently apply fixes. Using the CLI first lets you:

- See each check category and result (pass/warn/fail).
- Control if fixes are applied, and approve them interactively.
- Choose or fetch a custom SDK version.

## Quick start

Below captures common `qairt-vm` workflows.

# Inspect (no changes)
    qairt-vm -i -v
    
    # (Optional) List available compatible SDK versions
    qairt-vm fetch -l
    
    # (Optional) Fetch a specific SDK version to a custom directory
    qairt-vm fetch -v 2.39.0 -d /tmp/qairt_sdk
    
    # (Optional) Point QAIRT to custom SDK root (Linux example)
    export QAIRT_SDK_ROOT=/tmp/qairt_sdk/qairt/2.39.0.<build_number>
    
    # Apply fixes interactively (shows prompts)
    qairt-vm -f -v
    
    # Apply all fixes without prompts (CI/automation)
    qairt-vm -f -y -v
    
    # Re-run inspection
    qairt-vm -i
    
    # Programmatic verification
    python -c "import qairt; print(qairt.__dev_version__, qairt.__sdk_version__)"
    Copy to clipboard

## Command reference

### Inspection mode

qairt-vm -i [--verbose]
    Copy to clipboard

Flags:

- `-i` / `--inspect` – Perform inspection only.
- `-v` / `--verbose` – Show detailed diagnostic output.

Outputs include categorized checks:

- SDK presence and version (&lt;default platform paths&gt; or `QAIRT_SDK_ROOT`).
- System prerequisites.
- Python dependency validation.

### Fix mode

qairt-vm -f [-y] [-v]
    Copy to clipboard

Flags:

- `-f` / `--fix` – Apply recommended fixes.
- `-y` / `--yes` – Auto-approve all fixes (skip prompts).
- `-v` / `--verbose` – Verbose logging.

Typical usages:

# Review every proposed change
    qairt-vm -f -v
    
    # CI/automation
    qairt-vm -f -y
    Copy to clipboard

### Fetch and set custom QAIRT SDK

qairt-vm fetch -l
    qairt-vm fetch -v <version> [-d <directory>]
    Copy to clipboard

Flags:

- `-l` / `--list` – List compatible SDK versions (`default`, `latest`, plus explicit tags).
- `-v` / `--version` – Select version: `default` | `latest` | `X.Y.Z`.

> 
> 
> - latest: The latest available compatible QAIRT SDK.
>     - default: The default tested QAIRT SDK for your installed `qairt-dev` version.
- `-d` / `--dir` – Destination directory for downloaded and extracted SDK (optional; platform default if omitted).

> 
> 
> - Default SDK install paths:
> 
> 
> 
> > 
> > 
> > - Windows: `C:\\Qualcomm\\AIStack`
> >         - Linux: `/opt/qcom/aistack`

### Set custom SDK path

If you fetch a non-default QAIRT SDK and/or extracted to a non-default location, set:

export QAIRT_SDK_ROOT=/custom/path/to/qairt/<version_subdir>  # Linux
    set QAIRT_SDK_ROOT=C:\custom\path\to\qairt\<version_subdir>  # Windows
    Copy to clipboard

Re-run inspection to validate the new root.

## Import QAIRT with automatic inspection

import qairt
    Copy to clipboard

Triggers the same inspection and possible auto-fix sequence. This is convenient for rapid experiments, but hides any details. It is recommended to run `qairt-vm` first in new environments.

## Troubleshooting

- Python version mismatch – Use supported `>=3.10,<3.11` and recreate virtual environment.
- Missing SDK – `qairt-vm -f` or `qairt-vm fetch -v default`.
- Torch conversion errors – Reinstall with `[torch,onnx]` extra.
- Permissions issues – Choose a writable custom fetch directory and set `QAIRT_SDK_ROOT`.
- Inconsistent behavior with non-default QAIRT SDK – Re-run `qairt-vm -i -v`; compare using `default` SDK vs, a newer one.
- Error importing `qairt` - Make sure PYTHONPATH or sys.path does not include other versions of QAIRT or conflicting packages.

## Best practices

- Run `qairt-vm -i` after upgrading `qairt-dev`.
- Pin the default QAIRT SDK version in CI or automation via `qairt-vm fetch -v <X.Y.Z>` and set `QAIRT_SDK_ROOT` for reproducibility.
- Capture verbose inspection output in support tickets.

Last Published: May 26, 2026

[Previous Topic
Setup](https://docs.qualcomm.com/bundle/publicresource/80-87189-2/topics/setup.md) [Next Topic
Prerequisites](https://docs.qualcomm.com/bundle/publicresource/80-87189-2/topics/setup.md)