xTBloom for Python
xTBloom provides batched GFN1/GFN2-xTB energies, analytic forces, and charges through a NumPy-friendly interface backed by the same stable C ABI used by native C and C++ applications.
GFN1-xTB and GFN2-xTB support CPU and CUDA through Calculator,
BatchCalculator, ASE, and dpdata. Both models support native ragged batches,
explicit point charges with force output, and caller-supplied periodic charge
response. The packed Array API/DLPack surface and PyTorch positions-only
autograd also support both models.
Installation
Install xTBloom from PyPI. Python 3.10 or newer is required:
pip install xtbloom
Linux x86_64 and aarch64 wheels include the CUDA backend. Add the supported CUDA 12 user-space libraries when the environment does not already provide them:
pip install "xtbloom[cuda12]"
Optional integrations can be combined with either backend. For example, add ASE and dpdata to the CUDA environment with:
pip install "xtbloom[cuda12,ase,dpdata]"
Published Linux, macOS, and Windows wheels include a private LP64 OpenBLAS
provider for CPU inference; scipy-openblas32 is used only while building the
wheels and is not installed as a runtime dependency. CUDA execution additionally
needs a real NVIDIA GPU and compatible driver. The cuda12 extra supplies the
supported nvidia-* user-space packages but cannot install the driver.
Build from source
Use a source build only when developing xTBloom or when a published wheel does not cover the target. From a complete source checkout, sync the locked, non-editable package into uv's project environment:
uv sync --locked --no-editable --no-default-groups --reinstall-package xtbloom
CUDA build selection defaults to AUTO: an available nvcc enables CUDA;
otherwise the source build is CPU-only. Add --extra cuda12 when the supported
CUDA 12 host libraries are not supplied by the system. Run commands with
uv run --no-sync or activate .venv directly.
Ordinary source builds do not bundle OpenBLAS. They auto-discover a compatible
system monolithic LP64 LAPACKE+CBLAS runtime; if none is discoverable, add
CMAKE_ARGS="-DXTBLOOM_CPU_LINALG_LIBRARY=/absolute/path/to/provider.so" to the
sync command. Keep --reinstall-package xtbloom when changing this path or
explicitly overriding the XTBLOOM_ENABLE_CUDA=AUTO default, because uv's local
wheel cache does not key native builds by those environment variables.
A normal branch checkout must include complete Git tag history; an exact-tag Python build is the documented shallow-checkout exception. Source builds need C/C++ compilers with C11/C++17 support, and repository test configurations require Python 3.11 or newer. CMake, GCC/Clang, NVCC/CUDA Toolkit, Ninja/uv, BLAS, platform, driver, and wheel/source-build boundaries are listed in the authoritative prerequisites matrix.
Source-build and package-boundary details are in the developer guide.
Single-point calculation
The high-level API uses atomic units: positions are in bohr, energies in
Hartree, forces in Hartree/bohr, and charges in elementary-charge units.
electronic_temperature is the exception: Python accepts kelvin.
import numpy as np
from xtbloom import BatchCalculator, Calculator, Structure
numbers = np.array([8, 1, 1])
positions = np.array(
[
[0.0000000000, 0.0000000000, -0.7357858611],
[1.4418315287, 0.0000000000, 0.3678929305],
[-1.4418315287, 0.0000000000, 0.3678929305],
]
)
backend = "cuda" # Use "cpu" to require CPU execution instead.
with Calculator("GFN2-xTB", numbers, positions, backend=backend) as calc:
result = calc.singlepoint()
print(result["energy"])
print(result["forces"])
print(result["charges"])
result["gradient"] is the negative of result["forces"]. At finite
electronic temperature, the reported variational energy is the electronic
Helmholtz free energy.
Calculator.hessian() evaluates one dense numerical QM-coordinate energy
Hessian as central differences of analytic forces. BatchCalculator.hessian()
returns one matrix per structure and interleaves their displacement tasks in
native ragged force calls under one fixed thread/device budget:
with Calculator("GFN2-xTB", numbers, positions, backend="cuda") as calc:
hessian = calc.hessian(step=0.005, symmetrize=True)
structures = [Structure(numbers, positions), Structure(numbers, positions * 1.01)]
with BatchCalculator(structures, backend="cuda", cpu_threads=16) as calc:
hessians = calc.hessian(step=0.005, symmetrize=True)
Each result is a NumPy float64 array with shape (3 * natoms, 3 * natoms) and
units Hartree/bohr²; the batch method returns an input-ordered list for ragged
atom counts. By default, the methods automatically chunk the displaced
geometries; a positive auto_batch_size sets the same atom-count limit accepted
by BatchCalculator.compute(), while False or None submits all
displacements at once. The raw finite-difference matrices are returned by
default so antisymmetric numerical error remains visible, while
symmetrize=True applies 0.5 * (H + H.T) to each matrix.
Only QM coordinates are displaced. Point-charge coordinates and values,
electric fields, and caller-supplied charge-response b/A operators remain
fixed, so no QM–point-charge or point-charge–point-charge blocks are included
and derivatives of b/A remain caller-owned. This explicit numerical method
does not change the narrower PyTorch autograd contract described below.
Set backend="cpu" or backend="cuda" to require one backend. The CUDA
quickstart above deliberately uses "cuda" so an unavailable GPU fails clearly
instead of running on CPU. "auto" prefers CUDA but falls back to CPU.
The same AUTO policy applies to GFN1-xTB and GFN2-xTB. A build without CUDA may
return BACKEND_UNAVAILABLE when creating an explicitly requested CUDA
context; a nonnegative device_id can be used with AUTO or CUDA.
Compatible calls can opt into electronic warm starts; the default is an
independent fresh SCC solve.
Native ragged batches
BatchCalculator packs differently sized Structure objects into one native
request. Per-system SCC or eigensolver failures remain local: successful peers
are preserved, and failed floating-point slices contain NaNs plus diagnostics.
import numpy as np
from xtbloom import BatchCalculator, Structure
structures = [
Structure([1, 1], np.array([[-0.7, 0.0, 0.0], [0.7, 0.0, 0.0]])),
Structure(
[8, 1, 1],
np.array(
[
[0.0000, 0.0000, -0.7358],
[1.4418, 0.0000, 0.3679],
[-1.4418, 0.0000, 0.3679],
]
),
),
]
with BatchCalculator(structures, backend="cuda") as calc: # Use "cpu" for CPU-only builds.
batch = calc.compute()
print(batch.energies)
print(batch[1].forces)
print(batch.failed_indices)
compute(auto_batch_size=True) can split very large workloads into
conservative CUDA chunks while preserving input order.
Advanced array and CUDA paths
ArrayBatch accepts method="GFN1-xTB"/"GFN1" and
method="GFN2-xTB"/"GFN2", with GFN2-xTB retained as the default. It accepts
packed ragged descriptors from eager NumPy, CuPy, JAX, or PyTorch arrays through
__dlpack__ and __dlpack_device__. Host arrays map to host descriptors; CUDA
arrays can remain device-resident. By default, results return as host NumPy
arrays.
Use an out= mapping for caller-owned NumPy, CuPy, or PyTorch output buffers,
or result_memory="cuda" for one xTBloom-owned packed device arena exported as
DLPack producers. Exact dtype, shape, layout, lifetime, stream, and ownership
rules are documented in the
Python API guide.
xtbloom_torch accepts method="GFN1-xTB"/"GFN1" and
method="GFN2-xTB"/"GFN2", with GFN2-xTB retained as the default. For example:
energies, forces = xtbloom_torch(
positions,
atomic_numbers,
atom_offsets,
molecular_charges,
unpaired_electrons,
method="GFN1-xTB",
backend="cuda",
)
It runs xTBloom inference on PyTorch tensors (host or CUDA) and is the only
autograd entry point in the Python API. It supports exactly the positions
gradient dE/dR = -F; autograd on any other input, or a gradient flowing
through the forces output (the Hessian), raises XTBloomNotSupportedError.
Higher-order differentiation is likewise rejected explicitly rather than
returning a partial or zero Hessian. The native data plane is a compiled
extension written against the LibTorch Stable ABI (torch >= 2.10), so a single
binary works across torch releases; its stable headers are vendored in
cmake/3rdparty/torch-stable and it links a build-time-only stub, so building
xTBloom never downloads or requires torch (torch is still required at runtime
to call xtbloom_torch). PyTorch is imported only when the op is called. CPU
execution is synchronous; CUDA follows torch.cuda.current_stream() and
returns the ordinary (energies, forces) pair. See docs/user-guide/python.md
for the full contract.
Charge, spin, and embedding
Use either multiplicity or uhf = multiplicity - 1 for open-shell
calculations. Open-shell Python calculations default to two unrestricted spin
channels; spin_channels=1 requests the restricted open-shell form.
PointCharge inputs participate in every SCC iteration, and xTBloom can
return forces on both QM atoms and point charges. ChargeResponse(shifts=b, matrix=A) supplies a caller-owned b + A q operator on the atomic-charge
channel. Returned forces hold those external fields fixed; callers own their
coordinate derivatives and classical MM-MM terms.
See the QM/MM guide for the complete contract.
ASE and dpdata
ASE exposes xTBloom through its usual eV and angstrom conventions:
from ase.build import molecule
from xtbloom.ase import XTBloom
atoms = molecule("H2O")
atoms.calc = XTBloom(method="GFN2-xTB")
energy_ev = atoms.get_potential_energy()
forces_ev_per_angstrom = atoms.get_forces()
dpdata can label systems through the xTBloom driver:
import dpdata
system = dpdata.System("geometry.xyz", fmt="xyz")
labeled = system.predict(driver="xtbloom", charge=0, multiplicity=1)
The dpdata integration also provides a batch-native minimizer built from repeated xTBloom single-point calls. This is a higher-level adapter, not native geometry optimization in the C ABI.
Scope
GFN1 electric fields/dipoles, ROCm, lattice/PBC inputs, solvation, native
geometry-optimization and molecular-dynamics drivers, native/analytic Hessians,
and higher-order autograd are not implemented. Python provides numerical QM
Cartesian Hessians and vibrational analysis,
while standard ASE integrators provide molecular dynamics
over repeated xTBloom calculations.
The high-level Calculator and BatchCalculator APIs use host NumPy arrays;
direct device and mixed descriptors are exposed through the model-aware
ArrayBatch surface and the low-level C ABI. PyTorch autograd supports GFN1 and
GFN2 with the positions-only dE/dR = -F contract.
More documentation
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 xtbloom-0.2.2.tar.gz.
File metadata
- Download URL: xtbloom-0.2.2.tar.gz
- Upload date:
- Size: 2.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a29d63e592de6ce05cb33c4cc26dc1c3e2ac9ced4c8e1ccb840d83cfadf82739
|
|
| MD5 |
e0e22a59cf95f0d1cd44683b8de48571
|
|
| BLAKE2b-256 |
33f184c3b90c710e792cb6464b310ff0405147aafcec05aa066f931f5b643b6a
|
Provenance
The following attestation bundles were made for xtbloom-0.2.2.tar.gz:
Publisher:
wheels.yml on jinzhezenggroup/xtbloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xtbloom-0.2.2.tar.gz -
Subject digest:
a29d63e592de6ce05cb33c4cc26dc1c3e2ac9ced4c8e1ccb840d83cfadf82739 - Sigstore transparency entry: 2625338697
- Sigstore integration time:
-
Permalink:
jinzhezenggroup/xtbloom@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/jinzhezenggroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file xtbloom-0.2.2-py3-none-win_arm64.whl.
File metadata
- Download URL: xtbloom-0.2.2-py3-none-win_arm64.whl
- Upload date:
- Size: 6.2 MB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
691e7a041170b82133fc8a4c854ec3d7972fc81bd908f3d49ae2d6c33bd3ec4f
|
|
| MD5 |
aed99d5910167450ab21803583f43de0
|
|
| BLAKE2b-256 |
ca001d14f69ebf9397c8a46275e6e5e0d72eefc2e97295512b1cb9d58f6e47f0
|
Provenance
The following attestation bundles were made for xtbloom-0.2.2-py3-none-win_arm64.whl:
Publisher:
wheels.yml on jinzhezenggroup/xtbloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xtbloom-0.2.2-py3-none-win_arm64.whl -
Subject digest:
691e7a041170b82133fc8a4c854ec3d7972fc81bd908f3d49ae2d6c33bd3ec4f - Sigstore transparency entry: 2625344296
- Sigstore integration time:
-
Permalink:
jinzhezenggroup/xtbloom@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/jinzhezenggroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file xtbloom-0.2.2-py3-none-win_amd64.whl.
File metadata
- Download URL: xtbloom-0.2.2-py3-none-win_amd64.whl
- Upload date:
- Size: 8.2 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31f1560b3e12afaad45e7f96495299c6d8928a525d018e36aa12aab1e7a0edfc
|
|
| MD5 |
520a8f7cde938fb10ba99cff0d51fff1
|
|
| BLAKE2b-256 |
5e39766334deec00c0f9bae82d4b87e68d349cac1e2a7290d97b7d2339c9f6f3
|
Provenance
The following attestation bundles were made for xtbloom-0.2.2-py3-none-win_amd64.whl:
Publisher:
wheels.yml on jinzhezenggroup/xtbloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xtbloom-0.2.2-py3-none-win_amd64.whl -
Subject digest:
31f1560b3e12afaad45e7f96495299c6d8928a525d018e36aa12aab1e7a0edfc - Sigstore transparency entry: 2625345928
- Sigstore integration time:
-
Permalink:
jinzhezenggroup/xtbloom@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/jinzhezenggroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file xtbloom-0.2.2-py3-none-pyemscripten_2026_0_wasm32.whl.
File metadata
- Download URL: xtbloom-0.2.2-py3-none-pyemscripten_2026_0_wasm32.whl
- Upload date:
- Size: 3.4 MB
- Tags: PyEmscripten 2026.0 wasm32, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50a046baa671c03c466d9f3560698eca96f1e4793a89ab3249673b55f93a0aac
|
|
| MD5 |
1f08bb1b3dfe399402a3b6f3a30127d7
|
|
| BLAKE2b-256 |
9a07079a8e9f01cad20bf2fb1e82d421ce7438e5a853f54e442ee31ca9a4ffef
|
Provenance
The following attestation bundles were made for xtbloom-0.2.2-py3-none-pyemscripten_2026_0_wasm32.whl:
Publisher:
wheels.yml on jinzhezenggroup/xtbloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xtbloom-0.2.2-py3-none-pyemscripten_2026_0_wasm32.whl -
Subject digest:
50a046baa671c03c466d9f3560698eca96f1e4793a89ab3249673b55f93a0aac - Sigstore transparency entry: 2625339425
- Sigstore integration time:
-
Permalink:
jinzhezenggroup/xtbloom@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/jinzhezenggroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file xtbloom-0.2.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: xtbloom-0.2.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 26.0 MB
- Tags: Python 3, 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 |
55e21bc96dfcf28e6aeff068409ae5d2b3bf2131174e95d5c32172a21fa42f92
|
|
| MD5 |
25f54be3261874d4f635fe655d078c57
|
|
| BLAKE2b-256 |
c474f468643afa7f1f34a0221f872e049feee230c4071d8cbe9b8da3a777e44a
|
Provenance
The following attestation bundles were made for xtbloom-0.2.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on jinzhezenggroup/xtbloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xtbloom-0.2.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
55e21bc96dfcf28e6aeff068409ae5d2b3bf2131174e95d5c32172a21fa42f92 - Sigstore transparency entry: 2625345307
- Sigstore integration time:
-
Permalink:
jinzhezenggroup/xtbloom@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/jinzhezenggroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file xtbloom-0.2.2-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: xtbloom-0.2.2-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 26.3 MB
- Tags: Python 3, manylinux: glibc 2.27+ 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 |
14ae41d7c071a6d73e723415b812e5c9cb61497dfb0e7a0289de3e3fae28843f
|
|
| MD5 |
2ad4966136224f72d35c029ee21ac836
|
|
| BLAKE2b-256 |
67dafb3327594f2412718a0086b9b3dca4b7595e06334cce92f51f2056223f06
|
Provenance
The following attestation bundles were made for xtbloom-0.2.2-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
wheels.yml on jinzhezenggroup/xtbloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xtbloom-0.2.2-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
14ae41d7c071a6d73e723415b812e5c9cb61497dfb0e7a0289de3e3fae28843f - Sigstore transparency entry: 2625343817
- Sigstore integration time:
-
Permalink:
jinzhezenggroup/xtbloom@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/jinzhezenggroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file xtbloom-0.2.2-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: xtbloom-0.2.2-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 8.2 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fa77910b139a8792e8f1e380a20b23f43f189a046efbd27d7ac47340e5ae3e2
|
|
| MD5 |
2cf28fe15677819e9a12c2a8e89f7b94
|
|
| BLAKE2b-256 |
3d03823e9c94196cd2eeed9443b4d0ab7a8fc567be179f8dcabd55be2b9cb597
|
Provenance
The following attestation bundles were made for xtbloom-0.2.2-py3-none-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on jinzhezenggroup/xtbloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xtbloom-0.2.2-py3-none-macosx_11_0_arm64.whl -
Subject digest:
4fa77910b139a8792e8f1e380a20b23f43f189a046efbd27d7ac47340e5ae3e2 - Sigstore transparency entry: 2625341450
- Sigstore integration time:
-
Permalink:
jinzhezenggroup/xtbloom@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/jinzhezenggroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file xtbloom-0.2.2-py3-none-macosx_10_15_x86_64.whl.
File metadata
- Download URL: xtbloom-0.2.2-py3-none-macosx_10_15_x86_64.whl
- Upload date:
- Size: 11.8 MB
- Tags: Python 3, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10c69937b6d83be8648528d5c77060a2856f0d80d5c02e7ea09694c2bac028ec
|
|
| MD5 |
58d107d00f574e0d1052c1311ced531d
|
|
| BLAKE2b-256 |
baf4eb1c69b9b07cb68d92f49d34d326493251f9af118605069170d38e909cfd
|
Provenance
The following attestation bundles were made for xtbloom-0.2.2-py3-none-macosx_10_15_x86_64.whl:
Publisher:
wheels.yml on jinzhezenggroup/xtbloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xtbloom-0.2.2-py3-none-macosx_10_15_x86_64.whl -
Subject digest:
10c69937b6d83be8648528d5c77060a2856f0d80d5c02e7ea09694c2bac028ec - Sigstore transparency entry: 2625342762
- Sigstore integration time:
-
Permalink:
jinzhezenggroup/xtbloom@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/jinzhezenggroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0e4c31abc4703796e82d83d1fd793749519a45b9 -
Trigger Event:
release
-
Statement type: