PyQIR Projects at UnitaryHACK
The Azure Quantum team is excited to support and participate in this year’s UnitaryHACK, which takes place June 3 – June 17.
UnitaryHACK, organized by UnitaryFund, is very different from other hackathons in the quantum computing space because contributions support existing quantum computing projects, pay people for their work, and help build critical professional skills like working on open source and quantum computing stack tools.
Azure Quantum is proposing several PyQIR open-source projects that participants can contribute to and earn bounties for successful PRs.
PyQIR is a set of Python/Rust APIs for generating, parsing, and evaluating Quantum Intermediate Representation (QIR). It consists of the following components:
- pyqir-generator [examples]: This package provides a Python API for generating QIR (bitcode and IR). It is intended to easily integrate the QIR toolchain into existing Python-based frontends.
- pyqir-evaluator [examples]: This package provides a straightforward way to execute generated QIR. It contains the necessary just-in-time compilation infrastructure as well as an extensibility mechanism to define what actions to perform when a gate is applied in Python.
- pyqir-parser: This package provides a Python API for loading QIR for basic analysis and transformation.
This repository furthermore contains the qirlib – a Rust library wrapping LLVM libraries for working with QIR that is used by the above Python packages.
The following four PyQIR Issues have open bounties assigned for registered UnitaryHACK participants:
- Upgrade samples to ANTLR 4.10
- pyqir-evaluator should gracefully fail when bitcode contains unknown external functions
- Add mypy to CI
- Migrate to Rust 2021 Edition
If you are interested in participating, please register for UnitaryHACK. Check out the informative guide to learn more about the process and resources available.
We look forward to seeing your contributions to these projects and thank you for helping support the quantum open-source community as a result!