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.11.tar.gz (18.9 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.11-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stabilisersuite-1.1.11.tar.gz
  • Upload date:
  • Size: 18.9 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.11.tar.gz
Algorithm Hash digest
SHA256 118a6d722747ee90b182b4c9db2d44c8a403edb2f8b697ee1af21730ffc08b61
MD5 2ab83bb8206fc645d84c33307db33607
BLAKE2b-256 aa0ce0d7e4a858a79954f07555c9c724d942ba17657a0dc186c07e4f739110b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for stabilisersuite-1.1.11.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.11-py3-none-any.whl.

File metadata

File hashes

Hashes for stabilisersuite-1.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 51c60a551f41f7b71378a8cdc06ffa8863784d19f9341c86bb3d422201f06168
MD5 079260d3408344505dabf45b9e1eb0bb
BLAKE2b-256 0adc08de066f06c5d8d8aa2cfdda719bb23002c9ed0a44540662339f11bbac32

See more details on using hashes here.

Provenance

The following attestation bundles were made for stabilisersuite-1.1.11-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