qualtran
Qᴜᴀʟᴛʀᴀɴ is a Python library for expressing and analyzing Fault Tolerant Quantum algorithms.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.0%) to scientific vocabulary
Keywords
Repository
Qᴜᴀʟᴛʀᴀɴ is a Python library for expressing and analyzing Fault Tolerant Quantum algorithms.
Basic Info
- Host: GitHub
- Owner: quantumlib
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://qualtran.readthedocs.io/en/latest/
- Size: 26 MB
Statistics
- Stars: 229
- Watchers: 17
- Forks: 74
- Open Issues: 242
- Releases: 6
Topics
Metadata Files
README.md
Python package for fault-tolerant quantum algorithms research. [](https://github.com/quantumlib/qualtran/blob/main/LICENSE) [](https://www.python.org/downloads/) [](https://pypi.org/project/qualtran) [Installation](#installation) – [Usage](#usage) – [Documentation](#documentation) – [Community](#community) – [Citation](#citation) – [Contact](#contact)
Qualtran is a set of abstractions for representing quantum programs and a library of quantum algorithms expressed in that language to support quantum algorithms research.
Installation
Qualtran is being actively developed. We recommend installing from the source code.
The following commands will clone a copy of the repository, then install the Qualtran package in your local Python environment as a local editable copy:
shell
git clone https://github.com/quantumlib/Qualtran.git
cd Qualtran/
pip install -e .
You can also install the latest tagged release using pip:
shell
pip install qualtran
You can also install the latest version of the main branch on GitHub:
shell
pip install git+https://github.com/quantumlib/Qualtran
Usage
[!WARNING] Qualtran is an experimental preview release. We provide no backwards compatibility guarantees. Some algorithms or library functionality may be incomplete or contain inaccuracies. Open issues or contact the authors with bug reports or feedback.
You should be able to import the qualtran package into your interactive Python environment as
as well as your programs:
shell
import qualtran
If this is successful, you can move on to learning how to write bloqs or investigate the bloqs library.
Documentation
Documentation is available at https://qualtran.readthedocs.io/.
Community
Qualtran's community is growing rapidly, and if you'd like to join the many open-source contributors to the Qualtran project, we welcome your participation! We are dedicated to cultivating an open and inclusive community, and have a code of conduct.
Announcements
You can stay on top of Qualtran news using the approach that best suits your needs:
- For releases and major announcements: join the low-volume mailing list
qualtran-announce. - For releases only:
- Via GitHub notifications: configure repository notifications for Qualtran.
- Via RSS from GitHub: subscribe to the GitHub Qualtran releases feed.
- Via RSS from PyPI: subscribe to the PyPI releases feed for Qualtran.
Questions and Discussions
If you'd like to ask questions and participate in discussions, join the
qualtran-devgroup/mailing list. By joiningqualtran-dev, you will also get automated invites to the biweekly Qualtran Sync meeting (below).Would you like to get more involved in Qualtran development? The biweekly Qualtran Sync is a virtual face-to-face meeting of contributors to discuss everything from issues to ongoing efforts, as well as to ask questions. Become a member of
qualtran-devto get an automatic meeting invitation!
Issues and Pull Requests
- Do you have a feature request or want to report a bug? Open an issue on GitHub to report it!
- Do you have a code contribution? Read our contribution guidelines, then open a pull request!
Citation
When publishing articles or otherwise writing about Qualtran, please cite the following:
bibtex
@misc{harrigan2024qualtran,
title={Expressing and Analyzing Quantum Algorithms with Qualtran},
author={Matthew P. Harrigan and Tanuj Khattar
and Charles Yuan and Anurudh Peduri and Noureldin Yosri
and Fionn D. Malone and Ryan Babbush and Nicholas C. Rubin},
year={2024},
eprint={2409.04643},
archivePrefix={arXiv},
primaryClass={quant-ph},
doi={10.48550/arXiv.2409.04643},
url={https://arxiv.org/abs/2409.04643},
}
Contact
For any questions or concerns not addressed here, please email quantum-oss-maintainers@google.com.
Disclaimer
This is not an officially supported Google product. This project is not eligible for the Google Open Source Software Vulnerability Rewards Program.
Copyright 2025 Google LLC.
Owner
- Name: quantumlib
- Login: quantumlib
- Kind: organization
- Website: quantumai.google
- Repositories: 15
- Profile: https://github.com/quantumlib
Google's open source code library for the quantum world
Citation (CITATION.cff)
# Citation information for this repository. -*- yaml -*-
#
# CITATION.cff provide human- & machine-readable citation info for software and
# datasets. GitHub, Zenodo, and the Zotero browser plugin all use CFF files
# automatically. Tools exist to generate CITATION.cff files from other formats
# such as BibTeX. For more info, visit https://citation-file-format.github.io/.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cff-version: 1.2.0
message: >-
Please cite your use of Qualtran using the reference metadata provided here.
# If preferred-citation is present, GitHub uses its value for the "cite this
# repository" button and ignores the rest of this file; conversely, the Zenodo-
# GitHub integration ignores this field when archiving a new software release
# and uses the metadata in the rest of this file.
preferred-citation:
type: misc
authors: &authors
- family-names: Harrigan
given-names: Matthew P.
affiliation: Google LLC
orcid: https://orcid.org/0000-0001-9412-0553
- family-names: Khattar
given-names: Tanuj
affiliation: Google LLC
orcid: https://orcid.org/0009-0003-5545-3066
- family-names: Yuan
given-names: Charles
affiliation: Massachusetts Institute of Technology
orcid: https://orcid.org/0000-0002-4918-4467
- family-names: Peduri
given-names: Anurudh
affiliation: Ruhr University Bochum
orcid: https://orcid.org/0000-0002-6523-7098
- family-names: Yosri
given-names: Noureldin
affiliation: Google LLC
orcid: https://orcid.org/0000-0003-4169-5745
- family-names: Malone
given-names: Fionn D.
affiliation: Google LLC
orcid: https://orcid.org/0000-0001-9239-0162
- family-names: Babbush
given-names: Ryan
affiliation: Google LLC
orcid: https://orcid.org/0000-0001-6979-9533
- family-names: Rubin
given-names: Nicholas C.
affiliation: Google LLC
orcid: https://orcid.org/0000-0003-3963-1830
title: Expressing and Analyzing Quantum Algorithms with Qualtran
year: 2024
doi: 10.48550/arXiv.2409.04643
url: https://arxiv.org/abs/2409.04643
identifiers:
- description: arXiv identifier for the submission
value: 'arXiv:2409.04643'
type: other
keywords:
- quant-ph
# The remaining metadata in this file describes the current software release.
title: Qualtran
authors: *authors
abstract: >-
Qualtran is a set of abstractions for representing quantum programs, and a
library of quantum algorithms expressed in that language to support quantum
algorithms research.
version: 0.6.0
date-released: 2025-04-01
url: https://github.com/quantumlib/Qualtran
repository-code: https://github.com/quantumlib/Qualtran
license: Apache-2.0
type: software
identifiers:
- description: The home page for Qualtran
value: https://quantumai.google/Qualtran
type: url
- description: PyPI project for Qualtran
value: https://pypi.org/project/Qualtran
type: url
- description: GitHub repository for Qualtran
value: https://github.com/quantumlib/Qualtran
type: url
- description: DOI for the preprint
value: 10.48550/arXiv.2409.04643
type: doi
- description: Web page for the preprint
value: https://arxiv.org/abs/2409.04643
type: url
keywords:
- algorithms
- API
- application programming interface
- compilation
- conversion
- diagramming
- logical qubit
- open-source software
- physics
- Python
- QEC
- quantum
- quantum algorithms
- quantum circuits
- quantum computing
- quantum error correction
- quantum error decoder
- quantum gates
- quantum programming
- quantum programs
- quantum simulation
- quantum state
- qubit
- research
- resource estimation
- science
- SDK
- simulation
- simulator
- software
- software development toolkit
- stabilizer circuits
- translator
- visualization
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 58
- Total pull requests: 186
- Average time to close issues: 2 months
- Average time to close pull requests: 12 days
- Total issue authors: 19
- Total pull request authors: 19
- Average comments per issue: 0.95
- Average comments per pull request: 0.91
- Merged pull requests: 129
- Bot issues: 0
- Bot pull requests: 10
Past Year
- Issues: 55
- Pull requests: 186
- Average time to close issues: 28 days
- Average time to close pull requests: 12 days
- Issue authors: 19
- Pull request authors: 19
- Average comments per issue: 0.73
- Average comments per pull request: 0.91
- Merged pull requests: 129
- Bot issues: 0
- Bot pull requests: 10
Top Authors
Issue Authors
- mpharrigan (95)
- tanujkhattar (56)
- anurudhp (42)
- fdmalone (40)
- charlesyuan314 (10)
- wjhuggins (10)
- NoureldinYosri (7)
- mstechly (5)
- fpapa250 (5)
- Epsilon1024 (4)
- matthagan15 (4)
- alxvov (4)
- rroodll (4)
- christopherkang (3)
- StefanoPolla (2)
Pull Request Authors
- mpharrigan (191)
- tanujkhattar (150)
- anurudhp (110)
- fdmalone (77)
- NoureldinYosri (65)
- charlesyuan314 (65)
- mhucka (35)
- dependabot[bot] (30)
- dstrain115 (26)
- fpapa250 (22)
- Epsilon1024 (8)
- skushnir123 (8)
- mstechly (5)
- Vicara12 (5)
- matthagan15 (4)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 6,089 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 7
- Total maintainers: 2
pypi.org: qualtran
Software for fault-tolerant quantum algorithms research.
- Documentation: https://qualtran.readthedocs.io/
- License: Apache 2
-
Latest release: 0.6.1
published 9 months ago
Rankings
Maintainers (2)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- ts-graphviz/setup-graphviz v1 composite
- python 3.10 build
- 168 dependencies
- 120 dependencies
- astor ==0.8.1 development
- asttokens ==2.4.0 development
- attrs ==23.1.0 development
- autoray ==0.6.6 development
- backcall ==0.2.0 development
- beautifulsoup4 ==4.12.2 development
- black ==22.3.0 development
- bleach ==6.1.0 development
- cachetools ==5.3.1 development
- cirq-core ==1.3.0.dev20230928195458 development
- cirq-ft ==1.3.0.dev20230928195458 development
- click ==8.1.7 development
- comm ==0.1.4 development
- contourpy ==1.1.1 development
- cycler ==0.12.1 development
- cytoolz ==0.12.2 development
- decorator ==5.1.1 development
- defusedxml ==0.7.1 development
- duet ==0.2.9 development
- exceptiongroup ==1.1.3 development
- executing ==2.0.0 development
- fastjsonschema ==2.18.1 development
- flynt ==0.78 development
- fonttools ==4.43.1 development
- ipython ==8.16.1 development
- ipywidgets ==8.1.1 development
- isort ==5.10.1 development
- jedi ==0.19.1 development
- jinja2 ==3.1.2 development
- jsonschema ==4.19.1 development
- jsonschema-specifications ==2023.7.1 development
- jupyter-client ==8.3.1 development
- jupyter-core ==5.3.2 development
- jupyterlab-pygments ==0.2.2 development
- jupyterlab-widgets ==3.0.9 development
- kiwisolver ==1.4.5 development
- llvmlite ==0.41.0 development
- markupsafe ==2.1.3 development
- matplotlib ==3.8.0 development
- matplotlib-inline ==0.1.6 development
- mistune ==3.0.2 development
- mpmath ==1.3.0 development
- mypy-extensions ==1.0.0 development
- nbclient ==0.7.4 development
- nbconvert ==7.9.2 development
- nbformat ==5.9.2 development
- networkx ==3.1 development
- numba ==0.58.0 development
- numpy ==1.25.2 development
- opt-einsum ==3.3.0 development
- packaging ==23.2 development
- pandas ==2.1.1 development
- pandocfilters ==1.5.0 development
- parso ==0.8.3 development
- pathspec ==0.11.2 development
- pexpect ==4.8.0 development
- pickleshare ==0.7.5 development
- pillow ==10.0.1 development
- platformdirs ==3.11.0 development
- prompt-toolkit ==3.0.39 development
- psutil ==5.9.5 development
- ptyprocess ==0.7.0 development
- pure-eval ==0.2.2 development
- pydot ==1.4.2 development
- pygments ==2.16.1 development
- pyparsing ==3.1.1 development
- python-dateutil ==2.8.2 development
- pytz ==2023.3.post1 development
- pyzmq ==25.1.1 development
- quimb ==1.6.0 development
- referencing ==0.30.2 development
- rpds-py ==0.10.4 development
- scipy ==1.11.3 development
- six ==1.16.0 development
- sortedcontainers ==2.4.0 development
- soupsieve ==2.5 development
- stack-data ==0.6.3 development
- sympy ==1.12 development
- tinycss2 ==1.2.1 development
- tomli ==2.0.1 development
- toolz ==0.12.0 development
- tornado ==6.3.3 development
- tqdm ==4.66.1 development
- traitlets ==5.11.2 development
- typing-extensions ==4.8.0 development
- tzdata ==2023.3 development
- wcwidth ==0.2.8 development
- webencodings ==0.5.1 development
- widgetsnbextension ==4.0.9 development
- build ==1.0.3 development
- click ==8.1.7 development
- packaging ==23.2 development
- pip-tools ==7.3.0 development
- pyproject-hooks ==1.0.0 development
- tomli ==2.0.1 development
- wheel ==0.41.2 development
- astroid ==2.13.5 development
- asttokens ==2.4.0 development
- attrs ==23.1.0 development
- autoray ==0.6.6 development
- backcall ==0.2.0 development
- beautifulsoup4 ==4.12.2 development
- bleach ==6.1.0 development
- cachetools ==5.3.1 development
- cirq-core ==1.3.0.dev20230928195458 development
- cirq-ft ==1.3.0.dev20230928195458 development
- comm ==0.1.4 development
- contourpy ==1.1.1 development
- cycler ==0.12.1 development
- cytoolz ==0.12.2 development
- decorator ==5.1.1 development
- defusedxml ==0.7.1 development
- dill ==0.3.7 development
- duet ==0.2.9 development
- exceptiongroup ==1.1.3 development
- executing ==2.0.0 development
- fastjsonschema ==2.18.1 development
- fonttools ==4.43.1 development
- ipython ==8.16.1 development
- ipywidgets ==8.1.1 development
- isort ==5.10.1 development
- jedi ==0.19.1 development
- jinja2 ==3.1.2 development
- jsonschema ==4.19.1 development
- jsonschema-specifications ==2023.7.1 development
- jupyter-client ==8.3.1 development
- jupyter-core ==5.3.2 development
- jupyterlab-pygments ==0.2.2 development
- jupyterlab-widgets ==3.0.9 development
- kiwisolver ==1.4.5 development
- lazy-object-proxy ==1.9.0 development
- llvmlite ==0.41.0 development
- markupsafe ==2.1.3 development
- matplotlib ==3.8.0 development
- matplotlib-inline ==0.1.6 development
- mccabe ==0.7.0 development
- mistune ==3.0.2 development
- mpmath ==1.3.0 development
- nbclient ==0.7.4 development
- nbconvert ==7.9.2 development
- nbformat ==5.9.2 development
- networkx ==3.1 development
- numba ==0.58.0 development
- numpy ==1.25.2 development
- opt-einsum ==3.3.0 development
- packaging ==23.2 development
- pandas ==2.1.1 development
- pandocfilters ==1.5.0 development
- parso ==0.8.3 development
- pexpect ==4.8.0 development
- pickleshare ==0.7.5 development
- pillow ==10.0.1 development
- platformdirs ==3.11.0 development
- prompt-toolkit ==3.0.39 development
- psutil ==5.9.5 development
- ptyprocess ==0.7.0 development
- pure-eval ==0.2.2 development
- pydot ==1.4.2 development
- pygments ==2.16.1 development
- pylint ==2.15.10 development
- pyparsing ==3.1.1 development
- python-dateutil ==2.8.2 development
- pytz ==2023.3.post1 development
- pyzmq ==25.1.1 development
- quimb ==1.6.0 development
- referencing ==0.30.2 development
- rpds-py ==0.10.4 development
- scipy ==1.11.3 development
- six ==1.16.0 development
- sortedcontainers ==2.4.0 development
- soupsieve ==2.5 development
- stack-data ==0.6.3 development
- sympy ==1.12 development
- tinycss2 ==1.2.1 development
- tomli ==2.0.1 development
- tomlkit ==0.12.1 development
- toolz ==0.12.0 development
- tornado ==6.3.3 development
- tqdm ==4.66.1 development
- traitlets ==5.11.2 development
- typing-extensions ==4.8.0 development
- tzdata ==2023.3 development
- wcwidth ==0.2.8 development
- webencodings ==0.5.1 development
- widgetsnbextension ==4.0.9 development
- wrapt ==1.15.0 development
- asttokens ==2.4.0 development
- attrs ==23.1.0 development
- autoray ==0.6.6 development
- backcall ==0.2.0 development
- beautifulsoup4 ==4.12.2 development
- bleach ==6.1.0 development
- cachetools ==5.3.1 development
- cirq-core ==1.3.0.dev20230928195458 development
- cirq-ft ==1.3.0.dev20230928195458 development
- comm ==0.1.4 development
- contourpy ==1.1.1 development
- coverage ==7.3.2 development
- cycler ==0.12.1 development
- cytoolz ==0.12.2 development
- debugpy ==1.8.0 development
- decorator ==5.1.1 development
- defusedxml ==0.7.1 development
- duet ==0.2.9 development
- exceptiongroup ==1.1.3 development
- execnet ==2.0.2 development
- executing ==2.0.0 development
- fastjsonschema ==2.18.1 development
- fonttools ==4.43.1 development
- iniconfig ==2.0.0 development
- ipykernel ==6.25.2 development
- ipython ==8.16.1 development
- ipywidgets ==8.1.1 development
- jedi ==0.19.1 development
- jinja2 ==3.1.2 development
- jsonschema ==4.19.1 development
- jsonschema-specifications ==2023.7.1 development
- jupyter-client ==8.3.1 development
- jupyter-core ==5.3.2 development
- jupyterlab-pygments ==0.2.2 development
- jupyterlab-widgets ==3.0.9 development
- kiwisolver ==1.4.5 development
- llvmlite ==0.41.0 development
- markupsafe ==2.1.3 development
- matplotlib ==3.8.0 development
- matplotlib-inline ==0.1.6 development
- mistune ==3.0.2 development
- mpmath ==1.3.0 development
- nbclient ==0.7.4 development
- nbconvert ==7.9.2 development
- nbformat ==5.9.2 development
- nest-asyncio ==1.5.8 development
- networkx ==3.1 development
- numba ==0.58.0 development
- numpy ==1.25.2 development
- opt-einsum ==3.3.0 development
- packaging ==23.2 development
- pandas ==2.1.1 development
- pandocfilters ==1.5.0 development
- parso ==0.8.3 development
- pexpect ==4.8.0 development
- pickleshare ==0.7.5 development
- pillow ==10.0.1 development
- platformdirs ==3.11.0 development
- pluggy ==1.3.0 development
- prompt-toolkit ==3.0.39 development
- psutil ==5.9.5 development
- ptyprocess ==0.7.0 development
- pure-eval ==0.2.2 development
- pydot ==1.4.2 development
- pygments ==2.16.1 development
- pyparsing ==3.1.1 development
- pytest ==7.4.2 development
- pytest-asyncio ==0.21.1 development
- pytest-cov ==4.1.0 development
- pytest-xdist ==3.3.1 development
- python-dateutil ==2.8.2 development
- pytz ==2023.3.post1 development
- pyzmq ==25.1.1 development
- quimb ==1.6.0 development
- referencing ==0.30.2 development
- rpds-py ==0.10.4 development
- scipy ==1.11.3 development
- six ==1.16.0 development
- sortedcontainers ==2.4.0 development
- soupsieve ==2.5 development
- stack-data ==0.6.3 development
- sympy ==1.12 development
- tinycss2 ==1.2.1 development
- tomli ==2.0.1 development
- toolz ==0.12.0 development
- tornado ==6.3.3 development
- tqdm ==4.66.1 development
- traitlets ==5.11.2 development
- typing-extensions ==4.8.0 development
- tzdata ==2023.3 development
- wcwidth ==0.2.8 development
- webencodings ==0.5.1 development
- widgetsnbextension ==4.0.9 development
- asttokens ==2.4.0 development
- attrs ==23.1.0 development
- autoray ==0.6.6 development
- backcall ==0.2.0 development
- beautifulsoup4 ==4.12.2 development
- bleach ==6.1.0 development
- cachetools ==5.3.1 development
- cirq-core ==1.3.0.dev20230928195458 development
- cirq-ft ==1.3.0.dev20230928195458 development
- comm ==0.1.4 development
- contourpy ==1.1.1 development
- cycler ==0.12.1 development
- cytoolz ==0.12.2 development
- decorator ==5.1.1 development
- defusedxml ==0.7.1 development
- duet ==0.2.9 development
- exceptiongroup ==1.1.3 development
- executing ==2.0.0 development
- fastjsonschema ==2.18.1 development
- fonttools ==4.43.1 development
- ipython ==8.16.1 development
- ipywidgets ==8.1.1 development
- jedi ==0.19.1 development
- jinja2 ==3.1.2 development
- jsonschema ==4.19.1 development
- jsonschema-specifications ==2023.7.1 development
- jupyter-client ==8.3.1 development
- jupyter-core ==5.3.2 development
- jupyterlab-pygments ==0.2.2 development
- jupyterlab-widgets ==3.0.9 development
- kiwisolver ==1.4.5 development
- llvmlite ==0.41.0 development
- markupsafe ==2.1.3 development
- matplotlib ==3.8.0 development
- matplotlib-inline ==0.1.6 development
- mistune ==3.0.2 development
- mpmath ==1.3.0 development
- nbclient ==0.7.4 development
- nbconvert ==7.9.2 development
- nbformat ==5.9.2 development
- networkx ==3.1 development
- numba ==0.58.0 development
- numpy ==1.25.2 development
- opt-einsum ==3.3.0 development
- packaging ==23.2 development
- pandas ==2.1.1 development
- pandocfilters ==1.5.0 development
- parso ==0.8.3 development
- pexpect ==4.8.0 development
- pickleshare ==0.7.5 development
- pillow ==10.0.1 development
- platformdirs ==3.11.0 development
- prompt-toolkit ==3.0.39 development
- psutil ==5.9.5 development
- ptyprocess ==0.7.0 development
- pure-eval ==0.2.2 development
- pydot ==1.4.2 development
- pygments ==2.16.1 development
- pyparsing ==3.1.1 development
- python-dateutil ==2.8.2 development
- pytz ==2023.3.post1 development
- pyzmq ==25.1.1 development
- quimb ==1.6.0 development
- referencing ==0.30.2 development
- rpds-py ==0.10.4 development
- scipy ==1.11.3 development
- six ==1.16.0 development
- sortedcontainers ==2.4.0 development
- soupsieve ==2.5 development
- stack-data ==0.6.3 development
- sympy ==1.12 development
- tinycss2 ==1.2.1 development
- toolz ==0.12.0 development
- tornado ==6.3.3 development
- tqdm ==4.66.1 development
- traitlets ==5.11.2 development
- typing-extensions ==4.8.0 development
- tzdata ==2023.3 development
- wcwidth ==0.2.8 development
- webencodings ==0.5.1 development
- widgetsnbextension ==4.0.9 development