This release is a pre-release and may not be stable for production use.
Quick
quick is an agnostic gate-based circuit SDK, providing an integrated interface for using any supported quantum circuit framework seamlessly, and provides a complete pipeline from construction of circuits to mapping on actual hardware.
Getting Started
Prerequisites
- python 3.10, 3.11, 3.12
Quick Installation
quick can be installed with the command:
pip install quick-core
Pip will handle all dependencies automatically and you will always install the latest (and well-tested) version.
To install from source, follow the instructions in the documentation.
Usage
The docs/examples are a good way for understanding how quick works. Depending on your preference, you may use the package as end-to-end, or use it in parts for low-level modifications.
The /notebooks directory contains pedagogical material for utilizing quick:
Creating and Manipulating Circuits: This notebook demonstrates the basics of creating quantum circuits, and how different existing frameworks have been integrated withinquick.Preparing Quantum States and Operators: This notebook demonstrates how to prepare arbitrary statevectors and unitary operators to quantum circuits using exact encoding schema.Running Quantum Circuits: This notebook demonstrates the different backends available for running circuits, ranging from simulators to QPUs.
Testing
Run tests with the command:
py -m pytest tests
To run all tests including slow ones, use:
py -m pytest tests --runslow
Contribution Guidelines
If you'd like to contribute to quick, please take a look at our contribution guidelines. By participating, you are expected to uphold our code of conduct.
We use GitHub issues for tracking requests and bugs.
Acknowledgement
This work would not be possible without enlightening conversations and guidance from the following individuals who greatly influenced the package:
- https://github.com/timotheyca
- https://github.com/eivl
- https://github.com/MrHemlock
- https://github.com/KRRT7
Citation
If you wish to attribute/distribute our work, please cite the accompanying paper:
@article{malekaninezhad2024quick,
title={quick: {A} {H}igh-{L}evel {P}ython {L}ibrary for {I}ntegrating {Q}uantum {G}ate-based {F}rameworks},
author={Amir Ali Malekani Nezhad},
year={2024},
journal={arXiv preprint arXiv:TBD},
}
License
Distributed under Apache v2.0 License. See LICENSE for details.
Metadata
Release files for quick-core 0.0.0rc0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| quick_core-0.0.0rc0.tar.gz | 105.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quick_core-0.0.0rc0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 266.5 kB
Release files / quick_core-0.0.0rc0.tar.gz
| Download URL | quick_core-0.0.0rc0.tar.gz |
|---|---|
| Size | 105.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2658af062039bc25819ea0005c6be6d2c7cc5fa784f47ad11b506f7bf3e27d4f
|
|
BLAKE2b-256 checksum How to use checksums |
2efc2054d3aae81664643f56b4ad9e3eb9c90adc01b7c584159a618b8cb20dde
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.11.11
|
Release files / quick_core-0.0.0rc0-py3-none-any.whl
| Download URL | quick_core-0.0.0rc0-py3-none-any.whl |
|---|---|
| Size | 161.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
814aa09a17325cdf4ce603fc82bf430dd92135033e306cee3388f52f170d70e3
|
|
BLAKE2b-256 checksum How to use checksums |
32847f9b7e333b65935f2f260500b7c63117356aafb54dc7ce923236d9ab11ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.11.11
|