Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Clifft

Unitary Foundation Docs arXiv License Discord Chat

PyPI version Downloads CI codecov Contributor Covenant

Clifft is a fast exact simulator for near-Clifford quantum circuits.

Built and maintained by the Unitary Foundation.

Clifft accepts Stim-format circuits, extends them with non-Clifford gates, and compiles them into symbolic-coordinate sampling plans. It is designed for circuits whose dominant structure is Clifford, but whose behavior depends on localized non-Clifford operations.

The dense active state has 2^k amplitudes, where k is its active width. The main simulation cost therefore scales with 2^k, rather than directly with the total number of physical qubits n. Non-Clifford operations can increase k, while measurements can reduce it.

Clifft's original design established this factored active-state architecture, described in the Clifft paper. SymFT, by Wang Fang, Huazhe Lou, and Riling Li, is the second-generation successor to SOFT. Its planner builds on SOFT's generalized-stabilizer simulation and Clifft's dense active-state representation. SymFT adds symbolic Clifford-Pauli-frame factorization, adaptive stabilizer-coordinate planning, and direct multi-coordinate kernels. Clifft's current sampler adopts these SymFT developments alongside Clifft-specific compiler, continuation, and API machinery. See the theoretical overview for the fuller lineage and implementation boundaries. The symbolic sampling update explains the migration from the original SVM and reports matched release-target benchmarks.

Why Clifft?

  • Stim-compatible format and API: parse Stim-format circuits with noise, detectors, observables, and repeat blocks, plus non-Clifford extensions.
  • Exact near-Clifford simulation: simulate localized non-Clifford effects without approximating the quantum state.
  • Optimizing compiler pipeline: resolve Clifford coordinates and symbolic dependencies once, then sample many shots from a prepared plan.
  • Active-width scaling: for low-magic circuits, runtime and memory scale with the localized active state rather than the full Hilbert space.

For QEC workflows, Clifft also supports detector-based post-selection, survivor sampling, and stratified importance sampling for rare-event estimation.

Experimental AMD HIP and NVIDIA CUDA backends are available through an explicit source build and separate APIs. They are not part of the published wheels or selected automatically.

Performance

Clifft reaches millions of attempted shots per second on several complete near-Clifford circuits using one CPU core. Its compiler keeps the dense quantum state small so that exact near-Clifford simulation can approach the throughput usually associated with specialized Clifford tools.

Clifft v0.10 attempted shots per second across eight near-Clifford workloads

See the Performance guide for comparisons with other simulators, release history, dense Quantum Volume results, and measurement details.

Installation

pip install clifft
Platform / CPU family PyPI wheel
Linux x86_64 with x86-64-v2 support Supported
Linux aarch64 Supported
macOS arm64 Supported
Windows amd64 Supported

All other platforms and CPU families should build from source. See the installation docs.

Quick Start

import clifft

program = clifft.compile("""
    H 0
    CNOT 0 1
    T 2
    M 0 1 2
""")

result = clifft.sample(program, shots=1000, seed=42)
print(result.measurements[:5])

Continue with the Quick Start, or use Choose a Workflow to select an API by the result you need. You can also try Clifft in the web-based interactive playground.

Circuit Inputs

Starting point Path
Stim circuits with Clifft extensions Use the native clifft API for the broadest feature support.
OpenQASM 2 text Pass input_format="qasm2" for supported unitary circuits.
Qiskit QuantumCircuit Use clifft-qiskit, a Qiskit BackendV2 provider.
Cirq cirq.Circuit Use clifft-cirq, a converter and Cirq-style sampler.

See Circuit Inputs for installation commands, minimal examples, and current limitations.

Citation

If you use Clifft in your work, please cite the arXiv preprint below.

@misc{chase2026clifftfastexactsimulation,
      title={Clifft: Fast Exact Simulation of Near-Clifford Quantum Circuits},
      author={Bradley A. Chase and Farrokh Labib},
      year={2026},
      eprint={2604.27058},
      archivePrefix={arXiv},
      primaryClass={quant-ph},
      url={https://arxiv.org/abs/2604.27058},
}

Development

See the building from source guide for build instructions.

AI Acknowledgement

We used generative AI tools during parts of the research, software-development, and writing workflow for this project. These tools assisted with code generation and review, implementation analysis, documentation editing, and checks of selected derivations or arguments. All substantive design, validation, and release decisions were made by the human contributors.

Funding

This work was supported by the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research, Accelerated Research in Quantum Computing under Award Number DE-SC0025336.

This material is also based upon work supported by the U.S. Department of Energy, Office of Science, National Quantum Information Science Research Centers, Quantum Science Center.

License

Apache-2.0

Metadata

Release files for clifft 0.11.0rc1

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

Source distribution (sdist)

Source distribution for clifft 0.11.0rc1
File Size Uploaded
clifft-0.11.0rc1.tar.gz 3.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for clifft 0.11.0rc1
File
clifft-0.11.0rc1-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
clifft-0.11.0rc1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
clifft-0.11.0rc1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
clifft-0.11.0rc1-cp312-abi3-macosx_14_0_arm64.whl CPython 3.12 abi3 macOS 14.0+ ARM64 Details

Total release size: 6.9 MB

Release files / clifft-0.11.0rc1.tar.gz

Download URL clifft-0.11.0rc1.tar.gz
Size 3.1 MB
Tags Source
SHA-256 checksum
How to use checksums
c127f0edf13b760f81208aa88a09b7a5d93b7ab955449317d5da308248f93cc3
BLAKE2b-256 checksum
How to use checksums
a05b2f95019aafaf262e7efcf17b3405e277d5e48f5fd467531b9d0373b53d00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 30, 2026.

Transparency log

Release files / clifft-0.11.0rc1-cp312-abi3-win_amd64.whl

Download URL clifft-0.11.0rc1-cp312-abi3-win_amd64.whl
Size 859.7 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
bd5ec63c10383dffb522323d022237955ae64dbb8579d32ac2a0b8161b92d9e3
BLAKE2b-256 checksum
How to use checksums
a46d0e443e7f7949748060b39fbe5244d8657eb6b3da5a87b2f728b4d2580ac6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 30, 2026.

Transparency log

Release files / clifft-0.11.0rc1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL clifft-0.11.0rc1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
4c2b5edb881411b7a16f2dfb9dfceaf897eeb162623bffae4e881c681ad4c069
BLAKE2b-256 checksum
How to use checksums
5c03668770178219ae809ce54dd4b18e712d9a7a4d3ce9fa53342a1210d74f2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 30, 2026.

Transparency log

Release files / clifft-0.11.0rc1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL clifft-0.11.0rc1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.0 MB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
d9d3c8bdfb1c25755458ed89ca43162ecfa36f60a4014d743afed66899e00bf3
BLAKE2b-256 checksum
How to use checksums
cb0269efa93e19f0460414ad28ddc508acd96b7913338b801c77f24d7c5ce2ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 30, 2026.

Transparency log

Release files / clifft-0.11.0rc1-cp312-abi3-macosx_14_0_arm64.whl

Download URL clifft-0.11.0rc1-cp312-abi3-macosx_14_0_arm64.whl
Size 672.1 kB
Tags CPython 3.12 abi3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
f36e3b4b6f83f4e3cbf5ecd16846df33d088ab847d3a1061e167c0b77706c098
BLAKE2b-256 checksum
How to use checksums
5038a73fc93889343eb9de8e7d44754b75a72897da10f23c0050750bef2abac3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 30, 2026.

Transparency log
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