Skip to main content

Python

Part of the XAD ecosystem — the fastest automatic differentiation library for C++. If this is useful to you, please star the core XAD repository.

XAD is a library designed for automatic differentiation, aimed at both beginners and advanced users. It is intended for use in production environments, emphasizing performance and ease of use. The library facilitates the computation of derivatives within computer programs, making the process efficient and straightforward for a wide range of mathematical functions, from simple arithmetic to complex calculations, ensuring accurate and automatic derivative computations.

The Python bindings for XAD offer the following features:

  • Support for both forward and adjoint modes at the first order.
  • Strong exception-safety guarantees.
  • High performance, as demonstrated in extensive production use.

For more details and to integrate XAD into your projects, consult the comprehensive documentation.

Application Areas

Automatic differentiation has many application areas, for example:

  • Machine Learning and Deep Learning: Training neural networks or other machine learning models.
  • Optimization: Solving optimization problems in engineering and finance.
  • Numerical Analysis: Enhancing numerical solution methods for differential equations.
  • Scientific Computing: Simulating physical systems and processes.
  • Risk Management and Quantitative Finance: Assessing and hedging risk in financial models.
  • Computer Graphics: Optimizing rendering algorithms.
  • Robotics: Improving control and simulation of robotic systems.
  • Meteorology: Enhancing weather prediction models.
  • Biotechnology: Modeling biological processes and systems.

Try it in your browser

Run these notebooks on Google Colab, with nothing to install:

Notebook
Quickstart: gradients in adjoint and forward mode, checked against finite differences Open In Colab
Option Greeks: Black-Scholes and Monte Carlo price with all Greeks in one adjoint pass Open In Colab
Adjoint vs finite differences: gradient of a diffusion model as the number of parameters grows Open In Colab

Getting Started

Install:

pip install xad

Supports Python 3.10 to 3.14. The package version follows the XAD C++ core it is built on.

Calculate first-order derivatives in adjoint mode:

import xad.adj_1st as xadj


# set independent variables
x0_ad = xadj.Real(1.0)
x1_ad = xadj.Real(1.5)
x2_ad = xadj.Real(1.3)
x3_ad = xadj.Real(1.2)

with xadj.Tape() as tape:
    # and register them
    tape.registerInput(x0_ad)
    tape.registerInput(x1_ad)
    tape.registerInput(x2_ad)
    tape.registerInput(x3_ad)

    # start recording derivatives
    tape.newRecording()

    # calculate the output
    y = x0_ad + x1_ad - x2_ad * x3_ad

    # register and seed adjoint of output
    tape.registerOutput(y)
    y.derivative = 1.0

    # compute all other adjoints
    tape.computeAdjoints()

    # output results
    print(f"y = {y}")
    print(f"first order derivatives:\n")
    print(f"dy/dx0 = {x0_ad.derivative}")
    print(f"dy/dx1 = {x1_ad.derivative}")
    print(f"dy/dx2 = {x2_ad.derivative}")
    print(f"dy/dx3 = {x3_ad.derivative}")

Complex numbers work the same way: Complex has active real and imaginary parts, and xad.cmath mirrors Python's cmath (see samples/complex.py):

import xad.adj_1st as xadj
import xad.cmath

x, y = xadj.Real(0.5), xadj.Real(1.2)
with xadj.Tape() as tape:
    tape.registerInput(x)
    tape.registerInput(y)
    tape.newRecording()

    z = xadj.Complex(x, y)
    w = z * xad.cmath.exp(z)

    tape.registerOutput(w.real)
    w.real.derivative = 1.0
    tape.computeAdjoints()
    print(f"dRe(w)/dx = {x.derivative}, dRe(w)/dy = {y.derivative}")

Second-order derivatives use nested modes, as in XAD's C++: xad.fwd_adj_2nd (forward over adjoint) and xad.fwd_fwd_2nd. xad.value(x) and xad.derivative(x) return the inner first-order parts, so xad.derivative(xad.derivative(x)) is a second derivative (see samples/fwd_adj_2nd.py). For whole matrices, xad.jacobian and xad.hessian take a function of a list of Reals:

import xad
from xad.math import sin, cos


def f(x):
    return sin(x[0] * x[1]) - cos(x[1] * x[2]) - sin(x[2] * x[3]) - cos(x[3] * x[0])


print(xad.hessian(f, [1.0, 1.5, 1.3, 1.2]))

Checkpointing (in adj_1st and fwd_adj_2nd) replaces part of the recording with a CheckpointCallback, whose computeAdjoint(tape) is called during computeAdjoints, for example to recompute that part in a nested recording and save tape memory (see samples/checkpointing.py). The tape keeps inserted callbacks alive, and ScopedNestedRecording is a with block:

class Cb(xadj.CheckpointCallback):
    def computeAdjoint(self, tape):
        ybar = tape.getAndResetOutputAdjoint(self.y_slot)
        x = xadj.Real(self.x_value)
        tape.registerInput(x)
        with xadj.ScopedNestedRecording(tape) as nested:
            y = f(x)  # recompute actively
            tape.registerOutput(y)
            y.derivative = ybar
            nested.computeAdjoints()
            nested.incrementAdjoint(self.x_slot, x.derivative)

# forward run: compute y passively, store x_value and the slots, then tape.insertCallback(cb)

External functions use the same interface: a function computed outside XAD (passively, or in another library) enters the recording through a CheckpointCallback whose computeAdjoint applies its hand-written adjoint (see samples/external_function.py):

class ExternalSum(xadj.CheckpointCallback):
    def compute_external(self, xs):
        tape = xadj.Tape.getActive()
        self.x_slots = [x.getSlot() for x in xs]
        y = xadj.Real(sum(x.value for x in xs))  # computed passively
        tape.registerOutput(y)
        self.y_slot = y.getSlot()
        tape.insertCallback(self)
        return y

    def computeAdjoint(self, tape):
        ybar = tape.getAndResetOutputAdjoint(self.y_slot)
        for s in self.x_slots:
            tape.incrementAdjoint(s, ybar)  # d(sum)/dx_i = 1

NumPy Arrays

xad.adj_1st.Array and xad.fwd_1st.Array hold n-dimensional arrays of active values in C++, so whole-array operations run as one C++ loop each instead of one Python call per element (see samples/numpy_arrays.py):

import numpy as np
import xad.adj_1st as xadj

with xadj.Tape() as tape:
    x = xadj.Array([0.1, 0.2, 0.3])
    tape.registerInputs(x)
    tape.newRecording()
    y = np.sum(np.arange(1.0, 4.0) * np.exp(x))
    tape.registerOutput(y)
    y.derivative = 1.0
    tape.computeAdjoints()
    print(x.derivatives)  # dy/dx as a float array

Supported are elementwise operators and ufuncs (arithmetic, comparisons, exp, log, sqrt, sin, ...) with broadcasting, sum/prod/mean with axis, @/dot, where, concatenate, and indexing, slicing and reshape as views. a[i, j] is the element Real itself, np.asarray(a) gives the values, and np.asarray(a, dtype=object) the elements. Unsupported NumPy functions raise TypeError rather than dropping the derivatives. Arrays need NumPy >= 1.25 at runtime; it is not a build or import dependency of the package.

For more information, see the Documentation.

Building Extensions Against XAD

The package ships XAD as a shared library, with its C++ headers and a CMake package config. C++ extension modules linking it share the active tape with xad.adj_1st.Tape (per thread):

find_package(XAD CONFIG REQUIRED)
target_link_libraries(my_ext PRIVATE XAD::xad)
cmake -B build -DXAD_DIR=$(python -c "import xad; print(xad.get_cmake_dir())")

xad.get_include() and xad.get_library_dir() give the header and library directories. Import xad before the extension so the library is loaded.

  • XAD Comprehensive automatic differentiation in Python and C++
  • QuantLib-Risks: Fast risk evaluations in Python and C++

Metadata

Release files for xad 2.2.0

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

Source distribution (sdist)

Source distribution for xad 2.2.0
File Size Uploaded Provenance Actions
xad-2.2.0.tar.gz 551.5 kB With provenance Details for xad-2.2.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for xad 2.2.0
File Actions
xad-2.2.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for xad-2.2.0-cp314-cp314-win_amd64.whl
xad-2.2.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for xad-2.2.0-cp314-cp314-musllinux_1_2_x86_64.whl
xad-2.2.0-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details for xad-2.2.0-cp314-cp314-musllinux_1_2_aarch64.whl
xad-2.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for xad-2.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
xad-2.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for xad-2.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
xad-2.2.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for xad-2.2.0-cp314-cp314-macosx_11_0_arm64.whl
xad-2.2.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details for xad-2.2.0-cp314-cp314-macosx_10_15_x86_64.whl
xad-2.2.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for xad-2.2.0-cp313-cp313-win_amd64.whl
xad-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for xad-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
xad-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details for xad-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
xad-2.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for xad-2.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
xad-2.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for xad-2.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
xad-2.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for xad-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
xad-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details for xad-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl
xad-2.2.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for xad-2.2.0-cp312-cp312-win_amd64.whl
xad-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for xad-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
xad-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details for xad-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
xad-2.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for xad-2.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
xad-2.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for xad-2.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
xad-2.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for xad-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
xad-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details for xad-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl
xad-2.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for xad-2.2.0-cp311-cp311-win_amd64.whl
xad-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for xad-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
xad-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details for xad-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
xad-2.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for xad-2.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
xad-2.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for xad-2.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
xad-2.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for xad-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
xad-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details for xad-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl
xad-2.2.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for xad-2.2.0-cp310-cp310-win_amd64.whl
xad-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for xad-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
xad-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details for xad-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl
xad-2.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for xad-2.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
xad-2.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for xad-2.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
xad-2.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for xad-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
xad-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details for xad-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl

Total release size: 63.1 MB

Release files / xad-2.2.0.tar.gz

Download URL xad-2.2.0.tar.gz
Size 551.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c4734c387d73d8593c11f4316d774cd301df773920fb1cff55a2f04a2dc65c1a
BLAKE2b-256 checksum
How to use checksums
1df8aeb70da2d2659ae0f11ce9c8d09425069dd8ed4fa5d806350845d3055849
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp314-cp314-win_amd64.whl

Download URL xad-2.2.0-cp314-cp314-win_amd64.whl
Size 1.1 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
9cb9c9408e3edfed4da2e695e819c0efd94140b5f2a4b54b85e296c98192290e
BLAKE2b-256 checksum
How to use checksums
5537154413c1a450ef28e97f8b81e9526266fad1920556247cf7f5cae00943f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL xad-2.2.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 3.0 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f7266dae32e819a93ea3ad22facab0d935f81bfee4ef480f445d6a0c8073073d
BLAKE2b-256 checksum
How to use checksums
07ceb4d52aca1b3619aa574157d4e0524d46f2d4bb5f29a00e786c8508f25d7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL xad-2.2.0-cp314-cp314-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
2ed7f0eae16dd06a11695081f0e589fccc04f53c3879e138789c33d967e9772e
BLAKE2b-256 checksum
How to use checksums
66209788c47a3b82cef7648f2ae46003c1a5b1698d432aded4beee04b0cc5e8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL xad-2.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.9 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9a34a147fb56fa557313934177c58e937b8a91469a7473472f7427fe1607ced1
BLAKE2b-256 checksum
How to use checksums
082b2b12e3aca3c38ad9316fb7bc49f81ade2984236d7c9ba84203d348504c35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL xad-2.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a5197b187162a1be7f17eba32e7c5d75d1f4a2c181cc06067b65d2728e74eeaa
BLAKE2b-256 checksum
How to use checksums
eb73c436392f5297ce387404c683eae4aacc51c7df981591f257ffab17a63dff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL xad-2.2.0-cp314-cp314-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
587be25a11213119a923d990bb90170f9daf100e1a4b83262c52f8c488ac1356
BLAKE2b-256 checksum
How to use checksums
1569411d6262c0ddd518baccbe3e17ae796ceab2c083ef20effc7496d3d3bd4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL xad-2.2.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 1.4 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
5450fdbe40ef0d3ec4e1252deed2cfb4f9081c74e5eb7b2aec89939f81579a26
BLAKE2b-256 checksum
How to use checksums
4e43e00e2d258ca07cc680eb29c8403c41461cdb56a72b77077bacea6091bd3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp313-cp313-win_amd64.whl

Download URL xad-2.2.0-cp313-cp313-win_amd64.whl
Size 1.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
7b646b9a9a6d909827a2fe2b2a7a0e6810eaae25c41ee9de7c679e25e686aa47
BLAKE2b-256 checksum
How to use checksums
be86368b2d80941914a6674c69490c0abcd426ff32f92e35334572efed9c4ef6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL xad-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 2.9 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f231a1c4e14534c39ee0836f44c32f3fa67c2565b25b16f584b9c6ebe596cc96
BLAKE2b-256 checksum
How to use checksums
0b88be007b78812ebf9fc56adcf38a9a1f6a9e661c85553ec5631138f144bff7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL xad-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
17527ccedbf2cbe7a601716d29140595198dc3911b4df0e9bd67694fabffd7de
BLAKE2b-256 checksum
How to use checksums
54ef3e565da6dbc5fff629de02016402099ee1a8de008d206a8ec2223615964f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL xad-2.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.8 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a7589efeadce9fe517767e4c48cf5c83ed404b35d70d8b40656b8cbe875e2224
BLAKE2b-256 checksum
How to use checksums
8361fa1ce68e1304ee9ab642af4b1726df0dd73c3cce44ad6b1fcdcb20590131
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL xad-2.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
97ce57d67e28541bc2e09e758c8e38f71eb32774316b1f38336062448d0f663e
BLAKE2b-256 checksum
How to use checksums
afe0c3eed151b2a4cbdd0ade10483eab60ab18403e3f3380611cdeef1418bf35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL xad-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
494039a986354e9d5c2b4ad8b3a7e8f0b64f50c65905058382d3939c38538328
BLAKE2b-256 checksum
How to use checksums
12d421acb4ea50b11a6aa3a159137f236bd428845a3f54e2d4a530062196b9e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL xad-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 1.4 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
49300569951b5f1171a6ad62aae6b01f4937224c08febe01abc21ec4fe2ae006
BLAKE2b-256 checksum
How to use checksums
1bf01056f692b5f392bbf5215390cea0d524723a37e37e0765d68b930e54d5c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp312-cp312-win_amd64.whl

Download URL xad-2.2.0-cp312-cp312-win_amd64.whl
Size 1.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
13c0bec9f2ac81150d88329112b7f4530867889ad597efc6eec5f655b553b038
BLAKE2b-256 checksum
How to use checksums
7b1f8818b03d8ee99da6f0d6652541404d6db0dc82a44bac99851de720258572
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL xad-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.9 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
411e5517a6f6c2ae093e7bd57096289ab8137358442f15c51d1e99bc5d499b0b
BLAKE2b-256 checksum
How to use checksums
8b03f0e8e7959eab92b90c4268e768057c82810378d9daaaf02fff94ebe9e66f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL xad-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
60edf3928847820258d5b1d8a90e8f57259c2871ce78d9551d0be3160fbed251
BLAKE2b-256 checksum
How to use checksums
c29cdf508ca91ee245c664a8fdb012fc8f4f709aba679a8e77f0ee9c6ad121c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL xad-2.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.8 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ab194e732048b68918f0221b0b73278a887a7f96be478774ddc79cf1c592253d
BLAKE2b-256 checksum
How to use checksums
e952c12295461e720f204ed2d3d593273c0a79f9a9b4f7226896c0827d5a1939
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL xad-2.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
8f488c81ccbc7b3ed31c5c588c76476bd06177fa54a5b8a63878fe3d09fea1c7
BLAKE2b-256 checksum
How to use checksums
14a5d66cf132c9d3e4e18bb226d90d17dbaf878bf7d76ad5a9687ceadd60b319
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL xad-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e16ec4bcf747756f85092c0384e7e5954ce8f410b5d0939c6d9e8cd0fc09cd5a
BLAKE2b-256 checksum
How to use checksums
0b7cd6fc1cbfcf4b67db79bda539d202d9f14bdcbe213f526092e1ed1833e50d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL xad-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 1.4 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
fde16254a8b010b16d91af5f7afbbe9b2c73879f56068eec5e2f6cf49afcff15
BLAKE2b-256 checksum
How to use checksums
bd22145fc64785399a9f932b1df8ac0c3bbe0d30fa8a7d31551ce354f991005e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp311-cp311-win_amd64.whl

Download URL xad-2.2.0-cp311-cp311-win_amd64.whl
Size 1.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
22573158cb5d24834a8625e6e654aef5b0c76a375bb9a0b0d4d2cdf3629f6423
BLAKE2b-256 checksum
How to use checksums
758faf80132dc439ba7874735244a91de129b318d8cbda1e122cbc42a28c7cf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL xad-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.9 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
3b637a87fb5fadde12f7796f1b0b056cbb04e9eff4335c5e31701c32fed469c1
BLAKE2b-256 checksum
How to use checksums
6433e4cec717f494f63d5d9c02b2e1f644607cd2e47d7106a1a791becb521c14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL xad-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
79fbe0d3e144383a9131a119185fc39db0a5a2ee1d88da9509e241146c84a982
BLAKE2b-256 checksum
How to use checksums
e59106b8bd98d01733e8406aaec9d65d419c0bc97672d15a727b36bcec11eac8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL xad-2.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.8 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3f8cfa0f7e71cb0b4d04bcab8f5a7a8a5ed4d028d2962530a03e63afc606550b
BLAKE2b-256 checksum
How to use checksums
030df9c9bd32a531dd13c8cbfb9a567476cb5fdeccb9ac7c53ea104a58ae7fe5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL xad-2.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2d1f756a0b1e062134d71e36d686512fefeb937485be83e52e8d9e50daca6481
BLAKE2b-256 checksum
How to use checksums
c41b02d7336162c64e67a23f3625673cfc05860b937b91590860acefbbc0769f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL xad-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8897def4cb368e45b4f53755608daa71e28e5c361f38a1b3fd1b3deb17bd815d
BLAKE2b-256 checksum
How to use checksums
70ae5cd7a32fea499626aec5b97855b1f4d0c6a572bc9047f493ee5fc1904d5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL xad-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 1.4 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
ca6704b700b4e73efa825a01ee1f68b9b941620b06563a3556b82ec89019dc3b
BLAKE2b-256 checksum
How to use checksums
0a22cd7c2ebe967d6c26aa6848af4b661922f0d2545d762d2b5f0285daf29d90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp310-cp310-win_amd64.whl

Download URL xad-2.2.0-cp310-cp310-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
ecf9dd5418a7db69fb37449d46e1e8f8f054c93d7777d0eac475cf5f1765d99b
BLAKE2b-256 checksum
How to use checksums
ca532f2872158765678bd8be1194806ca0f5776e07f5d79467855ab7e662cbcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL xad-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 3.0 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a88c1334c8d7afbbd536254ecaa5ecbe91aa8822db7c6e6bba884fb044e75c75
BLAKE2b-256 checksum
How to use checksums
df1bc0acc41dd5d981541d89cc17cb8d0886140e35c426bc2c406a20fafcc6fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL xad-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
ea11470037a899c57fcdb26c4a17ca8e55827efdb38870d6cb583ae5157c6e50
BLAKE2b-256 checksum
How to use checksums
a136d8715839469442c3dd4369e8071d14fd1f8dd105aac60f2aac31fad429c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL xad-2.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.8 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
133905e3a2d6067a16e532849f9a93eb81059abd29142325075af03540541189
BLAKE2b-256 checksum
How to use checksums
197877c1405cff78ac1b2562fbe7a216c0cb3660fcced89d21b929387fe9c8df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL xad-2.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
84d8847a28c5a8578d8706b19d064fa19142b4e7ef5f2f17f63879fa56fa92a1
BLAKE2b-256 checksum
How to use checksums
fb2c27eee550a0b3a022695b3b30cf7b143372b6eadba81fd566e495db5576f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL xad-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ef05a7b401cab18bb28268520712b1ef25dc0dec6d5f86c42dcea5013c2f52d9
BLAKE2b-256 checksum
How to use checksums
f4b3dc178028d58c680993395214388d7f8c9b5c662f251c98e291b478920000
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / xad-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL xad-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 1.4 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3512c7158360518d86e8d43721a6066baffaaa24068d46280bbac025700523d8
BLAKE2b-256 checksum
How to use checksums
0ed4b1ce3198a1bd2657bc977aa9800cbecf24fa89a89ffd740bc41511ba0ede
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Security for xad 2.2.0

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 36 files in this release have been uploaded with provenance metadata.

Select from 36 files

Attestation for xad-2.2.0.tar.gz

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 Nov 12, 2026.

Transparency log

A 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.

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