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.get_module().compile().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.4.tar.gz (179.7 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.4-cp310-abi3-win_amd64.whl (8.5 MB view details)

Uploaded CPython 3.10+Windows x86-64

hugr_qir-0.0.4-cp310-abi3-manylinux_2_28_x86_64.whl (10.2 MB view details)

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

hugr_qir-0.0.4-cp310-abi3-macosx_13_0_x86_64.whl (9.7 MB view details)

Uploaded CPython 3.10+macOS 13.0+ x86-64

hugr_qir-0.0.4-cp310-abi3-macosx_13_0_arm64.whl (8.9 MB view details)

Uploaded CPython 3.10+macOS 13.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for hugr_qir-0.0.4.tar.gz
Algorithm Hash digest
SHA256 1d5ec55585560515554a7edc93862e0739f46bef833368b11b4ead644e46b3fc
MD5 6d44e220694f26d79911b7f2d231b6e3
BLAKE2b-256 006f6df5373ac3aed05df4315dfe3c3659cb001e960bc6b2f45b7dcc86b8e774

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hugr_qir-0.0.4-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 8.5 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.7

File hashes

Hashes for hugr_qir-0.0.4-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a6c4d1617bd8789dc7344d6890a3b39fb4978873bd06e1dbc7d519709cb718ec
MD5 19a801df7c614362d0b6e0689ffc08fd
BLAKE2b-256 838ed699d03389b292ea1392dbc5c03afbdb0a8a6c6e0c2268118715efe34137

See more details on using hashes here.

File details

Details for the file hugr_qir-0.0.4-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hugr_qir-0.0.4-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 451c43389dbee65df4dce2e6feb44e4c5e94c8f02b5f67208e4c7645b6399c03
MD5 3edd95c278bbe1c714b3607fbf8b3749
BLAKE2b-256 2ec85bd3ab6b932d17a53e2e537f5141d1489eae134bdc32722972297a45af40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hugr_qir-0.0.4-cp310-abi3-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 5f8341f392b81b7037c1c02c7a27dede3e2eb1d5899640aad136bf2e4ccd4f6b
MD5 67bef631c1cf96305a3b504e9891997f
BLAKE2b-256 1ec5647fd86ae3ec91b6dfdaa85cc2842be68c0c671d894323492e5eeacda19e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hugr_qir-0.0.4-cp310-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 bd75c0424c3fee4285a6c3bdd9ec12a4f97d4f6a7eec9f43930c438aad5c597c
MD5 03f05054f7ae5baf4f2d72077de6f748
BLAKE2b-256 1ae43104d494dd0fe5326cc28c6749e4ad1ca5221d63c34c455e0a4805e5dab2

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