# pyqasm
<img align="right" width="100" src="https://qbraid-static.s3.amazonaws.com/pyqasm.svg"/>
[](https://github.com/qBraid/pyqasm/actions/workflows/main.yml)
[](https://codecov.io/gh/qBraid/pyqasm)
[](https://sdk.qbraid.com/pyqasm/)
[](https://pypi.org/project/pyqasm/)
[](https://pepy.tech/projects/pyqasm)
[](https://pypi.org/project/pyqasm/)
[](https://www.apache.org/licenses/LICENSE-2.0)
Python toolkit providing an OpenQASM 3 semantic analyzer and utilities for program analysis and compilation.
[](http://account.qbraid.com?gitHubUrl=https://github.com/qBraid/pyqasm.git&envId=pyqasm_l9qauu)
## Motivation
[OpenQASM](https://openqasm.com/) is a powerful language for expressing hybrid quantum-classical programs, but it lacks a comprehensive tool supporting the _full capabilities of the language_. PyQASM aims to fill this gap by building upon the [`openqasm3.parser`](https://github.com/openqasm/openqasm/blob/ast-py/v1.0.1/source/openqasm/openqasm3/parser.py), and providing support for semantic analysis and utilities for program compilation.
## Installation
PyQASM requires Python 3.10 or greater, and can be installed with pip as follows:
```bash
pip install pyqasm
```
### Optional Dependencies
PyQASM offers optional extras such as -
1. `cli` : command-line interface (CLI) functionality
2. `visualization`: for program visualization
3. `pulse` : pulse/calibration features (in progress)
To install these features along with the core package, you can use the following command:
```bash
pip install 'pyqasm[cli,pulse,visualization]'
```
You can also install them individually. For example, to install the CLI features only, you can run:
```bash
pip install 'pyqasm[cli]'
```
### Install from source
You can also install from source by cloning this repository and running a pip install command
in the root directory of the repository:
```bash
git clone https://github.com/qBraid/pyqasm.git
cd pyqasm
pip install .
```
## Check version
You can view the version of pyqasm you have installed within a Python shell as follows:
```python
>>> import pyqasm
>>> pyqasm.__version__
```
## Key Features: Unroll & Validate OpenQASM 3 Programs
PyQASM offers robust support for the **extensive grammar of OpenQASM 3**, including custom gates, subroutines, loops, conditionals, classical control, and more. Its core utilities allow you to **validate** programs for semantic correctness and **unroll** (flatten) all high-level constructs into a linear sequence of basic quantum operations, ready for execution or further compilation.
### Highlights
- **[Comprehensive Grammar Support](src/README.md)**: PyQASM supports the full breadth of OpenQASM 3 operations, and backward compatibility with OpenQASM 2, including:
- Classical and quantum registers
- Loops (`for`, `while`)
- Conditionals (`if`, `else`)
- Parameterized and custom gates
- Subroutine inlining
- Switch statements
- Classical expressions and assignments
- Variables and arrays
- Type casting and conversions
- Built-in and user-defined constants
- Quantum-classical interaction (`measurement`, `reset`, etc.)
- Inclusion of standard libraries (`stdgates.inc`, etc.)
- **[Unrolling](https://docs.qbraid.com/pyqasm/user-guide/examples#inlining-%26-unrolling):**
Expands all custom gates, loops, subroutines, branches, etc. into a flat, hardware-ready sequence of instructions.
- **[Validation](https://docs.qbraid.com/pyqasm/user-guide/overview#the-qasmmodule-object):**
Performs semantic analysis to ensure programs are correct and conform to the OpenQASM 3 specification.
---
### Example: Unroll and Validate a Complex QASM Program
Below is an example demonstrating PyQASM's efficacy on a non-trivial OpenQASM 3 program. This program uses custom gates, loops, and classical control, and is fully unrolled and validated by PyQASM:
```python
from pyqasm import loads, dumps
qasm = """
OPENQASM 3;
include "stdgates.inc";
gate h2 a, b { h a; h b; }
def parity_flip(qubit[4] q) {
for int i in [0:3] {
if (i % 2 == 0) {
x q[i];
}
}
}
qubit[4] q;
bit[4] c;
h2 q[0], q[1];
parity_flip(q);
for int i in [0:3] {
measure q[i] -> c[i];
}
"""
module = loads(qasm) # Parse and build the program
module.validate() # Check for semantic errors
module.unroll() # Flatten all gates, loops, and subroutines
print(dumps(module)) # Output the fully unrolled QASM
```
**Output (fully unrolled QASM):**
```qasm
OPENQASM 3.0;
include "stdgates.inc";
qubit[4] q;
bit[4] c;
h q[0];
h q[1];
x q[0];
x q[2];
c[0] = measure q[0];
c[1] = measure q[1];
c[2] = measure q[2];
c[3] = measure q[3];
```
PyQASM ensures your OpenQASM programs are **semantically correct** and **hardware-ready**, supporting the language's most advanced features with ease.
## Resources
- [API Reference](https://qbraid.github.io/pyqasm/api/pyqasm.html): Developer documentation.
- [Usage Examples](examples): Scripts and Markdown examples demonstrating core functionality.
- [Supported Operations](pyqasm/README.md#supported-operations): OpenQASM language features supported, in progress, and planned for future support.
- [Gate Decompositions](docs/gate_decompositions.md): Detailed decomposition diagrams and explanations for quantum gates.
## Contributing
[](https://github.com/qBraid/pyqasm/issues)
[](https://quantumcomputing.stackexchange.com/questions/tagged/pyqasm)
[](https://discord.gg/TPBU2sa8Et)
- Interested in contributing code, or making a PR? See
[CONTRIBUTING.md](CONTRIBUTING.md)
- For feature requests and bug reports:
[Submit an issue](https://github.com/qBraid/pyqasm/issues)
- For discussions, and specific questions about pyqasm, or
other topics, [join our discord community](https://discord.gg/TPBU2sa8Et)
- For questions that are more suited for a forum, post to
[QCSE](https://quantumcomputing.stackexchange.com/)
with the [`pyqasm`](https://quantumcomputing.stackexchange.com/questions/tagged/pyqasm) tag.
- By participating, you are expected to uphold our [code of conduct](CODE_OF_CONDUCT).
## License
[Apache-2.0 License](LICENSE)
Raw data
{
"_id": null,
"home_page": null,
"name": "pyqasm",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "quantum, openqasm, symantic-analyzer, compiler, qbraid",
"author": "qBraid Development Team",
"author_email": "contact@qbraid.com",
"download_url": "https://files.pythonhosted.org/packages/cb/f5/12402c14b6e9cc531173ccb18e5e0e896db9eda7552b01f608fac54c9b1b/pyqasm-1.0.0.tar.gz",
"platform": null,
"description": "# pyqasm\n\n<img align=\"right\" width=\"100\" src=\"https://qbraid-static.s3.amazonaws.com/pyqasm.svg\"/>\n\n[](https://github.com/qBraid/pyqasm/actions/workflows/main.yml)\n[](https://codecov.io/gh/qBraid/pyqasm)\n[](https://sdk.qbraid.com/pyqasm/)\n[](https://pypi.org/project/pyqasm/)\n[](https://pepy.tech/projects/pyqasm)\n[](https://pypi.org/project/pyqasm/)\n[](https://www.apache.org/licenses/LICENSE-2.0)\n\nPython toolkit providing an OpenQASM 3 semantic analyzer and utilities for program analysis and compilation.\n\n[](http://account.qbraid.com?gitHubUrl=https://github.com/qBraid/pyqasm.git&envId=pyqasm_l9qauu)\n\n## Motivation\n[OpenQASM](https://openqasm.com/) is a powerful language for expressing hybrid quantum-classical programs, but it lacks a comprehensive tool supporting the _full capabilities of the language_. PyQASM aims to fill this gap by building upon the [`openqasm3.parser`](https://github.com/openqasm/openqasm/blob/ast-py/v1.0.1/source/openqasm/openqasm3/parser.py), and providing support for semantic analysis and utilities for program compilation.\n\n## Installation\n\nPyQASM requires Python 3.10 or greater, and can be installed with pip as follows:\n\n```bash\npip install pyqasm\n```\n\n### Optional Dependencies\nPyQASM offers optional extras such as - \n1. `cli` : command-line interface (CLI) functionality\n2. `visualization`: for program visualization \n3. `pulse` : pulse/calibration features (in progress)\n\nTo install these features along with the core package, you can use the following command:\n```bash\npip install 'pyqasm[cli,pulse,visualization]'\n```\n\nYou can also install them individually. For example, to install the CLI features only, you can run:\n```bash\npip install 'pyqasm[cli]' \n```\n\n\n### Install from source \n\nYou can also install from source by cloning this repository and running a pip install command\nin the root directory of the repository:\n\n```bash\ngit clone https://github.com/qBraid/pyqasm.git\ncd pyqasm\npip install .\n```\n\n## Check version\n\nYou can view the version of pyqasm you have installed within a Python shell as follows:\n\n```python\n>>> import pyqasm\n>>> pyqasm.__version__\n```\n\n## Key Features: Unroll & Validate OpenQASM 3 Programs\n\nPyQASM offers robust support for the **extensive grammar of OpenQASM 3**, including custom gates, subroutines, loops, conditionals, classical control, and more. Its core utilities allow you to **validate** programs for semantic correctness and **unroll** (flatten) all high-level constructs into a linear sequence of basic quantum operations, ready for execution or further compilation.\n\n### Highlights\n\n- **[Comprehensive Grammar Support](src/README.md)**: PyQASM supports the full breadth of OpenQASM 3 operations, and backward compatibility with OpenQASM 2, including:\n - Classical and quantum registers\n - Loops (`for`, `while`)\n - Conditionals (`if`, `else`)\n - Parameterized and custom gates\n - Subroutine inlining\n - Switch statements\n - Classical expressions and assignments\n - Variables and arrays\n - Type casting and conversions\n - Built-in and user-defined constants\n - Quantum-classical interaction (`measurement`, `reset`, etc.)\n - Inclusion of standard libraries (`stdgates.inc`, etc.)\n\n- **[Unrolling](https://docs.qbraid.com/pyqasm/user-guide/examples#inlining-%26-unrolling):** \n Expands all custom gates, loops, subroutines, branches, etc. into a flat, hardware-ready sequence of instructions.\n\n- **[Validation](https://docs.qbraid.com/pyqasm/user-guide/overview#the-qasmmodule-object):** \n Performs semantic analysis to ensure programs are correct and conform to the OpenQASM 3 specification.\n\n---\n\n### Example: Unroll and Validate a Complex QASM Program\n\nBelow is an example demonstrating PyQASM's efficacy on a non-trivial OpenQASM 3 program. This program uses custom gates, loops, and classical control, and is fully unrolled and validated by PyQASM:\n\n```python\nfrom pyqasm import loads, dumps\n\nqasm = \"\"\"\nOPENQASM 3;\ninclude \"stdgates.inc\";\n\ngate h2 a, b { h a; h b; }\ndef parity_flip(qubit[4] q) {\n for int i in [0:3] {\n if (i % 2 == 0) {\n x q[i];\n }\n }\n}\n\nqubit[4] q;\nbit[4] c;\n\nh2 q[0], q[1];\nparity_flip(q);\n\nfor int i in [0:3] {\n measure q[i] -> c[i];\n}\n\"\"\"\n\nmodule = loads(qasm) # Parse and build the program\nmodule.validate() # Check for semantic errors\nmodule.unroll() # Flatten all gates, loops, and subroutines\n\nprint(dumps(module)) # Output the fully unrolled QASM\n```\n\n**Output (fully unrolled QASM):**\n```qasm\nOPENQASM 3.0;\ninclude \"stdgates.inc\";\nqubit[4] q;\nbit[4] c;\nh q[0];\nh q[1];\nx q[0];\nx q[2];\nc[0] = measure q[0];\nc[1] = measure q[1];\nc[2] = measure q[2];\nc[3] = measure q[3];\n```\n\nPyQASM ensures your OpenQASM programs are **semantically correct** and **hardware-ready**, supporting the language's most advanced features with ease.\n## Resources\n\n- [API Reference](https://qbraid.github.io/pyqasm/api/pyqasm.html): Developer documentation.\n- [Usage Examples](examples): Scripts and Markdown examples demonstrating core functionality.\n- [Supported Operations](pyqasm/README.md#supported-operations): OpenQASM language features supported, in progress, and planned for future support.\n- [Gate Decompositions](docs/gate_decompositions.md): Detailed decomposition diagrams and explanations for quantum gates.\n\n## Contributing\n\n[](https://github.com/qBraid/pyqasm/issues)\n[](https://quantumcomputing.stackexchange.com/questions/tagged/pyqasm)\n[](https://discord.gg/TPBU2sa8Et)\n\n- Interested in contributing code, or making a PR? See\n [CONTRIBUTING.md](CONTRIBUTING.md)\n- For feature requests and bug reports:\n [Submit an issue](https://github.com/qBraid/pyqasm/issues)\n- For discussions, and specific questions about pyqasm, or\n other topics, [join our discord community](https://discord.gg/TPBU2sa8Et)\n- For questions that are more suited for a forum, post to\n [QCSE](https://quantumcomputing.stackexchange.com/)\n with the [`pyqasm`](https://quantumcomputing.stackexchange.com/questions/tagged/pyqasm) tag.\n- By participating, you are expected to uphold our [code of conduct](CODE_OF_CONDUCT).\n\n## License\n\n[Apache-2.0 License](LICENSE)\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "Python toolkit providing an OpenQASM 3 semantic analyzer and utilities for program analysis and compilation.",
"version": "1.0.0",
"project_urls": {
"Bug Tracker": "https://github.com/qBraid/pyqasm/issues",
"Source Code": "https://github.com/qBraid/pyqasm"
},
"split_keywords": [
"quantum",
" openqasm",
" symantic-analyzer",
" compiler",
" qbraid"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f210ab0caf05eedde192f9f3e397fce4eeb8a331fb6317ec64123a14f6b1b398",
"md5": "c944662b5a13dc1444d9d60a6a3df980",
"sha256": "ddd590f421f252b054558780ac31ef122a6672231d386d7d600cba2f57fbf740"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "c944662b5a13dc1444d9d60a6a3df980",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 224114,
"upload_time": "2025-09-19T06:33:33",
"upload_time_iso_8601": "2025-09-19T06:33:33.207528Z",
"url": "https://files.pythonhosted.org/packages/f2/10/ab0caf05eedde192f9f3e397fce4eeb8a331fb6317ec64123a14f6b1b398/pyqasm-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ec005851d2df58fc6c305e00f3ea21142438dbc46a8b76d8731e1d568cb09d66",
"md5": "559da397267871ce29a8a2e2be7f4a00",
"sha256": "dc2e749d30e510eca19e49941c020f310c4c25593dac8dab701ff641867bb419"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "559da397267871ce29a8a2e2be7f4a00",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 216780,
"upload_time": "2025-09-19T06:33:34",
"upload_time_iso_8601": "2025-09-19T06:33:34.980904Z",
"url": "https://files.pythonhosted.org/packages/ec/00/5851d2df58fc6c305e00f3ea21142438dbc46a8b76d8731e1d568cb09d66/pyqasm-1.0.0-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "72d4a63a7b13121dbbffb5acfa4e0371fff765482e7af62f318ede098cc98414",
"md5": "324e1fbb5ffa584b48746ebf0a7fa585",
"sha256": "3de1f9f9456cff473d42b2e7f0300e45acf19feec82def0a6b75735260ce1487"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "324e1fbb5ffa584b48746ebf0a7fa585",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 711831,
"upload_time": "2025-09-19T06:33:36",
"upload_time_iso_8601": "2025-09-19T06:33:36.123943Z",
"url": "https://files.pythonhosted.org/packages/72/d4/a63a7b13121dbbffb5acfa4e0371fff765482e7af62f318ede098cc98414/pyqasm-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "69e2a5bb0404ec61ef5b1cae657038a752d4fe6c394dfa477433271c891a57c6",
"md5": "e87ac22a94f78e9cb0e6335bfc802359",
"sha256": "2851a77d117c671966ed5e0c4ccaa195df83909de9bb0b937c3a4af8d78da17d"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "e87ac22a94f78e9cb0e6335bfc802359",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 210328,
"upload_time": "2025-09-19T06:33:37",
"upload_time_iso_8601": "2025-09-19T06:33:37.576459Z",
"url": "https://files.pythonhosted.org/packages/69/e2/a5bb0404ec61ef5b1cae657038a752d4fe6c394dfa477433271c891a57c6/pyqasm-1.0.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6771a42987a114312edca9a717e19d410b28cc1a5c467c7b18b6ec9af2a020f1",
"md5": "d73160761d8fbb6499de2c75a209cbe4",
"sha256": "a76a56da5b85b3db1bdd58f51c30bf83b44d7458802986d0ddf615fbc7537ad4"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "d73160761d8fbb6499de2c75a209cbe4",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 223526,
"upload_time": "2025-09-19T06:33:39",
"upload_time_iso_8601": "2025-09-19T06:33:39.234119Z",
"url": "https://files.pythonhosted.org/packages/67/71/a42987a114312edca9a717e19d410b28cc1a5c467c7b18b6ec9af2a020f1/pyqasm-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "de8d68ca37cf682a623dfbbe03c0be3823fef20ec503835a4ab6f9260213ce05",
"md5": "50d86e420a7315d3383713bf60d6d331",
"sha256": "ac9084d4b8256e467f6e6247f47ad28ba92a186108335e6c9bf1c4d2b502d98e"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "50d86e420a7315d3383713bf60d6d331",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 216379,
"upload_time": "2025-09-19T06:33:41",
"upload_time_iso_8601": "2025-09-19T06:33:41.398875Z",
"url": "https://files.pythonhosted.org/packages/de/8d/68ca37cf682a623dfbbe03c0be3823fef20ec503835a4ab6f9260213ce05/pyqasm-1.0.0-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8819a03cd3dc4b072d68840ea20006f413d90eafe333e0c3d31d8e2affaa5929",
"md5": "c38b81e41ee257c5ee7f7169a606419f",
"sha256": "9e6bccda45b42c4172073502f55f470ded617cbdf00c153783468bd7c03bb236"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "c38b81e41ee257c5ee7f7169a606419f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 754060,
"upload_time": "2025-09-19T06:33:42",
"upload_time_iso_8601": "2025-09-19T06:33:42.653223Z",
"url": "https://files.pythonhosted.org/packages/88/19/a03cd3dc4b072d68840ea20006f413d90eafe333e0c3d31d8e2affaa5929/pyqasm-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d3ea2beafcc52390ef5732d54a916f819784ac78b563f0eb8d2667582eabb1a3",
"md5": "51b1a26e74e6c7c88a0ecc7e5dbf8a2a",
"sha256": "141c96afffd70b67ecce574c639e079f9610dc0e45b94323a96f540f3893a723"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "51b1a26e74e6c7c88a0ecc7e5dbf8a2a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 210441,
"upload_time": "2025-09-19T06:33:44",
"upload_time_iso_8601": "2025-09-19T06:33:44.416443Z",
"url": "https://files.pythonhosted.org/packages/d3/ea/2beafcc52390ef5732d54a916f819784ac78b563f0eb8d2667582eabb1a3/pyqasm-1.0.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fd668176191e55a00d74efe8783addec00b6cf83ce4f24fd8217ae37027f5f02",
"md5": "63df69ec14bc7df1115d50d80d335016",
"sha256": "c9eb3be5e14544c59ff45ae3177bf82fc3f6063990f456ff919ada9a18fc33dc"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "63df69ec14bc7df1115d50d80d335016",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 223440,
"upload_time": "2025-09-19T06:33:45",
"upload_time_iso_8601": "2025-09-19T06:33:45.537618Z",
"url": "https://files.pythonhosted.org/packages/fd/66/8176191e55a00d74efe8783addec00b6cf83ce4f24fd8217ae37027f5f02/pyqasm-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ae2e39146eef26bebd643e2fc80d718fee347dc9438a56267c4ecc198a28d67e",
"md5": "5424d13acd99be13fcf3964258173c4f",
"sha256": "64233fbc56cb33faaacffd219acd5b5e49c9af6271d861d981b1db7a11cd4b71"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "5424d13acd99be13fcf3964258173c4f",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 216277,
"upload_time": "2025-09-19T06:33:46",
"upload_time_iso_8601": "2025-09-19T06:33:46.903640Z",
"url": "https://files.pythonhosted.org/packages/ae/2e/39146eef26bebd643e2fc80d718fee347dc9438a56267c4ecc198a28d67e/pyqasm-1.0.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1fefa58dad2483a2a0773eff0c2b447f93c1e335eea328dbc5ab2158cb361ef2",
"md5": "7395f789e832d4f61acee64e58b874f4",
"sha256": "9cef622c53cf712f8f3c999fc0e3a7edf005c17522617dbde080f9dc850102ac"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "7395f789e832d4f61acee64e58b874f4",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 733164,
"upload_time": "2025-09-19T06:33:48",
"upload_time_iso_8601": "2025-09-19T06:33:48.469200Z",
"url": "https://files.pythonhosted.org/packages/1f/ef/a58dad2483a2a0773eff0c2b447f93c1e335eea328dbc5ab2158cb361ef2/pyqasm-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a983b5774ca87fdb67c8d6c7b52c6f771a59073a5752bce88b03cd3d0882d0ee",
"md5": "38bd357da1074e6c9513e858bd6396c8",
"sha256": "84deef930bd00daba8bd98301f3004e77d3157718bd3fda6c3bd235d0cbc6e9d"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "38bd357da1074e6c9513e858bd6396c8",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 211028,
"upload_time": "2025-09-19T06:33:49",
"upload_time_iso_8601": "2025-09-19T06:33:49.445694Z",
"url": "https://files.pythonhosted.org/packages/a9/83/b5774ca87fdb67c8d6c7b52c6f771a59073a5752bce88b03cd3d0882d0ee/pyqasm-1.0.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6d7ecf5d9fb9c749bfe6cc4b2ddf0e6a34266db278da8aad9231784a06313c8f",
"md5": "b8e93ced14c2b38ac736b6cf2b75cb1d",
"sha256": "6a2047a312980256320b285e9a43176dbf3037a7e384989fb90df823e315273a"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp313-cp313-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "b8e93ced14c2b38ac736b6cf2b75cb1d",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 222336,
"upload_time": "2025-09-19T06:33:50",
"upload_time_iso_8601": "2025-09-19T06:33:50.497324Z",
"url": "https://files.pythonhosted.org/packages/6d/7e/cf5d9fb9c749bfe6cc4b2ddf0e6a34266db278da8aad9231784a06313c8f/pyqasm-1.0.0-cp313-cp313-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "121fea089318475689c4a28c7bdbfeaeb33cb8c7aaeddc07404aebe47d93eceb",
"md5": "7edb44ae6ac373c5851b9b2e3a21cc15",
"sha256": "6eeae5e474dff121fb641a68ece38b115b04719a08091bb89913df880c5c97c2"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "7edb44ae6ac373c5851b9b2e3a21cc15",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 215377,
"upload_time": "2025-09-19T06:33:51",
"upload_time_iso_8601": "2025-09-19T06:33:51.930190Z",
"url": "https://files.pythonhosted.org/packages/12/1f/ea089318475689c4a28c7bdbfeaeb33cb8c7aaeddc07404aebe47d93eceb/pyqasm-1.0.0-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ddf49e623e5afc49cde1815dd8b9fabdccb0374026fd5303f5d8fa55cf32e609",
"md5": "b01ff659c2cc8cf2159f3a321a399999",
"sha256": "71a49965e58a51c7cdd72bc48ed168c9eb04ac8a755b46b29fbb8e72c4c9e70e"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "b01ff659c2cc8cf2159f3a321a399999",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 729854,
"upload_time": "2025-09-19T06:33:53",
"upload_time_iso_8601": "2025-09-19T06:33:53.138653Z",
"url": "https://files.pythonhosted.org/packages/dd/f4/9e623e5afc49cde1815dd8b9fabdccb0374026fd5303f5d8fa55cf32e609/pyqasm-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2893d0891f1f12d11192ada4ff4c639a395c9d6c5bc0ec730741e9ebf239e028",
"md5": "9cba4e724b4215cff183b565a6693860",
"sha256": "e3bdcd5ac943effeefd4d9aa636b4f496cb46ab353cd4540c00d5323eaebe514"
},
"downloads": -1,
"filename": "pyqasm-1.0.0-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "9cba4e724b4215cff183b565a6693860",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 210816,
"upload_time": "2025-09-19T06:33:54",
"upload_time_iso_8601": "2025-09-19T06:33:54.202874Z",
"url": "https://files.pythonhosted.org/packages/28/93/d0891f1f12d11192ada4ff4c639a395c9d6c5bc0ec730741e9ebf239e028/pyqasm-1.0.0-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cbf512402c14b6e9cc531173ccb18e5e0e896db9eda7552b01f608fac54c9b1b",
"md5": "2e5c0b9ed2cb9bd4342214ab1031d8d7",
"sha256": "5b7fb7e36496099797d7016b91ee073e9cdd4792a93c65c5ccb370a0cd5b7042"
},
"downloads": -1,
"filename": "pyqasm-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "2e5c0b9ed2cb9bd4342214ab1031d8d7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 107451,
"upload_time": "2025-09-19T06:33:55",
"upload_time_iso_8601": "2025-09-19T06:33:55.944519Z",
"url": "https://files.pythonhosted.org/packages/cb/f5/12402c14b6e9cc531173ccb18e5e0e896db9eda7552b01f608fac54c9b1b/pyqasm-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-19 06:33:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "qBraid",
"github_project": "pyqasm",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "pyqasm"
}