Python bindings for Maestro - A unified interface for quantum circuit simulation
Project description
Maestro: The Interface to Quantum Circuit Simulation
Maestro is a unified interface and intelligent orchestration layer for quantum circuit simulation. It automates the complexity of selecting and configuring simulators, enabling researchers and developers to execute quantum circuits efficiently across CPUs, GPUs, and distributed HPC environments without manual tuning.
Key Features
Maestro addresses the fragmentation of the current simulator ecosystem by providing a single entry point to various simulation methods.
- Unified Abstraction Layer: Write your circuit once (e.g., in Qiskit) and Maestro compiles it to the native format of the target backend.
- Intelligent Prediction Engine: Automatically analyzes circuit features (gate density, entanglement, locality) to predict and select the fastest simulation backend for your specific workload.
- High-Performance Optimizations: Transparently applies multi-threading, multi-processing, and optimized state sampling to increase throughput.
- Expectation Value Estimation: Direct calculation of observables (e.g., Pauli strings) for VQA workflows.
- GPU Acceleration: Integrated support for GPU-accelerated Statevector and custom Matrix Product State (MPS) execution.
- Distributed Quantum Computing (DQC): Supports p-block simulation (Composite mode) to simulate distributed quantum networks and break the memory ceiling of monolithic simulations.
- Backend-agnostic: Allows new simulators to be added easily
Architecture Overview
The Maestro pipeline consists of:
- Circuit ingestion (Qiskit/QASM)
- Conversion to Maestro’s Intermediate Representation
- Feature extraction (gate density, entanglement locality, structure)
- Prediction engine (runtime estimation and backend routing)
- Execution on one of the supported backends:
- CPU: statevector, MPS, Pauli propagation, Clifford/stabilizer
- GPU: statevector, MPS, Pauli propagation, tensor network simulation, (limited) Clifford/stabilizer
- Composite p-block distributed simulation
Simulation Backends
Maestro integrates or wraps the following:
CPU Backends
- Statevector (Qiskit Aer, QCSim, custom implementations)
- MPS (multiple libraries)
- Pauli propagation
- Clifford/stabilizer simulators
GPU Backends
- Statevector (NVIDIA cuStateVec)
- MPS (custom CUDA implementation)
- Tensor network simulation
- Pauli propagation
- (Limited) Clifford/stabilizer
Distributed Simulation
- p-block composite simulation for DQC
Each backend is accessed through a C++ adapter that maps Maestro’s IR to the simulator’s native API.
Automatic Backend Selection
Maestro includes a prediction engine that:
- extracts structural features from the circuit
- uses a regression model trained on benchmark data
- estimates relative runtimes across all backends
- selects the backend expected to run fastest on the current hardware
The model normalizes performance features to reduce hardware dependence and can be recalibrated on installation.
Documentation
- Installation Guide: Detailed build and installation instructions.
- Tutorial: Usage examples and API overview, including Python bindings.
- Python Examples: Python scripts demonstrating usage.
API Documentation
To generate the API documentation using Doxygen:
# Ensure Doxygen is installed
cd build
cmake ..
make doc
The documentation will be generated in docs/html/index.html.
Building Maestro
Quick start:
chmod +x build.sh
./build.sh
For detailed instructions, see INSTALL.md.
Citation
An Article detailing Maestro will be published shorty. This reference can be used for citation.
@article{bertomeu2025maestro,
title={Maestro: Intelligent Execution for Quantum Circuit Simulation},
author={Bertomeu, Oriol and Ghayas, Hamzah and Roman, Adrian and DiAdamo, Stephen},
organization={Qoro Quantum},
year={2025}
}
License
This project is licensed under the GNU General Public License v3.0.
You may copy, distribute, and modify this software under the terms of the GPL-3.0 license. A copy of the license text is available in the LICENSE file and at:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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 qoro_maestro-0.2.0.tar.gz.
File metadata
- Download URL: qoro_maestro-0.2.0.tar.gz
- Upload date:
- Size: 282.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72e73e561903f2444d0cb2fb8238d54444b5d3c96b03c7acd718c0e8db06837d
|
|
| MD5 |
b1e93b65b913283058a52aed79181559
|
|
| BLAKE2b-256 |
0d8f3c061ae7c4a96a38ab7cdfb15de488982d2ce7f73f87bf6f21b47d729d47
|
Provenance
The following attestation bundles were made for qoro_maestro-0.2.0.tar.gz:
Publisher:
publish-pypi.yml on QoroQuantum/maestro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qoro_maestro-0.2.0.tar.gz -
Subject digest:
72e73e561903f2444d0cb2fb8238d54444b5d3c96b03c7acd718c0e8db06837d - Sigstore transparency entry: 984906096
- Sigstore integration time:
-
Permalink:
QoroQuantum/maestro@2432a017f3fb6d85bca37148b6e55e477096292f -
Branch / Tag:
refs/heads/pypi-release - Owner: https://github.com/QoroQuantum
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2432a017f3fb6d85bca37148b6e55e477096292f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file qoro_maestro-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: qoro_maestro-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.8 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8491e36f3721f88d1e79fd38bf54d32c0f616698f46246656d6e1a9ef8ba422b
|
|
| MD5 |
5da661b1b7246e355116b445160dfc7c
|
|
| BLAKE2b-256 |
7a39f9e76596dd06fd9623116682ff0e9b8df5590f76ad67b3d466de40c5e111
|
Provenance
The following attestation bundles were made for qoro_maestro-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish-pypi.yml on QoroQuantum/maestro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qoro_maestro-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
8491e36f3721f88d1e79fd38bf54d32c0f616698f46246656d6e1a9ef8ba422b - Sigstore transparency entry: 984906107
- Sigstore integration time:
-
Permalink:
QoroQuantum/maestro@2432a017f3fb6d85bca37148b6e55e477096292f -
Branch / Tag:
refs/heads/pypi-release - Owner: https://github.com/QoroQuantum
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2432a017f3fb6d85bca37148b6e55e477096292f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file qoro_maestro-0.2.0-cp312-cp312-macosx_14_0_arm64.whl.
File metadata
- Download URL: qoro_maestro-0.2.0-cp312-cp312-macosx_14_0_arm64.whl
- Upload date:
- Size: 4.8 MB
- Tags: CPython 3.12, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06940eb401367866f2f249a38df617dabb1ebcc0c0a8b8841a4e74b1f77073ca
|
|
| MD5 |
c6d7934689047fbc91fb1f1a962796e4
|
|
| BLAKE2b-256 |
8743cad3ff16dbbcf9528dbfedb0bd8153181df62adff145a7196d0f6b43e838
|
Provenance
The following attestation bundles were made for qoro_maestro-0.2.0-cp312-cp312-macosx_14_0_arm64.whl:
Publisher:
publish-pypi.yml on QoroQuantum/maestro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qoro_maestro-0.2.0-cp312-cp312-macosx_14_0_arm64.whl -
Subject digest:
06940eb401367866f2f249a38df617dabb1ebcc0c0a8b8841a4e74b1f77073ca - Sigstore transparency entry: 984906102
- Sigstore integration time:
-
Permalink:
QoroQuantum/maestro@2432a017f3fb6d85bca37148b6e55e477096292f -
Branch / Tag:
refs/heads/pypi-release - Owner: https://github.com/QoroQuantum
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2432a017f3fb6d85bca37148b6e55e477096292f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file qoro_maestro-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: qoro_maestro-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.8 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8517cfe09a97918e80a614229ed6516b3b9ae67222b8d3f88a76b8e1b10d26a
|
|
| MD5 |
449ce78702b5d9a781afd43daf9b792a
|
|
| BLAKE2b-256 |
bdac358cb9dc2473208d80160b8352177b67cf831c3bc41ec0bed1675811001b
|
Provenance
The following attestation bundles were made for qoro_maestro-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish-pypi.yml on QoroQuantum/maestro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qoro_maestro-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
c8517cfe09a97918e80a614229ed6516b3b9ae67222b8d3f88a76b8e1b10d26a - Sigstore transparency entry: 984906098
- Sigstore integration time:
-
Permalink:
QoroQuantum/maestro@2432a017f3fb6d85bca37148b6e55e477096292f -
Branch / Tag:
refs/heads/pypi-release - Owner: https://github.com/QoroQuantum
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2432a017f3fb6d85bca37148b6e55e477096292f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file qoro_maestro-0.2.0-cp311-cp311-macosx_14_0_arm64.whl.
File metadata
- Download URL: qoro_maestro-0.2.0-cp311-cp311-macosx_14_0_arm64.whl
- Upload date:
- Size: 4.8 MB
- Tags: CPython 3.11, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e1892c70656996291a499a040c77d3f8a45c71ad027e62e711cd8b71ab94c9e
|
|
| MD5 |
6bc13a1331920e7454d2335ee7fef984
|
|
| BLAKE2b-256 |
5fa6666bf1eaf594f4658ede09e2d7848ddd285200cef6542a0b544d961fe456
|
Provenance
The following attestation bundles were made for qoro_maestro-0.2.0-cp311-cp311-macosx_14_0_arm64.whl:
Publisher:
publish-pypi.yml on QoroQuantum/maestro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qoro_maestro-0.2.0-cp311-cp311-macosx_14_0_arm64.whl -
Subject digest:
5e1892c70656996291a499a040c77d3f8a45c71ad027e62e711cd8b71ab94c9e - Sigstore transparency entry: 984906115
- Sigstore integration time:
-
Permalink:
QoroQuantum/maestro@2432a017f3fb6d85bca37148b6e55e477096292f -
Branch / Tag:
refs/heads/pypi-release - Owner: https://github.com/QoroQuantum
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2432a017f3fb6d85bca37148b6e55e477096292f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file qoro_maestro-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: qoro_maestro-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.8 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8243f2b8623b2d32357f081e60bd826df36996fd1c89cbad29d82c1317b94db
|
|
| MD5 |
a6c7c4f1639657b7cfd65594c4b7e882
|
|
| BLAKE2b-256 |
3d0262879af41770543bd963c01d7d16d6a3b317a8782297ee61d9d9a7081c76
|
Provenance
The following attestation bundles were made for qoro_maestro-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish-pypi.yml on QoroQuantum/maestro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qoro_maestro-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
d8243f2b8623b2d32357f081e60bd826df36996fd1c89cbad29d82c1317b94db - Sigstore transparency entry: 984906112
- Sigstore integration time:
-
Permalink:
QoroQuantum/maestro@2432a017f3fb6d85bca37148b6e55e477096292f -
Branch / Tag:
refs/heads/pypi-release - Owner: https://github.com/QoroQuantum
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2432a017f3fb6d85bca37148b6e55e477096292f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file qoro_maestro-0.2.0-cp310-cp310-macosx_14_0_arm64.whl.
File metadata
- Download URL: qoro_maestro-0.2.0-cp310-cp310-macosx_14_0_arm64.whl
- Upload date:
- Size: 4.8 MB
- Tags: CPython 3.10, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3797f6e4abc26bad447c4f353ffd7507c7ba33db2e76ee5481b5218571a3be14
|
|
| MD5 |
ae4e8c30ec7c4c06d25bde42dfc6825b
|
|
| BLAKE2b-256 |
f93297d5e3fc2633b97e84b6247083e0184a6ab85a07098a4faa9a1dd033fac8
|
Provenance
The following attestation bundles were made for qoro_maestro-0.2.0-cp310-cp310-macosx_14_0_arm64.whl:
Publisher:
publish-pypi.yml on QoroQuantum/maestro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qoro_maestro-0.2.0-cp310-cp310-macosx_14_0_arm64.whl -
Subject digest:
3797f6e4abc26bad447c4f353ffd7507c7ba33db2e76ee5481b5218571a3be14 - Sigstore transparency entry: 984906100
- Sigstore integration time:
-
Permalink:
QoroQuantum/maestro@2432a017f3fb6d85bca37148b6e55e477096292f -
Branch / Tag:
refs/heads/pypi-release - Owner: https://github.com/QoroQuantum
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2432a017f3fb6d85bca37148b6e55e477096292f -
Trigger Event:
workflow_dispatch
-
Statement type: