This release is a pre-release and may not be stable for production use.
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.
An experimental AMD HIP backend is available through an explicit source build and separate API. It is not part of the published wheels or selected automatically.
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clifft-0.10.0rc1.tar.gz.
File metadata
- Download URL: clifft-0.10.0rc1.tar.gz
- Upload date:
- Size: 2.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1989079843e20f6a88f41a5f522cf08955fad950991b13f7770909453069190
|
|
| MD5 |
24c5818a36ee763f091f42b2ea8ea86e
|
|
| BLAKE2b-256 |
d3971fe7dd548c12a2eb02b39a02683cfd91ef517e0f98c878755d541413b325
|
Provenance
The following attestation bundles were made for clifft-0.10.0rc1.tar.gz:
Publisher:
release.yml on unitaryfoundation/clifft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clifft-0.10.0rc1.tar.gz -
Subject digest:
f1989079843e20f6a88f41a5f522cf08955fad950991b13f7770909453069190 - Sigstore transparency entry: 2685973426
- Sigstore integration time:
-
Permalink:
unitaryfoundation/clifft@4440ecb71ab9b4922ba2f543e392fbab640cd248 -
Branch / Tag:
refs/tags/v0.10.0rc1 - Owner: https://github.com/unitaryfoundation
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4440ecb71ab9b4922ba2f543e392fbab640cd248 -
Trigger Event:
push
-
Statement type:
File details
Details for the file clifft-0.10.0rc1-cp312-abi3-win_amd64.whl.
File metadata
- Download URL: clifft-0.10.0rc1-cp312-abi3-win_amd64.whl
- Upload date:
- Size: 815.1 kB
- Tags: CPython 3.12+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6abae2dd70704cfecba5f7766029fb0a94063540dd17ad6270685b18d28a9bed
|
|
| MD5 |
79ce18e4ca9a1adfc320f0dba91122e0
|
|
| BLAKE2b-256 |
7fd870e8025cef91ce783cbb771bbe01b0dced9b3ce723c55422ca6729131e8b
|
Provenance
The following attestation bundles were made for clifft-0.10.0rc1-cp312-abi3-win_amd64.whl:
Publisher:
release.yml on unitaryfoundation/clifft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clifft-0.10.0rc1-cp312-abi3-win_amd64.whl -
Subject digest:
6abae2dd70704cfecba5f7766029fb0a94063540dd17ad6270685b18d28a9bed - Sigstore transparency entry: 2685974884
- Sigstore integration time:
-
Permalink:
unitaryfoundation/clifft@4440ecb71ab9b4922ba2f543e392fbab640cd248 -
Branch / Tag:
refs/tags/v0.10.0rc1 - Owner: https://github.com/unitaryfoundation
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4440ecb71ab9b4922ba2f543e392fbab640cd248 -
Trigger Event:
push
-
Statement type:
File details
Details for the file clifft-0.10.0rc1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: clifft-0.10.0rc1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.12+, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c0292e579299b764e2ce0db68e80a8e2d5fbee9fd849174cb40c8a8b2ff14c7
|
|
| MD5 |
79f553f80bd3df08990ce1ebec7cc574
|
|
| BLAKE2b-256 |
e3ba9974338456fe1f90d4ceab37dee52d792c8be868422d4ff8c293685932c8
|
Provenance
The following attestation bundles were made for clifft-0.10.0rc1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on unitaryfoundation/clifft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clifft-0.10.0rc1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
3c0292e579299b764e2ce0db68e80a8e2d5fbee9fd849174cb40c8a8b2ff14c7 - Sigstore transparency entry: 2685973983
- Sigstore integration time:
-
Permalink:
unitaryfoundation/clifft@4440ecb71ab9b4922ba2f543e392fbab640cd248 -
Branch / Tag:
refs/tags/v0.10.0rc1 - Owner: https://github.com/unitaryfoundation
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4440ecb71ab9b4922ba2f543e392fbab640cd248 -
Trigger Event:
push
-
Statement type:
File details
Details for the file clifft-0.10.0rc1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: clifft-0.10.0rc1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 999.2 kB
- Tags: CPython 3.12+, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40230119bdba4ac253025d587280ab20d7d7eb59584a2b731d164afaa619ad73
|
|
| MD5 |
93774306d73f79b916e08bc477056775
|
|
| BLAKE2b-256 |
fd40e94b6942dd2687476730100b9855408419e38117cb8cbd381e8bceb17a5f
|
Provenance
The following attestation bundles were made for clifft-0.10.0rc1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on unitaryfoundation/clifft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clifft-0.10.0rc1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
40230119bdba4ac253025d587280ab20d7d7eb59584a2b731d164afaa619ad73 - Sigstore transparency entry: 2685974359
- Sigstore integration time:
-
Permalink:
unitaryfoundation/clifft@4440ecb71ab9b4922ba2f543e392fbab640cd248 -
Branch / Tag:
refs/tags/v0.10.0rc1 - Owner: https://github.com/unitaryfoundation
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4440ecb71ab9b4922ba2f543e392fbab640cd248 -
Trigger Event:
push
-
Statement type:
File details
Details for the file clifft-0.10.0rc1-cp312-abi3-macosx_14_0_arm64.whl.
File metadata
- Download URL: clifft-0.10.0rc1-cp312-abi3-macosx_14_0_arm64.whl
- Upload date:
- Size: 780.2 kB
- Tags: CPython 3.12+, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74e60b24bea2e0e6a806d210527baa062bcd4d481f2f8a306a3f39576f3bde2f
|
|
| MD5 |
6c1a0978ceb752965a268aa365b7ff98
|
|
| BLAKE2b-256 |
9ed3f13fadaccbc3dc58038c2ffefd9c8834d9efd08d0839d8dd7f23e3ac9c1f
|
Provenance
The following attestation bundles were made for clifft-0.10.0rc1-cp312-abi3-macosx_14_0_arm64.whl:
Publisher:
release.yml on unitaryfoundation/clifft
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clifft-0.10.0rc1-cp312-abi3-macosx_14_0_arm64.whl -
Subject digest:
74e60b24bea2e0e6a806d210527baa062bcd4d481f2f8a306a3f39576f3bde2f - Sigstore transparency entry: 2685975429
- Sigstore integration time:
-
Permalink:
unitaryfoundation/clifft@4440ecb71ab9b4922ba2f543e392fbab640cd248 -
Branch / Tag:
refs/tags/v0.10.0rc1 - Owner: https://github.com/unitaryfoundation
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4440ecb71ab9b4922ba2f543e392fbab640cd248 -
Trigger Event:
push
-
Statement type: