Open-source representation-search layer for quantum computing.
WestQuant Open is an open-source representation-search layer for quantum computing. It searches alternative compilation and representation paths across multiple software stacks, while preserving verification and full provenance.
pip install westquant[qiskit]from westquant_qiskit.search import DeterministicSearchEngine
result = DeterministicSearchEngine().search(circuit, challenge_id="demo", backend=backend, max_candidates=64)
print(result.best.metrics, result.best.verification.equivalence)
print([c.metrics for c in result.pareto_front])The umbrella package itself exports the WQDF dataset helpers
(from westquant import generate_training_data, WQDFSample).
Or from the command line:
westquant doctor # Check what's installed
westquant compare circuit.qasm # Compare default vs WestQuant search
westquant plugins # List available plugins| Package | Description |
|---|---|
| westquant-core | Framework-neutral WQIR, RepGraph, plugin contracts |
| westquant-qcsc | Semantic QPU Minimization — analyze where QPU is actually needed |
| Package | Description |
|---|---|
| westquant-qiskit | Qiskit transpiler stage plugins |
| westquant-pytket | pytket compiler pass search |
| westquant-pennylane | PennyLane transform search |
| westquant-pulser | Pulser neutral-atom search |
| Package | Description |
|---|---|
| westquant-orchestrator | Cross-framework trace normalization |
| westquant-bridges | Cirq/Braket/QIR/OpenQASM bridges |
# Single framework
pip install westquant[qiskit]
pip install westquant[pytket]
pip install westquant[pennylane]
pip install westquant[pulser]
# Everything
pip install westquant[all]westquant compare circuit.qasm -f qiskitActual output for a 5-qubit QFT (westquant 0.1.1, Qiskit 2.6.1, no target):
2Q gates depth verification
──────────────────── ────────── ────────── ────────────
Qiskit opt-2 (base) 26 29 exact
Qiskit opt-3 26 29 exact
WestQuant search 26 34 exact
Candidates evaluated: 8 (8 verified exact)
Verification of selected candidate: exact
The verification column is the status returned by QiskitEquivalenceVerifier
for that exact circuit: exact, invalid or unknown. Circuits with
measurements, resets or more than 8 qubits are reported as unknown, and
reductions are then not printed. Only -f qiskit is implemented; other
frameworks exit with status 2.
WestQuant Open
├── westquant-core # WQIR, RepGraph, search contracts
├── westquant-qcsc # Semantic QPU Minimization optimizer
├── westquant-qiskit # Qiskit transpiler plugins
├── westquant-pytket # pytket pass search
├── westquant-pennylane # PennyLane transform search
├── westquant-pulser # Pulser neutral-atom search
├── westquant-orchestrator # Cross-framework normalization
├── westquant-bridges # Experimental framework bridges
└── westquant # Umbrella package (this repo)
Every candidate carries an explicit verification status:
- EXACT: Unitary equivalence via
Operator.equiv()(small, unitary circuits) - UNKNOWN: Conservative — not checked or not checkable; never promoted to EXACT
- same_problem_different_dynamics: Pulser-specific — never collapsed with EXACT
WestQuant asks three questions in order:
- Does this operation need to happen? (Eliminate)
- Does it need to be quantum? (Replace with classical)
- Only then: which resource should execute it? (Schedule)
That ordering is the defining idea of the project.
- Discussions: Join the conversation
- Contributing: See CONTRIBUTING.md
- Code of Conduct: See CODE_OF_CONDUCT.md
- Releases: Monthly on the last Friday — see release schedule
Apache-2.0
David Vesterlund — Vesterlund Ventures / WestQuant Open Source Project
- Email: david@vesterlundventures.se
- ORCID: 0009-0000-6455-1141
A stricter, resumable compilation-data foundation is available in westquant.wqbench. It records explicit targets, failures, before/after metrics and conservative semantic verification. See setup and scope, implementation plan and legacy data-engine audit. It is not yet the full WQBench release or a new WQT model evaluation.