Skip to main content

Toolbox for Quantum Computer testing.

Project description

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 generatorO(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}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stabilisersuite-1.1.9.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stabilisersuite-1.1.9-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file stabilisersuite-1.1.9.tar.gz.

File metadata

  • Download URL: stabilisersuite-1.1.9.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for stabilisersuite-1.1.9.tar.gz
Algorithm Hash digest
SHA256 75173675b149712a2d1e85c0188dce3c374fb5014fc3244a8c3f0da49e62d31d
MD5 de6f2c118b1651cf0e4d989d5a28b4d8
BLAKE2b-256 8c1179c3690ab8a14a090c1456470f9e92592012a172195114ef04d905d5ad32

See more details on using hashes here.

Provenance

The following attestation bundles were made for stabilisersuite-1.1.9.tar.gz:

Publisher: release.yml on Achaad/StabiliserSuite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file stabilisersuite-1.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for stabilisersuite-1.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d940dc38ac6dc52c2473f06ec160daf6ea50ded73532ab8cdeeb391ab9ca38e3
MD5 a7f191b35016c6f91f887c524ec17592
BLAKE2b-256 832c2a526d39679225b17072d38e4c7f1044d5af8375fea1553c3d3f49c53276

See more details on using hashes here.

Provenance

The following attestation bundles were made for stabilisersuite-1.1.9-py3-none-any.whl:

Publisher: release.yml on Achaad/StabiliserSuite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page