Skip to main content

Quantinuum's tool for converting HUGR to QIR

Project description

hugr-qir

WARNING: this is a beta version, still under development and not all hugr/guppy programs can be converted

build_status codecov

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

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

Uploaded CPython 3.10+Windows x86-64

hugr_qir-0.0.10-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.10-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.10-cp310-abi3-macosx_13_0_arm64.whl (29.8 MB view details)

Uploaded CPython 3.10+macOS 13.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for hugr_qir-0.0.10.tar.gz
Algorithm Hash digest
SHA256 840eca6f13d24e5b7d746a0673979090d755174fe0e097d70843a17c88895f2f
MD5 fd7a20597a439ff9ca0069d667fc4b11
BLAKE2b-256 dc353362032f4b0f1a829ae7041c7370a8da86d2929282ed871159846df8d894

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hugr_qir-0.0.10-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 6942bb05888febc410a777ad33fb8b5cf2745c717fa4543c09598795e4a248e9
MD5 2265e014d91f6203f16eb1ef02e8d427
BLAKE2b-256 9d7e14ad88cc1c3c5da3bbbe195439b5cb1fb55d7cc41792d0b910e9ea9ddb1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hugr_qir-0.0.10-cp310-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ce8a5f1c24b08bc6d69543e6cf48bf22f4bc05b3c6c644b20ebfd3af4f789555
MD5 d0905e0f2eaf9a6423c3413744f381bd
BLAKE2b-256 33cbb14fc784b5a9965702d6eedc0c295fbb0238e552ae7488030bcfbefad430

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hugr_qir-0.0.10-cp310-abi3-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 fa51d9b1107a9b8c54815b2902805e51937bf5403d67f8c9ec48ee1df30bfaf6
MD5 862a560529af9ee2087eb9220eb7a3e9
BLAKE2b-256 c8314a82a9666f418f2996c35e53d7dce49d657b4cfea2de1bfeec8bc8a5354c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hugr_qir-0.0.10-cp310-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 8f02751efe1dfebbb33e6ecf769064e7a2600c01bbe6f897a360ace471e9bec6
MD5 77271dfa5a7289cda728552c6071824e
BLAKE2b-256 0ac60f2e455faf3294a61c6e86969a05df855cc5730b3d1a6b622fe3a570bcb1

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