Tessera: Quantum Circuit Transpiler

Tessera takes a logical quantum circuit and prepares it for real hardware by decomposing gates, mapping qubits, routing around connectivity constraints, and optimizing the result. Built to be transparent, extensible, and easy to reason about.
How It Works
Every circuit runs through a fixed sequence of single-purpose passes. Each pass does one thing and hands off to the next.
Decomposes non-native gates into the target backend's supported gate set. Any gate not natively supported by the hardware is replaced with an equivalent sequence of basis gates before further processing.
Decomposes non-native gates into the target backend's supported gate set. Any gate not natively supported by the hardware is replaced with an equivalent sequence of basis gates before further processing.
Supported Backends
Tessera currently supports three hardware backends, each with its own basis gate set, decomposition map, and default coupling map topology.
IBM
IonQ
Rigetti
Why Tessera?
Tessera is built around one idea: a transpiler should be something you can read, understand, and change, not a process that happens to your circuit before you run it.
Transparent by design
Every transformation is a named, single-purpose pass you can inspect, reorder, or replace. You always know exactly what happened to your circuit and why.
Independently testable
Each pass takes a circuit in and returns a circuit out, making unit testing straightforward. No shared state, no side effects.
Minimal footprint
No heavy framework dependencies beyond Qiskit itself. The core is small enough to read in an afternoon.
Easy to extend
Adding a new backend or pass touches one or two files and nothing else. The architecture makes the right thing the easy thing.
Get Running in Minutes
Install Tessera and transpile your first circuit with a few lines of Python.
Install
pip install -e .Usage
from qiskit import QuantumCircuit
from tessera.api.transpile import transpile
qc = QuantumCircuit(3)
qc.h(0)
qc.cx(0, 1)
qc.cx(1, 2)
qc.measure_all()
transpiled = transpile(qc, backend="IBM")
print(transpiled)