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¶
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¶
- Execution backends: pick where your circuits run.
- Local linting: catch layout errors before any cloud call.
- API reference: every public class and function.