Skip to main content

StabiliserSuite

Toolbox for benchmarking and stress‑testing NISQ quantum processors
Clifford circuits • topology‑aware routing • gate‑transformation search

CI PyPI conda-forge MIT


✨ Key Features

  • Random Clifford generator – O(n²) tableau routine for uniformly random stabiliser circuits
  • Topology‑aware routing – 4‑CNOT “bridge’’ pattern for non‑adjacent CNOTs on heavy‑hex and ion‑trap layouts
  • Gate‑transformation search – meet‑in‑the‑middle engine (canonical‑phase hashing, memoisation) finds depth‑bounded Clifford / non‑Clifford substitutions
  • Unified workflow – circuit synthesis → classical stabiliser simulation → Qiskit hardware run → fidelity report
  • Open‑source & extensible – MIT licence, clean Python API, minimal external deps

🚀 Quick Start

Conda (recommended)

mamba create -n stabilisersuite -c conda-forge stabiliser_suite
mamba activate stabilisersuite

Pure‑pip (light‑weight alternative)

python -m venv .venv
source .venv/bin/activate
pip install stabiliser_suite

Example usage

import stabiliser_suite as ss
from qiskit.circuit.library import CXGate

# 1. random 6‑qubit Clifford circuit
circ = ss.clifford.sample_clifford_group(3)
print(circ.draw())

# 2. non‑Clifford substitute for CX at depth ≤3
subs = ss.gate_utils.find_non_clifford_transformations(CXGate(), max_depth=3)
print("First match:", subs[0][0])

🗂 Project Layout

stabiliser_suite/
├── benchmark     # simple benchmarking scripts
├── clifford      # Clifford-circuit generation
├── circuit       # 4-CNOT construction
├── gate_utils    # gate transformation search
└── tests/        # pytest suite

📖 Documentation

Full API reference and tutorials will be later put in docs/.
Rendered docs will be hosted at https://achaad.github.io/StabiliserSuite/.


🤝 Contributing

  1. Fork → feature branch → pull request against main.
  2. Run pytest and mypy locally (mamba env update -f environment.yml -n stabilisersuite --prune).
  3. Code is auto‑formatted with Black.

The project uses semantic versioning 2.0, i.e. v${MAJOR}.${MINOR}.${PATCH} (e.g. v0.1.123)

The project is configured with automatic releases on any commits to the master branch. All the merge commits should be prepended with a tag from the list below (e.g. "feat: Add ESR support"):

Tag Description
feat New feature
fix Bug fix
docs Documentation only changes
style Only code style changes
refactor Code refactoring
perf Performance improvements
test Adding new or correcting existing tests
build Changes which modify the application build or dependencies
ci Changes to the CI/CD configuration
revert Previous commit reverts

📄 License

StabiliserSuite is released under the MIT License (see LICENSE).


📑 Citation

@misc{stabilisersuite2025,
  author       = {Anton Perepelenko},
  title        = {StabiliserSuite: Toolbox for Quantum Computer Testing},
  year         = {2025},
  howpublished = {\url{https://github.com/Achaad/StabiliserSuite}},
  note         = {MIT License}
}

Metadata

Release files for StabiliserSuite 1.1.11

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

Source distribution (sdist)

Source distribution for StabiliserSuite 1.1.11
File Size Uploaded
stabilisersuite-1.1.11.tar.gz 18.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for StabiliserSuite 1.1.11
File Interpreter ABI Platform
stabilisersuite-1.1.11-py3-none-any.whl Python 3 none any Details

Total release size: 35.5 kB

Release files / stabilisersuite-1.1.11.tar.gz

Download URL stabilisersuite-1.1.11.tar.gz
Size 18.9 kB
Tags Source
SHA-256 checksum
How to use checksums
118a6d722747ee90b182b4c9db2d44c8a403edb2f8b697ee1af21730ffc08b61
BLAKE2b-256 checksum
How to use checksums
aa0ce0d7e4a858a79954f07555c9c724d942ba17657a0dc186c07e4f739110b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 5, 2025.

Transparency log

Release files / stabilisersuite-1.1.11-py3-none-any.whl

Download URL stabilisersuite-1.1.11-py3-none-any.whl
Size 16.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
51c60a551f41f7b71378a8cdc06ffa8863784d19f9341c86bb3d422201f06168
BLAKE2b-256 checksum
How to use checksums
0adc08de066f06c5d8d8aa2cfdda719bb23002c9ed0a44540662339f11bbac32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 5, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.11 This release

2 release files

1.1.9

2 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