qufold
Fermionic Hamiltonian downfolding + projective quantum eigensolvers, driven by a single Q-Chem-style input file.
qufold builds compact, accurate effective active-space Hamiltonians from a
full electronic-structure problem, so that the expensive part of a quantum
simulation (qubitized QPE, FCI, a projective eigensolver) runs on a small,
strongly-correlated active space instead of the full orbital set. Its flagship
method is CFU — Closed-Form Unitary downfolding — which applies a sequence
of exact single-generator unitary similarity transforms to the Hamiltonian
before projecting the external orbitals onto Hartree–Fock. "Closed-form" means
each rotation e^{-θA} H e^{θA} is evaluated exactly (no Baker–Campbell–Hausdorff
truncation), so every step is rigorously unitary and norm-preserving.
You write one text file and run one command:
qufold examples/cfu/h4_cfu.in
The architecture is deliberately layered so the physics is auditable and the
performance is swappable: every method is written once against a small
operator-algebra interface (commutator, multiply, similarity_transform,
rotate_single, hf_expectation, gradient, optimal_theta) and then runs
unchanged on three interchangeable backends — a transparent reference
implementation, a fast compiled C++ kernel, and a GPU Majorana kernel.
Status
qufold is research software under active development (alpha). All five methods
run end-to-end on the openfermion reference backend and the fast cpu (C++
kernel) backend, with identical results; the gpu (CuPy Majorana) backend is
wired against the same contract but has not yet been validated on GPU hardware
(it imports cleanly and, when no GPU is present, transparently falls back to the
reference backend). The table below is an honest map of what runs today.
Methods × backends
| Method | openfermion (reference) | cpu (C++ kernel) | gpu (CuPy Majorana) |
|---|---|---|---|
| cfu — Closed-Form Unitary | ✅ implemented | ✅ implemented | ✅ kernel-validated¹ |
| ucc — Double Unitary CC | ✅ implemented | ✅ implemented | ✅ kernel-validated¹ |
| pucc — Projective UCC | ✅ implemented | ✅ implemented | ✅ kernel-validated¹ |
| ccsd_downfold — non-unitary CCSD | ✅ implemented | ✅ implemented | ✅ kernel-validated¹ |
| pqe — Projective Quantum Eigensolver | ✅ implemented | ✅ implemented | ✅ kernel-validated¹ |
Legend: ✅ implemented = runs and is validated. The cpu backend reproduces
the openfermion reference bit-for-bit on the operator algebra and gives
identical energies on every method. ✅ kernel-validated¹ = the gpu backend's
CuPy Majorana algebra (product/commutator/transform — the GPU-specific code) was
checked on an NVIDIA H100 to match the numpy reference to machine precision
(max|Δ| ≈ 1e-16); since the method orchestration above it is backend-agnostic
shared code (already validated on openfermion/cpu), the GPU path is correct.
No method is a stub — every method is implemented; only unsupported options
(e.g. PUCC triples, pucc_order≠2) raise a clear error. Requesting gpu with no
GPU/CuPy present falls back to openfermion with a warning rather than crashing.
¹ GPU env note (resolved in 0.2.1): a full GPU run needs
openfermion(for the problem build / reference) andcupyin the same process. This used to be impossible because OpenFermion pulled an oldcirq(≤1.4) that pinnednumpy<2, while CuPy needsnumpy≥2. As ofcirq≥1.5/openfermion≥1.7.1that pin is gone — both happily share a singlenumpy≥2environment — sopip install qufold[gpu]now resolves cleanly and a full method runs end-to-end on the GPU. (If you have an oldercirq==1.4.*lying around,pip install -U "cirq-core>=1.5"clears it.) The GPU kernel itself was validated independently on an NVIDIA H100 either way.
Why keep the reference backend front-and-centre? It is the auditable truth: each
primitive maps one-to-one to the math via OpenFermion/NumPy. The cpu (pybind11
fermionic kernel, ~7–10× faster on normal-ordered commutators/products) and gpu
(CuPy bit-packed Majorana kernel — operators as 128-bit bitmasks, products are
XOR + popcount) backends are validated against it.
Validation snapshot
- Exact downfold: the
K=0(no-transform) downfold → FCI reproduces the full FCI / PySCF CASCI to~1e-12Ha — the active-space projection itself is exact, so any recovery comes from the transforms, not approximation. - CFU on H4 recovers ~87 % of the CASSCF→FCI correlation gap.
- All five methods run end-to-end on H4 CAS(2,2) on both the
openfermionandcpubackends, giving identical energies (e.g. CFU −2.14068, PUCC −2.16049, CCSD-downfold −2.16536 on both backends). cpubackend reproduces the reference operator algebra bit-for-bit (commutator max|Δ| = 0).gpubackend (CuPy Majorana kernel) validated on an NVIDIA H100: product and commutator match the numpy reference tomax|Δ| ≈ 1e-16.- Test suite: 44/44
pytestpassing (parser, downfold-exactness, CFU, UCC, LP-BLISS spectrum-preservation + GPU/host column equivalence, CUDA-kernel algorithm, expectation-value truncation).
Solvers, truncation & extrapolation (new in 0.2.0)
The downfolded (and full, un-downfolded) Hamiltonian can be solved beyond exact FCI, and the CFU transform can be truncated by a controllable error budget:
- DMRG solver (
downfold_solver = dmrg, requiresqufold[dmrg]→ block2): solves active spaces too large for sparse FCI, with arbitrary operator body rank, over a general spin-orbital MPO. - Discarded-weight extrapolation (
dmrg_extrapolate, severaldmrg_bond_dims): linearE(δϵ) → E(0)fit with a reported 95 % CI — the standard route to the DMRG complete-basis limit. - Full-space DMRG reference (
solve_full_dmrg): an independent DMRG solve of the un-downfolded active Hamiltonian, for benchmarking the downfolding gap. - Budget truncation (
trunc_criterion = budget,trunc_budget): drops the smallest terms up to a cumulative-ℓ1 cap per transform, so the discarded operator obeys ‖ΔH‖ ≤ budget (triangle bound) — a rigorous, far more effective knob than the flat per-termtrunc_epsthreshold. - Expectation-value truncation (
trunc_criterion = expval,trunc_budget, new in 0.3.0): downfolds to the active CAS, solves the CISD state, and drops the smallest-coefficient monomials while the accumulated|⟨ψ|ΔH|ψ⟩|stays within the budget — it spends the budget on the energy error rather than the coefficient norm, so it cuts far more terms at a given accuracy (cost: a CISD solve per step). - Fastest path: the
cpubackend's pybind11 C++ kernel (fast_comm/fast_mul, ~7–10× over pure NumPy) is the default fast route for production-scale CPU transforms; on thegpubackend the 128-bit Majorana product runs as a custom CUDA kernel (one thread per monomial pair, sign computed inline — new in 0.3.0), self-validated against the pure-CuPy path at first use with automatic fallback (QUFOLD_GPU_RAWKERNEL=0to force the broadcast path).
LP-BLISS — spectrum-preserving 1-norm reduction (new in 0.3.0)
The quantity that sets qubitized-QPE query cost is the LCU 1-norm
λ = Σ_{P≠I} |c_P| of the qubit Hamiltonian. LP-BLISS shrinks it for free:
it subtracts a symmetry shift H → H − Σ_j ξ_j Ô_j whose every generator Ô_j
vanishes on the Nₑ-electron sector, so the physical eigenvalues — and hence the
CFU energy — are left exactly unchanged while λ drops. The coefficients ξ come
from a sparse-HiGHS linear program minimizing the true Jordan-Wigner/Pauli 1-norm,
computed through the package's own Majorana expansion (one Majorana monomial ↔ one
Pauli string), so there is no Jordan-Wigner pass and no extra dependency.
bliss = final(recommended): one shift of the downfolded effective Hamiltonian — the directly QRE-relevant operator. Reports λ before/after.bliss = inloop: shift the full-space operator after every rotation, to control term growth and λ during the transform.bliss_generators:dressed(number-dressed(N̂−Nₑ)^m·E_pqshifts, H-independent, default) orhterms(H's own monomials promoted toO·(N̂−Nₑ)).
Backend-agnostic — it rides on top of whichever backend runs the transform — and
is off by default. On the gpu backend the one heavy step (the Majorana 1-norm
columns the LP needs) is built on-device in the bit-packed kernel rather than
re-expanded on the CPU each step, so in-loop / final BLISS stays on the GPU fast
path. (bliss = inloop is downfold-energy-exact only with the dressed family;
final is exact for both.)
Install
qufold works out of the box with only the reference backend's dependencies
(NumPy, SciPy, OpenFermion, PySCF):
pip install qufold # reference (openfermion) backend
pip install "qufold[cpu]" # + compile the bundled C++ fermionic kernel
pip install "qufold[gpu]" # + GPU Majorana backend (needs CuPy/CUDA)
pip install "qufold[pqe]" # + QForte bridge for the PQE methods
pip install "qufold[dev]" # + tests / docs / build tooling
From source (development):
git clone https://github.com/mjangrou/qufold
cd qufold
pip install -e ".[dev]"
The fast cpu backend ships its compiled kernel as package data
(qufold/_vendor/*.so); public wheels carry a prebuilt kernel so most users
never compile anything (see Distribution model below).
Quickstart
# 1. activate an environment with the deps (see Install)
# 2. run the bundled H4 CFU example
qufold examples/cfu/h4_cfu.in
# 3. read the result block printed to stdout (reference energy, downfolded
# energy, recovery in mHa, generator count, trajectory)
# 4. or drive it programmatically:
python -c "import qufold; print(qufold.run_calculation('examples/cfu/h4_cfu.in').energy)"
The input file ($molecule / $rem)
A calculation is fully specified by one human-friendly, Q-Chem/Psi4-flavoured
keyword file: a $molecule block (geometry + charge/multiplicity) and a $rem
("remarks") keyword block. Lines are keyword value; # starts a comment;
sections are $section … $end.
$molecule
0 1 # charge spin-multiplicity
H 0.0000 0.0000 0.0000
H 0.0000 0.0000 0.7400
H 0.0000 0.0000 2.0000
H 0.0000 0.0000 2.7400
$end
$rem
method cfu # cfu | ucc | pucc | ccsd_downfold | pqe
backend openfermion # openfermion | cpu | gpu
basis sto-3g
active_space full # avas | manual | full
orbital_opt true # CASSCF-optimize before downfolding
n_generators 40 # CFU: number of greedy-ADAPT steps K
generator_pool ccsd_screened # screened doubles (singles excluded by design)
pool_tol 1e-3
solve_fci true # exactly diagonalize the downfolded Hamiltonian
$end
Every keyword — its type, default, allowed values, and a one-paragraph help
string — lives in qufold/input/keywords.py, the single source of truth from
which the keyword reference (docs/keywords.md) is generated, so the manual can
never drift from the code.
How it fits together
input file ─► Calculation ─► Problem (SCF / active space / CASSCF-OO)
─► Method.run(backend) ─► Result ─► analysis (FCI, λ) ─► output
qufold/input/— parser + keyword registry (the manual-in-code).qufold/core/—Problembuilder (hamiltonian.py), CC amplitudes and the screened-doubles generator pool (amplitudes.py), FCI / LCU-1-norm analysis (analysis.py).qufold/methods/— thin orchestration over backend primitives. Each method subclassesMethodand setsname=<keyword>. CFU is the worked template (cfu.py).qufold/backends/— the operator algebra.base.pyis the contract;openfermion_backend.pyis the reference impl;registry.pyselects with graceful failover.qufold/downfold/— the backend-independent Majorana-space projection (projector.downfold_to_active(H, problem)), exact for any body rank.qufold/drivers/driver.py— top-level orchestration (the CLI calls this; also the programmaticqufold.run_calculation).
Operators cross every API boundary as a plain dict
FermionOp = { ((p,1),(q,0),…): complex } (OpenFermion term convention,
1 = creation, 0 = annihilation), so methods stay backend-agnostic even when a
backend uses a faster internal representation (e.g. Majorana bitmasks).
Documentation
docs/keywords.md— the full keyword reference (generated fromqufold/input/keywords.py).docs/methods/— the theory and contract for each method (CFU, UCC, PUCC, CCSD downfolding, PQE).docs/tutorials/— worked end-to-end examples.examples/— ready-to-run input files (examples/cfu/h4_cfu.in, …).CONTRIBUTING.md— how to add a method, a keyword, or a backend.
Distribution model
qufold is developed in a private repository and released publicly as
source-hidden binary wheels on PyPI for tagged versions. Every module —
including the package __init__ files — is Cython-compiled to a platform
.so and the original .py is excluded from the wheel, so the published
package contains no readable Python source and no .pyc bytecode, only
symbol-stripped machine code plus the compiled C++ kernel. pip install qufold
then gives users the full functionality (and the fast cpu backend) without a
compiler and without the source.
This is the strongest practical obfuscation for a pip package: recovering the
original Python from a Cython .so is impractical (it is compiled C, not
bytecode). It is not cryptographic secrecy — any runnable executable can in
principle be reverse-engineered — but it defeats casual reading and decompilation.
The .github/workflows/wheels.yml pipeline builds these compiled wheels with
cibuildwheel across Linux/macOS/Windows × CPython 3.10–3.13 on every vX.Y.Z
tag and publishes them to PyPI via Trusted Publishing (no API token). Wheels
only — no source distribution (sdist) is ever published, since an sdist would
ship the source. (Trade-off: users on a platform/Python without a matching wheel
cannot install; the wheel matrix is kept broad to cover common setups.)
See setup.py for the build and .github/workflows/wheels.yml for the one-time
PyPI Trusted-Publisher setup.
Citation
If qufold is useful in your work, please cite it (a CITATION.cff will ship
with the first tagged release). Authors: Mohammad Reza Jangrouei,
Artur F. Izmaylov.
License
MIT — see LICENSE.
Metadata
Release files for qufold 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 18.5 MB
Release files / qufold-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | qufold-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
4bf561817959fdf67bb1ecc361669337a39c88963e92bb2f5228d24f75e2ef41
|
|
BLAKE2b-256 checksum How to use checksums |
61e378b9a12a1909052b63678ce840510e3490da5ed2caba6963d0b63b33c70b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 18, 2026.
Transparency logRelease files / qufold-0.3.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | qufold-0.3.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
22119a4bb8d0c5e01fd882a97b448e872028ac751ec8b18bf290db1a79947f04
|
|
BLAKE2b-256 checksum How to use checksums |
d43ea1092387def1dd78583dd79b9ea8f203e0471a69e866c38f58d90fccdd77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 18, 2026.
Transparency logRelease files / qufold-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | qufold-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
bda18ec235a836ef525c090f9cfea988869f5fc265c5b6693d50a88d0f88f668
|
|
BLAKE2b-256 checksum How to use checksums |
cfeaa8340df40444cff860de380cf5a861fdbc45566652016e5583238f4ef658
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 18, 2026.
Transparency logRelease files / qufold-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | qufold-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
3ef4a2ec856b0b8167db3eb4ee9a4c640ab878b6d376554948c25321a23ac99e
|
|
BLAKE2b-256 checksum How to use checksums |
a3caea3311dc56c572427fa55ba877328a351bd336624e258c29e3be38738ee7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 18, 2026.
Transparency logRelease files / qufold-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | qufold-0.3.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b2c7e3b7b8ae70df17b3dd8ee61b5766ccd30017924331386560b05d12bcad42
|
|
BLAKE2b-256 checksum How to use checksums |
4f68416e6a5ef609065bcd00c8c550cf50ecfc198dbfc1e3f331e7cedb8f0497
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 18, 2026.
Transparency logRelease files / qufold-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | qufold-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
37bf8eb4ef45c3d38134e8fdbcd92d9ebe1a7c66749d879218222063ca90f89c
|
|
BLAKE2b-256 checksum How to use checksums |
13e4de0e73dcbb8928eacd915f886ad5c9990e070ec6f93fadf2f18cb5e2c655
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 18, 2026.
Transparency logRelease files / qufold-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | qufold-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
59356043e14bcb5593aa82fc67cd1e5fefd7d119c62c60a83b1bb2b614f20e71
|
|
BLAKE2b-256 checksum How to use checksums |
48331028f3612e0ae62bd8256dba9569f7ad234d68e54e914fbdb169f933fff9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 18, 2026.
Transparency logRelease files / qufold-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | qufold-0.3.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9098a7053c489fa3cf4353e460fd4c2abfc848b8949102f00748c1f17bd71d66
|
|
BLAKE2b-256 checksum How to use checksums |
41ea7db09c5db1592bbc87044bc1f0c22dc76f7de83e683829a0b3fa4ffbdfb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 18, 2026.
Transparency logRelease files / qufold-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | qufold-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
87bed56758c946cfb4bc37854bf7bfce2b50b6ff0b4ec01bb69d8ae5f1607d86
|
|
BLAKE2b-256 checksum How to use checksums |
2018737d8c8ef05919c5da467d94e350e8c82fe0468486cf33f6ccdd719b98da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 18, 2026.
Transparency logRelease files / qufold-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | qufold-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
bf32935b6b801f2014c515614ca4e17fb44fbef439a7ccc38f09d63d16814769
|
|
BLAKE2b-256 checksum How to use checksums |
1403e07da33af4eb02fd7f79f76e35dacf27ab82948407ef514be96ee7c96afb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 18, 2026.
Transparency logRelease files / qufold-0.3.1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | qufold-0.3.1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
73675bb9d4a7f7b0ce3f60b57044c1153ec8df67115d5c0455c98cc7803be968
|
|
BLAKE2b-256 checksum How to use checksums |
08577a9051e8c61401d82e292d3f93fc95e23364a37ecc107166d39becf4d387
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 18, 2026.
Transparency logRelease files / qufold-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | qufold-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
f486133e0d391f892e40152f6eb4f1733a4a0d573b83e82f16d3f97c24dc8f77
|
|
BLAKE2b-256 checksum How to use checksums |
136222a5b3e00e49d24a22b4e1169798a1fecca3ca42c266d38d22801cd90379
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 18, 2026.
Transparency logSecurity for qufold 0.3.1
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.
Full provenance
All 12 files in this release have been uploaded with provenance metadata.
Attestation for qufold-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
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 18, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.