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.11.tar.gz (223.3 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.11-cp310-abi3-win_amd64.whl (29.6 MB view details)

Uploaded CPython 3.10+Windows x86-64

hugr_qir-0.0.11-cp310-abi3-manylinux_2_34_x86_64.whl (34.2 MB view details)

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

hugr_qir-0.0.11-cp310-abi3-macosx_13_0_x86_64.whl (32.6 MB view details)

Uploaded CPython 3.10+macOS 13.0+ x86-64

hugr_qir-0.0.11-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.11.tar.gz.

File metadata

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

File hashes

Hashes for hugr_qir-0.0.11.tar.gz
Algorithm Hash digest
SHA256 85403af6da61844835033a07d232f90192a049f0bc90ccfa607d36ea5814a343
MD5 5730cbcc4d5919edeaba33f33d860543
BLAKE2b-256 c5a99d7e15b5b7fd993c6382204e2efa8389813a33737abc2a51630c4eb73304

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hugr_qir-0.0.11-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 624de8257d0d2eca3d0f6239ead262f69c04653de4ea857cddc179c7dd062899
MD5 6a2f297331d09bb7092ae3657f43fa8d
BLAKE2b-256 228e7010440b4ae6cd0717c0c35f226c96c5c96a37bb3f5ec6c787bae084c2f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hugr_qir-0.0.11-cp310-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 73a4306909ad96fea13c769fb14048ad0b5bcbeb3ed3c96747e27451143d52cb
MD5 169c7a25fa80e8e0ce5ea0d68545a698
BLAKE2b-256 706cc22bbe14ddb3a407a970f461b2806fc6044810fe85bff098c973a50da230

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hugr_qir-0.0.11-cp310-abi3-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 805b335e5e3d1f0a99c8706a8b396678b854a09339d0e2ec299ed76ded8bf3c6
MD5 70ebe7e00b88f3146e26433635a6a7ea
BLAKE2b-256 0df779ec13cd3acbca69c6f8baf96937b8b8b507308710c74ed4a2604cb58037

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hugr_qir-0.0.11-cp310-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 58800eb3a4e4c94a3b8dcf3bd8b6e9e3ca042dc58555da9d3ee655bf6676bcf6
MD5 7f285db8592388f097b544569aa7b88e
BLAKE2b-256 09394c2ed1f40255c6bc6f4bc6cfc7477b3845aaed341de8cff597fa880df511

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