Skip to main content

LiDMaS+ logo

LiDMaS+ is an open-source CLI toolkit for reproducible quantum error-correction simulation, decoder benchmarking, and hardware-to-decoder replay. This exists to make QEC experiments reproducible, scriptable, and directly comparable across codes, decoders, and hardware data pipelines.

Current coverage:

  • Correction code engines: Surface, CSS family (including custom CSS specs/matrices, repetition, and Shor), and LDPC.
  • GKP support: Available in current CLI flows as hybrid/native Surface workflows (--mode=hybrid and --mode=gkp), i.e., CV/GKP behavior integrated into Surface-mode experiments.
  • Decoders: mwpm, uf, bp, neural_mwpm, and stub.
  • Targeted hardware providers: IBM Quantum (live superconducting telemetry), Rigetti/Ankaa workflows (replay), and Xanadu datasets (Aurora/QCA/GKP replay).
  • Quantum software stacks: Qiskit IBM Runtime, PennyLane, Qiskit, Cirq, and planned Qibo/Qibolab integration.

It provides:

  • a unified CLI for running simulation and replay workflows,
  • deterministic runs with explicit seed control,
  • reusable examples for thresholds, replay, and analysis outputs.

If you need the full technical depth, use the published docs

Statement of Need

Quantum error-correction studies are often hard to reproduce across teams because workflows, decoder settings, and data formats vary across scripts and hardware sources.

LiDMaS+ addresses this by giving researchers and engineers a single CLI and repeatable workflow surface for:

  • deterministic simulation runs,
  • consistent decoder comparison,
  • hardware-to-decoder replay and artifact generation.

Model-Exact Scope

Let a run scope be

S ∈ 𝒮, S = (C, D, M, Θ, σ, I, V)

where:

  • C: code family/configuration,
  • D: decoder set,
  • M: execution mode,
  • Θ: algorithm/hyperparameter settings,
  • σ: seed and stochastic controls,
  • I: input stream or dataset identity,
  • V: executable/version identity.

Define the run key as:

K(S) = H(ser(S))

for a canonical serializer ser and collision-resistant hash H. LiDMaS stores K(S) with each result artifact.

Proposition: ∀ S₁,S₂ ∈ 𝒮, S₁ ≠ S₂ ⇒ Pr[K(S₁) ≠ K(S₂)] ≥ 1 − ε for negligible ε.

So, except with negligible probability, artifacts from S₁ and S₂ are scope-distinct.

Proof sketch:

  1. S₁ ≠ S₂ ⇒ ser(S₁) ≠ ser(S₂) (canonical serialization is injective on scope tuples).
  2. ∀ x ≠ y, Pr[H(x)=H(y)] ≤ ε by collision resistance.
  3. Substitute x=ser(S₁), y=ser(S₂): Pr[K(S₁)=K(S₂)] ≤ ε, hence Pr[K(S₁)≠K(S₂)] ≥ 1−ε.

Design-to-Result Workflow

Let experiment design be E = (C, D, 𝒩, T, σ).

Define scoped execution and outputs as: S = (E, M, Θ, I, V), K = H(ser(S)), R = Φ(S), A = (K, R, μ).

Pipeline: E →[encode in CLI] S →[Φ (simulate/replay)] R →[persist with K] A →[analyze] Δ →[rerun with S] R′ →[‖R − R′‖ ≤ τ] validated results

Step map:

  1. Specify E.
  2. Encode S in lidmas ... arguments.
  3. Execute Φ in the selected mode.
  4. Persist A=(K,R,μ).
  5. Compute comparison/analysis outputs Δ.
  6. Re-run to get R′ and check ‖R − R′‖ ≤ τ.
  7. Promote validated artifacts to reports/plots/paper bundles.

LiDMaS+ UI preview (active development)

UI status: under active development. For stable workflows today, use the CLI (lidmas) below.

Getting Started

Prerequisites

  • C++20 compiler
  • CMake >= 3.16
  • Python 3.9+ (for PyPI install path and optional scripts)
  • Optional: OpenMP
  • Optional: CUDA toolkit (GPU sampling path)

Installation

Install from PyPI:

python -m pip install --upgrade lidmas

This installs the lidmas CLI so you can run LiDMaS+ commands directly from your shell.

Or build from source:

cmake -S . -B build
cmake --build build -j

Usage

Show available commands:

lidmas --help

Run a quick smoke check:

lidmas --smoke

Run from source build (without PyPI install):

./build/lidmas --help
./build/lidmas --smoke

For full examples and workflow guides:

Hardware Integrations

Mode Integration Company / Provider Quantum Software Stack
Live IBM superconducting stream polling IBM Quantum Qiskit IBM Runtime
Live (planned) Qibolab hardware backend integration Qibo/Qibolab self-hosted labs Qibo + Qibolab
Replay Ankaa superconducting replay stream Rigetti (Ankaa workflows) LiDMaS adapter stream (fixture/HDF5 replay)
Replay Xanadu Aurora/QCA/GKP dataset conversion + replay Xanadu Python converter + LiDMaS decoder_io_replay
Replay Simulator framework replay PennyLane / Qiskit / Cirq ecosystems PennyLane, Qiskit, Cirq

Hardware Integration examples and commands are documented here

Contributing

Bug reports, feature requests, and pull requests are welcome.

Citation

If you use LiDMaS+ in academic work, cite the software release used for your experiments (tag + commit hash).

Paper reference (paper_03):

paper_03 graphic

@misc{wayo2026unifiedhardwaretodecoderarchitecturehybrid,
  title={A Unified Hardware-to-Decoder Architecture for Hybrid Continuous-Variable and Discrete-Variable Quantum Error Correction in LiDMaS+},
  author={Dennis Delali Kwesi Wayo and Chinonso Onah and Leonardo Goliatt and Sven Groppe},
  year={2026},
  eprint={2604.15389},
  archivePrefix={arXiv},
  primaryClass={quant-ph},
  url={https://arxiv.org/abs/2604.15389}
}

License

This project is licensed under the MIT License.
See LICENSE.

Release files for lidmas 1.2.2

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

Source distribution (sdist)

Source distribution for lidmas 1.2.2
File Size Uploaded
lidmas-1.2.2.tar.gz 5.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for lidmas 1.2.2
File
lidmas-1.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
lidmas-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
lidmas-1.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
lidmas-1.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details

Total release size: 6.9 MB

Release files / lidmas-1.2.2.tar.gz

Download URL lidmas-1.2.2.tar.gz
Size 5.0 MB
Tags Source
SHA-256 checksum
How to use checksums
69778b4f15a98ac74d418a45db3165db99401cdf2e4366cadd10eb73175112cf
BLAKE2b-256 checksum
How to use checksums
3ef922d7408fa0bb8c8d65e1cf87fb9b5317397d035fcfa5f4160186300cecc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / lidmas-1.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL lidmas-1.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 468.2 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9caa66a2f7df7195571534f6a36dccdc1ec6891ce8ee26403a48cbeae359b1ee
BLAKE2b-256 checksum
How to use checksums
10235d19367b8ac094dddd3777d9e4fda34d5b689a467b155868579e5ccd9e79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / lidmas-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL lidmas-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 468.2 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2bebcadd864e91d851ce3654b90c08133ebfa98dc70ad9f6d0ed613600c04896
BLAKE2b-256 checksum
How to use checksums
9b96d45f58fdc7f5d74a5c917ea4f9cfa0517f76b72d81653ec396c558f14b12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / lidmas-1.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL lidmas-1.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 468.2 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
64785f311d5a2656dded4f43340263b20e3639dd09cea8a32cd73872f7073941
BLAKE2b-256 checksum
How to use checksums
eec6fa04746f773d8aa6cc05a818c5f12453ebf4d3c463729d89cc91712ef96e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release files / lidmas-1.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL lidmas-1.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 468.2 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a47497ed6038f63a6e26c9369b788f7394089e005ea32afc9d50a68683e09f78
BLAKE2b-256 checksum
How to use checksums
187112d3c8368c5833139a1a75e4c705798eddb0b8f1ddb8a9dc74894135872d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.2.2 This release

5 release files

1.2.1

5 release files

1.2.0

5 release files

1.1.4

5 release files

1.1.3

5 release files

1.1.0

5 release files

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