Skip to main content

Quantinuum's tool for converting HUGR to QIR

Project description

hugr-qir

build_status codecov

A tool for converting Hierarchical Unified Graph Representation (HUGR, pronounced hugger) formatted quantum programs into QIR format.

Warning: Not all hugr/guppy programs can be converted to QIR

Installation

You can install from pypi via pip install hugr-qir.

Usage

Python

Use the function hugr_to_qir from the hugr_to_qir module to convert hugr to qir. By default, some basic validity checks will be run on the generated QIR. These checks can be turned off by passing validate_qir = False.

You can find an example notebook at examples/submit-guppy-h1-h2-via-qir.ipynb showing the conversion and the submission to H1/H2.

CLI

You can use the available cli after installing the python package.

This will generate qir for a given hugr file:

hugr-qir test-file.hugr

Run hugr-qir --help to see the available options.

If you want to generate a hugr file from guppy, you can do this in two steps:

  1. add this to the end of your guppy file:
if __name__ == "__main__":
    sys.stdout.buffer.write(guppy.compile(main).package.to_bytes())
  1. Generate the hugr file with:
python guppy_examples/quantum-classical-1.py > test-guppy.hugr

Development

#️⃣ Setting up the development environment

The easiest way to setup the development environment is to use the provided devenv.nix file. This will setup a development shell with all the required dependencies.

To use this, you will need to install devenv. Once you have it running, open a shell with:

devenv shell

All the required dependencies should be available. You can automate loading the shell by setting up direnv.

Run tests

You can run the rust test with:

cargo test

You can run the Python test with:

pytest

If you want to update the snapshots you can do that via:

pytest --snapshot-update

License

This project is licensed under Apache License, Version 2.0 (LICENSE or http://www.apache.org/licenses/LICENSE-2.0).

Project details


Download files

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

Source Distribution

hugr_qir-0.0.12.tar.gz (227.0 kB view details)

Uploaded Source

Built Distributions

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

hugr_qir-0.0.12-cp310-abi3-win_amd64.whl (29.6 MB view details)

Uploaded CPython 3.10+Windows x86-64

hugr_qir-0.0.12-cp310-abi3-manylinux_2_34_x86_64.whl (34.4 MB view details)

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

hugr_qir-0.0.12-cp310-abi3-macosx_13_0_x86_64.whl (32.5 MB view details)

Uploaded CPython 3.10+macOS 13.0+ x86-64

hugr_qir-0.0.12-cp310-abi3-macosx_13_0_arm64.whl (29.9 MB view details)

Uploaded CPython 3.10+macOS 13.0+ ARM64

File details

Details for the file hugr_qir-0.0.12.tar.gz.

File metadata

  • Download URL: hugr_qir-0.0.12.tar.gz
  • Upload date:
  • Size: 227.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.4

File hashes

Hashes for hugr_qir-0.0.12.tar.gz
Algorithm Hash digest
SHA256 6ffc12dc0ebe467d1bd699091d1b56400b0a1b9ec77e3971675e9cdc813c8c78
MD5 1230cff2389e84b32a82e62364628223
BLAKE2b-256 eabbd496cfed5049509df89c60c7f59e21eea5279bfc6dad455b569cc4f57b94

See more details on using hashes here.

File details

Details for the file hugr_qir-0.0.12-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for hugr_qir-0.0.12-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f867821b08467cb8c671a252efbfafec7a22f2f104a17ceacc065044e1ccccdc
MD5 5daa2360b4e4526d5f94d327ed0e2275
BLAKE2b-256 cdcb10cb179acb33104e81269164fa40d9fe2fae88dcc880b010de47c271a222

See more details on using hashes here.

File details

Details for the file hugr_qir-0.0.12-cp310-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for hugr_qir-0.0.12-cp310-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 684c02b33ede49a85788f74768d89c36e3090e9d28d1d3a1d335230963463ef7
MD5 049403d8fd9e717eff853a0dbdc70fa9
BLAKE2b-256 15950fc546b90b1f84e778fa48699fb449472690148a1dceabf019efe8ed211d

See more details on using hashes here.

File details

Details for the file hugr_qir-0.0.12-cp310-abi3-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for hugr_qir-0.0.12-cp310-abi3-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c33123aeb72295492267223686ee5425a1e615dd739a840aa2afc19acb1e2755
MD5 936c9e2a0aa77b87953e46642bef92e3
BLAKE2b-256 11a02e1e2e389f2e75a0dffe56b2cc30605d32027d08d3f79b6697f455554702

See more details on using hashes here.

File details

Details for the file hugr_qir-0.0.12-cp310-abi3-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for hugr_qir-0.0.12-cp310-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5c6d26f926ed56bf3f8f80182d19c45b3426d33eef74686233458b899fcd3f3a
MD5 d7050bd5c53c1052bb9387edab5b8397
BLAKE2b-256 ebd9d5d201d9605f3d2d93eed1ae0e672e3463d15de88a46154e9b4e6c80c091

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page