Qonscious is a runtime framework designed to support conditional execution of quantum circuits based on resource introspection. It helps you build quantum applications that are aware of backend conditions — such as entanglement, coherence, or fidelity — before execution.
Project description
Qonscious is a runtime framework designed to support conditional execution of quantum circuits based on resource introspection. It helps you build quantum applications that are aware of backend conditions — such as entanglement, coherence, or fidelity — before execution.
Why Qonscious?
In the NISQ era, quantum hardware is noisy, resource-limited, and variable over time. Static resource assumptions lead to unreliable results. Qonscious makes quantum programs introspective and adaptive.
For a deeper discusion on the motivation behind Qonscious, read our article
Key Features
- Figures of Merit evaluation (e.g., get CHSH score)
- Conditional execution on compliance with figures of merit checks
- Inversion of control: pass a callback, not a circuit
- Built-in logging, extensibility, and fallback logic
Use cases
These are some scenarios where you may use Qonscious:
- Run a circuit conditional on your target computer (or simulator) checking some figures of merit (e.g., number of qubits, CHSH score, etc.)
- Benchmark a computer (or simulator) in terms of a collection of figures of merit.
- Explore correlations between experiment results and figures of merit of a gicen computer (or simulator)
- ...
Setting up dependencies
This project is organized with a pyproject.toml file, so there is no longer a need for a requirements.txt file.
Python version is set in .python-version
We recommend working in a Python virtual environment. The following snippet of code provides examples of most of the tasks you'll need to complete.
python -m venv .venv
source .venv/bin/activate
pip install -U pip wheel
pip install -e ".[dev,notebooks,viz,docs]" # you can leave notebooks and viz out of you are only working on the framework.
The -e flag in pip install tells pip to install Qonscious as a dependency so you can import from any Jupyter notebook working on the same venv while lettig you edit the framework.
Documentation
Up to date documentation is available on github pages
Examples
The notebooks folder contains several examples of using Qonscious in different use cases.
We suggest you start with chsh_test_demo.ipynb
Development notes
VisualStudio Code
There is a _vscode_example_settings.json file that you can rename to .vscode/settings.json . It provides most default settings that help VSC find tests, work with notebooks, etc.
ruff
pyproject.toml includes default configurations for ruff (linting, etc.). Ruff is part of the [dev] dependencies.
To use ruff from the command line (and let ruff format, and tidy up code), do as follows:
ruff check . --fix
ruff format .
pyright
This project uses pyright as a typechecker (In VSCode it will work via PyLance).
Settings are defined in pyrightconfig.json
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qonscious-0.1.0.tar.gz.
File metadata
- Download URL: qonscious-0.1.0.tar.gz
- Upload date:
- Size: 16.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cf811f56673de05d9f2a8affa6dbb36d05d1d920caa752969557132bcf4e7ff
|
|
| MD5 |
4efb5d1a628a73b2e9dd84b72e356d3e
|
|
| BLAKE2b-256 |
c649bb605f1327f117079968b96bbc567370ccc4a61207a64fb9fff7ae42a8ad
|
File details
Details for the file qonscious-0.1.0-py3-none-any.whl.
File metadata
- Download URL: qonscious-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd056b4f161d95eb982280f899f1977604dcd56b0425424fd50bca9472b2854e
|
|
| MD5 |
a7950bb6ffb92ce40bf9f385633220f3
|
|
| BLAKE2b-256 |
11359f4faf21ec7e15beba67511ff47285e42e72d651ac442c252b04fe8e5dc9
|