Skip to main content

QIR-QIS

Crates.io PyPI

A compiler that validates and translates QIR (Quantum Intermediate Representation) to Quantinuum QIS (Quantum Instruction Set). This tool enables quantum programs written in QIR to run on Quantinuum's quantum computing systems.

Features

  • QIR Validation: Validates QIR bitcode for correctness and spec compliance
  • QIS Translation: Compiles QIR to Quantinuum's native QIS instruction set
  • Python & Rust API: Use as a Rust library or Python package
  • CLI Tool: Command-line interface for quick compilation

See qtm-qir-reference.md for details on supported QIR features and their mapping to Quantinuum QIS.

Installation

From Source (Rust)

Requirements:

  • Rust >= 1.91.0
  • LLVM 21
# Point llvm-sys to your LLVM 21 installation
export LLVM_SYS_211_PREFIX=/path/to/llvm21

cargo build --release

The compiled binary will be available at target/release/qir-qis.

Python Package

Requirements:

  • Python >= 3.10, < 3.15
  • uv (recommended) or pip

Available pre-built wheels:

  • Linux: x86_64 (manylinux_2_28), aarch64 (manylinux_2_28)
  • macOS: x86_64, arm64 (Apple Silicon)
  • Windows: x86_64

All wheels support Python 3.10+ using the stable ABI (abi3).

# Using uv (recommended)
uv pip install qir-qis

# Using pip
pip install qir-qis

Usage

Command Line

Compile a QIR LLVM IR file to QIS bitcode:

# Basic usage
qir-qis input.ll

# With custom optimization level
qir-qis -O 3 input.ll

# Specify target architecture
qir-qis -t x86-64 input.ll

# Or using cargo
cargo run -- input.ll

This generates input.qis.bc containing the compiled QIS bitcode.

On Windows, the default mode is conservative: -O 0 -t native. Optimized conversion paths remain temporarily disabled there because the current LLVM 21 integration can crash in those modes.

Python API

See examples/python_api.py for a complete working example.

uv run examples/python_api.py

For a more comprehensive example with quantum simulation, see main.py.

Rust API

See examples/rust_api.rs for a complete working example.

cargo run --example rust_api

Platform Notes

Windows support is functional, but a few LLVM integration paths still differ from Linux and macOS:

  • Optimized conversion currently fails fast on Windows with a clear error instead of entering the known unstable LLVM path.
  • LLVM verifier failures return a generic error on Windows instead of the full verifier message.
  • Native target codegen on Windows uses conservative CPU settings instead of host CPU feature detection.
  • -O0 optimization on Windows is a validation-only fast path and does not rewrite the module triple.

These limitations are implementation details of the current LLVM/Inkwell integration rather than QIR feature differences.

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for:

  • How to report issues and submit pull requests
  • Coding standards and commit message format
  • Development workflow and testing requirements

Development setup, test commands, and LLVM upgrade guidance live in DEVELOPMENT.md. Release notes are available in CHANGELOG.md.

License

Apache-2.0

Copyright Quantinuum

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qir_qis-0.1.9-cp310-abi3-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.10+Windows x86-64

qir_qis-0.1.9-cp310-abi3-manylinux_2_28_x86_64.whl (30.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64

qir_qis-0.1.9-cp310-abi3-manylinux_2_28_aarch64.whl (29.4 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARM64

qir_qis-0.1.9-cp310-abi3-macosx_11_0_arm64.whl (21.0 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

qir_qis-0.1.9-cp310-abi3-macosx_10_9_x86_64.whl (21.9 MB view details)

Uploaded CPython 3.10+macOS 10.9+ x86-64

File details

Details for the file qir_qis-0.1.9-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: qir_qis-0.1.9-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qir_qis-0.1.9-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 317ff2bffb37d6f6d96b1949ccaa7211542d375e00bea0eeae78740b2d678b3d
MD5 2ebeef49f0e2e6b71ee89438ce26d673
BLAKE2b-256 6632457e2f33aa406a3a0a26ca0e41607b8e132e01cffa21d8c9b7a0af50f630

See more details on using hashes here.

Provenance

The following attestation bundles were made for qir_qis-0.1.9-cp310-abi3-win_amd64.whl:

Publisher: wheels-release.yml on Quantinuum/qir-qis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qir_qis-0.1.9-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qir_qis-0.1.9-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 69e4da39d2036acb1bbc9e54d533fa2eae7a48f854a213afb49e188d23d998e5
MD5 e058faf7302f4ba9bb738dc4fdcfcc79
BLAKE2b-256 68ca25433d73272927b9a042e061a3c149080cfee3de694dd89399c31d8fb83d

See more details on using hashes here.

Provenance

The following attestation bundles were made for qir_qis-0.1.9-cp310-abi3-manylinux_2_28_x86_64.whl:

Publisher: wheels-release.yml on Quantinuum/qir-qis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qir_qis-0.1.9-cp310-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for qir_qis-0.1.9-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e4d8547a4c9b51642ef4e46ef5bfae3f0d080cfc22e70af96f94f316c7333b16
MD5 90408ba9944aeb6c66d2f6e92e676e0b
BLAKE2b-256 d53d0b0eaa6e2f37d99b0b8430b3da1488b708b27646406f0de1b1dd7e7b948f

See more details on using hashes here.

Provenance

The following attestation bundles were made for qir_qis-0.1.9-cp310-abi3-manylinux_2_28_aarch64.whl:

Publisher: wheels-release.yml on Quantinuum/qir-qis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qir_qis-0.1.9-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qir_qis-0.1.9-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 729131abc9073ccabd128b320d349d7cc1ce3315ae07d76d441461b49a10c1e0
MD5 b5d7b087e931e552bd4e7550621de0a1
BLAKE2b-256 15f86f4edc0e5873ec0060791ac676ec43a54987a3ce6580e59a91c45ffd9fab

See more details on using hashes here.

Provenance

The following attestation bundles were made for qir_qis-0.1.9-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: wheels-release.yml on Quantinuum/qir-qis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qir_qis-0.1.9-cp310-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for qir_qis-0.1.9-cp310-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e635b95f0976c94215d06be5d3ccef212ce4c3356d9cea29e55592d7e192f328
MD5 5922ecd1065ed4b19bc1fc152fa80e67
BLAKE2b-256 b3f1a16bc21c105b39693d9f1d3efa7463ed4e1a80e62122c24ffacd9388e4a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for qir_qis-0.1.9-cp310-abi3-macosx_10_9_x86_64.whl:

Publisher: wheels-release.yml on Quantinuum/qir-qis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.11

5 files

0.1.10

5 files

This release

0.1.9 This release

5 files

0.1.8

5 files

0.1.7

5 files

0.1.6

5 files

0.1.5

5 files

0.1.4

5 files

0.1.3

5 files

0.1.2

5 files

0.1.1

5 files

0.1.0

4 files

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