Skip to main content

OpenQUBO

OpenQUBO is a toolkit for analyzing, compiling, and solving Quadratic Unconstrained Binary Optimization (QUBO) problems across classical, quantum annealing, and gate-based quantum backends.

Developed by Micah Shaw
SemperKite Quantum Labs
https://semperkite.io


Overview

OpenQUBO provides tools for working with QUBO models in research and optimization workflows, including:

  • QUBO normalization and graph analysis
  • Gate-model layout optimization for quantum circuits
  • Annealing topology and embedding selection
  • Classical validation and solver pipelines
  • Visualization tools for QUBO structure and embeddings
  • CLI tools for running QUBO pipelines

The library is designed to work with modern quantum and classical toolchains such as:

  • Qiskit
  • D-Wave Ocean / dimod
  • NetworkX
  • NumPy

Features

QUBO Analysis

Parse and normalize QUBO inputs from:

  • matrices
  • dictionaries
  • edge lists

Convert QUBO problems into graph representations for analysis and visualization.


Gate Model Backend

Analyze QUBO interaction graphs and map them onto quantum hardware coupling graphs.

Features include:

  • layout method comparison
  • routing method comparison
  • circuit transpilation scoring
  • logical → physical qubit mapping

Built using Qiskit transpiler tools.


Annealing Backend

Evaluate whether a QUBO problem fits annealing hardware topologies such as:

  • Pegasus-like graphs
  • Chimera-like graphs

Includes:

  • embedding search (via minorminer)
  • chain length analysis
  • topology scoring

Solver Pipeline

Validate and solve QUBO models using classical solvers.

Capabilities include:

  • QUBO ↔ Ising validation
  • Binary Quadratic Model solving
  • simulated annealing
  • exact solver for small problems
  • logical solution decoding

Uses dimod when available.


Visualization

OpenQUBO includes tools for visualizing:

  • QUBO problem graphs
  • coupling graphs
  • logical → physical mappings
  • annealing embeddings

These visualizations help debug optimization problems and understand hardware constraints.


Installation

Clone the repository and install locally:

pip install -e .

Or install dependencies manually:

pip install -r requirements.txt

CLI Usage

After installation the CLI command becomes available:

openqubo --help

Example workflows:

openqubo gate ...

openqubo anneal ...

Python Usage

Example usage inside Python:

from openqubo import normalize_qubo

qubo = {
    (0,0): -1,
    (1,1): -1,
    (0,1): 2
}

normalized = normalize_qubo(qubo)

print(normalized.Q)

Project Structure

openqubo/
│
├── pyproject.toml
├── README.md
├── LICENSE
│
└── openqubo/
    ├── cli.py
    ├── qubo.py
    ├── gate.py
    ├── anneal.py
    ├── solver.py
    ├── viz.py
    ├── viz_gate.py
    ├── viz_anneal.py
    │
    └── compiler/
        ├── anneal_export.py
        └── gate_export.py

Citation

If you use OpenQUBO in research or publications, please cite:

Micah Shaw
OpenQUBO
SemperKite Quantum Labs
https://semperkite.io

Example BibTeX:

@software{openqubo_semperkite,
  author = {Micah Shaw},
  title = {OpenQUBO},
  institution = {SemperKite Quantum Labs},
  year = {2026},
  url = {https://semperkite.io}
}

License

MIT License
© 2026 Micah Shaw --- SemperKite Quantum Labs

See the LICENSE file for details.


About SemperKite Quantum Labs

SemperKite Quantum Labs develops open research software for quantum computing, optimization, and quantum simulation.

Learn more:

https://semperkite.io

Metadata

Release files for openqubo 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openqubo 0.1.0
File Size Uploaded Provenance Actions
openqubo-0.1.0.tar.gz 29.7 kB Without provenance Details for openqubo-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for openqubo 0.1.0
File Interpreter ABI Platform Actions
openqubo-0.1.0-py3-none-any.whl Python 3 none any Details for openqubo-0.1.0-py3-none-any.whl

Total release size: 63.3 kB

Release files / openqubo-0.1.0.tar.gz

Download URL openqubo-0.1.0.tar.gz
Size 29.7 kB
Tags Source
SHA-256 checksum
How to use checksums
755793a0873eabad7665c820b78ae5ff872949899eade65ebc67331ee5a3d72a
BLAKE2b-256 checksum
How to use checksums
05df309e31f26c1f0554274f178a2ba106f202c5fab2c8fe34c5677446dfd21c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release files / openqubo-0.1.0-py3-none-any.whl

Download URL openqubo-0.1.0-py3-none-any.whl
Size 33.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6b08f62e752b7ffe734f70226b403751c5f6b93865fcbf52ebde9ad733b38b7d
BLAKE2b-256 checksum
How to use checksums
5d47f75933b5ea601ca3e91ecd05c39d2d2880f9aee209ad9830d661ab41db2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Security for openqubo 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page