Skip to content

Getting started

limbo-quantum is the SDK for Limbo, a quantum compiler built for machines made of many chips. It ingests circuits from Qiskit, Cirq or OpenQASM 3, audits them locally, compiles them, and runs them on a local simulator or directly on IBM Quantum, AWS Braket or Azure Quantum.

  • Install in one line. Pure Python, Python 3.10+, Apache 2.0.
  • Runs on your laptop. The local path needs no account, no key and no network.
  • Measured against TKET. Fewer cross-chip operations in all 24 benchmark comparisons. See the matrix.

Install

pip install limbo-quantum

The SDK has no required runtime dependencies. Add the circuit framework you'll feed it:

pip install 'limbo-quantum[qiskit]'   # most common
pip install 'limbo-quantum[cirq]'
pip install 'limbo-quantum[qasm3]'

To submit directly to a vendor cloud, add that backend's extra:

pip install 'limbo-quantum[ibm]'      # IBM Quantum
pip install 'limbo-quantum[aws]'      # AWS Braket
pip install 'limbo-quantum[azure]'    # Azure Quantum
pip install 'limbo-quantum[all]'      # everything

Quickstart

DistributedCompilerSDK is the single entry point. Construct it once with a provider, then call .compile() for every circuit.

from qiskit import QuantumCircuit
from limbo_quantum import DistributedCompilerSDK, LocalSimulationProvider

# Local simulator: zero credentials, zero network.
sdk = DistributedCompilerSDK(
    provider=LocalSimulationProvider(),
    num_qpus=4,
    max_capacity_per_qpu=20,
)

qc = QuantumCircuit(8)
qc.h(0)
for i in range(7):
    qc.cx(i, i + 1)
qc.measure_all()

result = sdk.compile(qc, shots=1024)
print(result.counts)            # ~512 × '00000000', ~512 × '11111111'
print(result.compiled_qasm[0])

Each .compile() call runs four steps:

Step What happens Where
Ingest Qiskit / Cirq / OpenQASM 3 into one standardized IR local
Lint Capacity audit and interaction-hotspot detection local
Template Parametric cache lookup; bind locally if the structure is unchanged local
Dispatch Hand the compiled QASM to your provider and collect results provider

Next