Qiskit BackendV2 bridge for MIMIQ — run Qiskit circuits on MIMIQ cloud or local MIMIQ simulators.
Project description
mimiq-qiskit
A drop-in Qiskit BackendV2 that lets Qiskit users submit circuits to
the MIMIQ cloud — or to any local MIMIQ simulator — without leaving the
Qiskit ecosystem. Build your circuits with QuantumCircuit, hand them
to a MimiqBackend, get back a familiar qiskit.result.Result.
Highlights:
MimiqBackend— aBackendV2covering the standard gate set, arbitraryUnitaryGates, and single-gate mid-circuit conditionals. A batch of circuits is submitted as a single MIMIQ job.MimiqSamplerV2/MimiqEstimatorV2— native Qiskit V2 primitives. The estimator computes expectation values exactly with MIMIQ's expectation-value engine, with no shot noise.- MIMIQ-specific run options (
bonddim,entdim,timelimit,noisemodel, …) pass straight throughbackend.run(...).
Repository layout
mimiq-qiskit/
├── docs/ # Sphinx documentation
├── examples/ # Runnable examples
├── src/ # Python package
└── tests/ # Pytest suite
Qiskit is Python-only, so this repo has no Julia side — the package
lives at the repo root rather than under a nested
mimiq-qiskit-python/ directory.
Quick start
from qiskit import QuantumCircuit
from mimiqlink import MimiqConnection
from mimiq_qiskit import MimiqBackend
# Authenticate against the MIMIQ cloud (opens a browser prompt).
conn = MimiqConnection()
conn.connect()
backend = MimiqBackend(conn)
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
job = backend.run(qc, shots=1000)
counts = job.result().get_counts()
print(counts)
Local MIMIQ simulators (anything implementing the
mimiqcircuits.backends.Backend interface) wrap the same way — pass
the backend instance instead of a connection:
from mimiq_qiskit import MimiqBackend
from somewhere import MyLocalBackend
backend = MimiqBackend(MyLocalBackend())
Primitives
Prefer the native primitives for sampling and expectation values. The estimator is exact — no shot noise:
from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp
from mimiq_qiskit import MimiqBackend, MimiqEstimatorV2
backend = MimiqBackend(conn)
estimator = MimiqEstimatorV2(backend)
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
result = estimator.run([(qc, SparsePauliOp(["ZZ", "XX"], [1.0, 0.5]))]).result()
print(result[0].data.evs)
See examples/sampling.py and examples/expectation_values.py for
runnable scripts.
Installation
pip install mimiq-qiskit
Development
Branch model: active development on devel, releases on main.
uv sync # install dev environment
uv run pytest -sxv # run the test suite
uv build # build wheel + sdist
Repositories and releases
Development happens on the private GitLab repository (origin); the public
GitHub mirror (public, qperfect-io/mimiq-qiskit) is kept in sync on the
main branch and the public version tags:
mainandvX.Y.Ztags are pushed to bothoriginandpublic.vX.Y.Z-privatetags live only onorigin/develand never reach the public remote.
On the public repository, pushing a vX.Y.Z tag triggers the PyPI publish
and GitHub Pages documentation deploy. To develop against an unreleased
mimiqcircuits, add the sibling checkout locally without committing it:
uv add --editable ../mimiqcircuits-python
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mimiq_qiskit-0.1.0.tar.gz.
File metadata
- Download URL: mimiq_qiskit-0.1.0.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c7e7e4b9930c102d658d3a84f4df241c61bbdfd4112fc286022d14192da4a9f
|
|
| MD5 |
ebfa7f2ff7219c87ec38a3b3b0a9a399
|
|
| BLAKE2b-256 |
90d318ee275fa988c51f36061d40f023d5d6ca9058f698713690da628ae8a4a7
|
File details
Details for the file mimiq_qiskit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mimiq_qiskit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d09026d771f69299684b775b8cc00a7de155b25db40b97df07172e103845628c
|
|
| MD5 |
efe2a946357c4b796570f87ebefd581e
|
|
| BLAKE2b-256 |
9a851ecc2ecc821b4818486ae46576f8a6933389c11a451316780491ad2556c7
|