⚛️🐍 AutoQASM
AutoQASM provides a Pythonic developer experience for writing quantum programs. The name AutoQASM is derived from the name of the AutoGraph module of TensorFlow. AutoQASM uses AutoGraph to construct quantum assembly (QASM) programs rather than TensorFlow graphs.
AutoQASM provides a natural interface for expressing quantum programs with mid-circuit measurements and classical control flow using native Python language features. It allows the construction of modular programs consisting of common programming constructs such as loops and subroutines. This enables a more imperative programming style than constructing programs via a series of function calls on a circuit object.
Although it is still a work in progress, the intent is that AutoQASM will support any quantum programming paradigm which falls into the OpenQASM 3.0 language scope. AutoQASM supports serializing quantum programs to OpenQASM, which allows the programs to interoperate with any library or service that supports OpenQASM programs, such as Amazon Braket.
Closed bounties:
- $50 | Support integer division with
//
operator
closed by: abidart, daredevil3435 - $50 | Support arithmetic on measurement results
closed by: abidart - $50 | kwargs are not supported when calling an AutoQASM subroutine
closed by: atharva-satpute - $60 | AutoQASM program transpilation should mangle OpenQASM reserved keywords (if they're not Python keywords)
closed by: atharva-satpute - $40 | Automatically determine dimensions for
aq.ArrayVar
declaration
closed by: Yash-10