Skip to main content

PDFxTMDLib Python API

PDFxTMDLib provides a powerful and easy-to-use Python interface for high-performance Parton Distribution Function (PDF) calculations. It offers unified access to collinear PDFs (cPDFs), Transverse Momentum-Dependent PDFs (TMDs), double parton distributions (DPDs), uncertainty analysis, and QCD coupling calculations.

This guide covers the installation and usage of the Python bindings.


Installation

You can install the package directly from PyPI:

pip install pdfxtmd

High-Level API: PDFSet

The PDFSet interface is the recommended way to work with PDF sets. It handles the entire collection of PDF members (central value and error sets) and provides a simple API for calculating uncertainties and correlations.

1. Collinear PDF (cPDF) Uncertainty

import pdfxtmd

# 1. Initialize a CPDFSet for a given PDF set name
cpdf_set = pdfxtmd.CPDFSet("CT18NLO")
print(f"Loaded CPDF Set: CT18NLO with {len(cpdf_set)} members.")

# 2. Define kinematics
x = 0.01
mu2 = 100

# 3. Get the central value PDF from member 0
central_cpdf = cpdf_set[0]
up_pdf_central = central_cpdf.pdf(pdfxtmd.PartonFlavor.u, x, mu2)
print(f"Central Up Quark PDF: {up_pdf_central:.6f}")

# 4. Calculate the PDF uncertainty (the result is a PDFUncertainty object)
uncertainty = cpdf_set.Uncertainty(pdfxtmd.PartonFlavor.u, x, mu2)
print(f"Uncertainty: central={uncertainty.central:.6f}, +{uncertainty.errplus:.6f}, -{uncertainty.errminus:.6f}")

# 5. Calculate the correlation between two different partons
correlation = cpdf_set.Correlation(
    pdfxtmd.PartonFlavor.u, x, mu2,  # PDF A
    pdfxtmd.PartonFlavor.d, x, mu2   # PDF B
)
print(f"Correlation between u and d quarks: {correlation:.4f}")

2. TMD Uncertainty

The interface for TMDs is analogous. Just use TMDSet and include the transverse momentum kt2.

import pdfxtmd

# 1. Initialize a TMDSet
tmd_set = pdfxtmd.TMDSet("PB-NLO-HERAI+II-2018-set2")
print(f"\nLoaded TMD Set: {tmd_set.getStdPDFInfo().SetDesc} with {len(tmd_set)} members.")

# 2. Define kinematics
x = 0.01
mu2 = 100
kt2 = 10

# 3. Calculate the TMD uncertainty
uncertainty_tmd = tmd_set.Uncertainty(pdfxtmd.PartonFlavor.g, x, kt2, mu2)
print(f"Gluon TMD Uncertainty: central={uncertainty_tmd.central:.6f}, +{uncertainty_tmd.errplus:.6f}, -{uncertainty_tmd.errminus:.6f}")

Low-Level API: Factories

For applications where you only need to evaluate a single PDF member and do not require uncertainty analysis, the factory interface offers a more direct approach.

import pdfxtmd

x = 0.01
mu2 = 100
kt2 = 10

# --- Collinear PDFs (cPDF) using Factory ---
cpdf_factory = pdfxtmd.GenericCPDFFactory()
cpdf = cpdf_factory.mkCPDF("CT18NLO", 0) # Get member 0

# Evaluate a single flavor
up_pdf = cpdf.pdf(pdfxtmd.PartonFlavor.u, x, mu2)
print(f"CPDF (Up Quark) from Factory: {up_pdf:.6f}")

# Evaluate all flavors at once (returns a list)
all_flavors_cpdf = cpdf.pdf_all(x, mu2)
print(f"All CPDF Flavors from Factory: {all_flavors_cpdf}")


# --- TMDs using Factory ---
tmd_factory = pdfxtmd.GenericTMDFactory()
tmd = tmd_factory.mkTMD("PB-NLO-HERAI+II-2018-set2", 0) # Get member 0

# Evaluate a single flavor
gluon_tmd = tmd.tmd(pdfxtmd.PartonFlavor.g, x, kt2, mu2)
print(f"\nTMD (Gluon) from Factory: {gluon_tmd:.6f}")

# Evaluate all TMD flavors at once (returns a list)
all_flavors_tmd = tmd.tmd_all(x, kt2, mu2)
print(f"All TMD Flavors from Factory: {all_flavors_tmd}")

Double Parton Distributions (DPDs)

DPDs are available when the package is built with DPD support. The same Python API handles dense PDFxTMD-DPDB1 and hybrid PDFxTMD-DPDH1 sets.

import numpy as np
import pdfxtmd

print("DPD support:", pdfxtmd.__has_dpd__)

dpd = pdfxtmd.GenericCDPDFactory().mkCDPD(
    "MSTW2008lo68cl_GSDPDF_PDFxTMD", 0
)

value = dpd.dpd(
    pdfxtmd.PartonFlavor.g,
    pdfxtmd.PartonFlavor.g,
    1e-2, 100.0,
    2e-2, 400.0,
)
print("g-g DPD:", value)

x1 = np.array([1e-3, 1e-2, 5e-2])
x2 = np.array([2e-3, 2e-2, 1e-1])
mu1_2 = np.full_like(x1, 100.0)
mu2_2 = np.full_like(x2, 400.0)

values = dpd.dpd_batch(
    pdfxtmd.PartonFlavor.g,
    pdfxtmd.PartonFlavor.g,
    x1, mu1_2, x2, mu2_2,
)
print(values)

The NumPy batch overload accepts arrays with matching shapes and releases the Python GIL during native evaluation.


QCD Coupling ($\alpha_s$) Calculations

You can calculate the strong coupling constant $\alpha_s$ in two ways.

import pdfxtmd

cpdf_set = pdfxtmd.CPDFSet("CT18NLO")

# Method A: Directly from the PDFSet object (Recommended)
print("--- Method A: From PDFSet ---")
alpha_s_from_set = cpdf_set.alphasQ2(10000)
print(f"Alpha_s at mu2=10000: {alpha_s_from_set:.5f}")


# Method B: Using the low-level CouplingFactory
print("\n--- Method B: From CouplingFactory ---")
coupling_factory = pdfxtmd.CouplingFactory()
coupling = coupling_factory.mkCoupling("CT18NLO")
alpha_s_from_factory = coupling.AlphaQCDMu2(10000)
print(f"Alpha_s at mu2=10000: {alpha_s_from_factory:.5f}")

Complete Example: Plotting PDFs with Uncertainties

This example demonstrates a complete workflow: loading PDF/TMD sets, calculating values and uncertainties over a range of x, and plotting the results using matplotlib.

import pdfxtmd
import numpy as np
import matplotlib.pyplot as plt

# --- Part 1: Collinear PDF (cPDF) ---
cpdf_set = pdfxtmd.CPDFSet("CT18NLO")
print(f"Loaded cPDF set: {cpdf_set.getStdPDFInfo().SetDesc}")

x_values = np.logspace(-4, -1, 100)
mu2 = 1000

# Calculate central values and uncertainties
uncertainties = [cpdf_set.Uncertainty(pdfxtmd.PartonFlavor.g, x, mu2) for x in x_values]
central_pdfs = [u.central for u in uncertainties]
upper_band = [u.central + u.errplus for u in uncertainties]
lower_band = [u.central - u.errminus for u in uncertainties]

# Plot the cPDF
plt.figure(figsize=(10, 6))
plt.plot(x_values, central_pdfs, label='Gluon PDF (CT18NLO)', color='blue')
plt.fill_between(x_values, lower_band, upper_band, color='blue', alpha=0.2, label='Native CL Uncertainty')
plt.xscale('log')
plt.xlabel('$x$')
plt.ylabel('$xg(x, \mu^2)$')
plt.title(f'Gluon PDF with Uncertainty at $\mu^2 = {mu2} \ GeV^2$')
plt.legend()
plt.grid(True, which="both", ls="--")
plt.savefig('gluon_pdf_plot.png')
print("Saved plot to gluon_pdf_plot.png")
plt.close()


# --- Part 2: Transverse Momentum-Dependent PDF (TMD) ---
tmd_set = pdfxtmd.TMDSet("PB-LO-HERAI+II-2020-set2")
print(f"Loaded TMD set: {tmd_set.getStdPDFInfo().SetDesc}")

kt2 = 1

# Calculate central values and uncertainties
tmd_uncertainties = [tmd_set.Uncertainty(pdfxtmd.PartonFlavor.g, x, kt2, mu2) for x in x_values]
central_tmds = [u.central for u in tmd_uncertainties]
tmd_upper_band = [u.central + u.errplus for u in tmd_uncertainties]
tmd_lower_band = [u.central - u.errminus for u in tmd_uncertainties]

# Plot the TMD
plt.figure(figsize=(10, 6))
plt.plot(x_values, central_tmds, label='Gluon TMD (PB-LO-2020)', color='green')
plt.fill_between(x_values, tmd_lower_band, tmd_upper_band, color='green', alpha=0.2, label='Native CL Uncertainty')
plt.xscale('log')
plt.xlabel('$x$')
plt.ylabel('$xg(x, k_t^2, \mu^2)$')
plt.title(f'Gluon TMD with Uncertainty at $k_t^2 = {kt2} \ GeV^2, \mu^2 = {mu2} \ GeV^2$')
plt.legend()
plt.grid(True, which="both", ls="--")
plt.savefig('gluon_tmd_plot.png')
print("Saved plot to gluon_tmd_plot.png")
plt.close()

Additional Information

Error Handling

The API raises a RuntimeError for invalid kinematic inputs.

try:
    cpdf.pdf(pdfxtmd.PartonFlavor.u, -0.1, mu2)  # Invalid x
except RuntimeError as e:
    print(f"Caught expected error for invalid x: {e}")

Enumerating Parton Flavors

You can inspect all available parton flavors and their integer codes.

print("\n--- All PartonFlavor enum values ---")
for name, flavor in pdfxtmd.PartonFlavor.__members__.items():
    print(f"  {name}: {flavor.value}")

Full Code Examples

For more detailed examples, see the full tutorials in the project repository:


License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.

Contact

For questions or contributions, please contact raminkord92@gmail.com.

High-level set API and source builds

CPDFSet(pdfSetName, alternativeReplicaUncertainty=False) and TMDSet(pdfSetName, alternativeReplicaUncertainty=False) expose the existing C++ PDFSet specializations. len(pdf_set) gives the member count; pdf_set[i] returns an ICPDF or ITMD with the same evaluation methods as factory-created members. Indices must satisfy 0 <= i < len(pdf_set); negative and out-of-range indices raise IndexError.

A returned member keeps its owning set alive, including with temporary sets:

import gc
central = pdfxtmd.CPDFSet("CT18NLO")[0]
gc.collect()
print(central.pdf(pdfxtmd.PartonFlavor.g, 0.01, 100.0))

Uncertainty(flavor, x, mu2, cl=-1) for collinear sets and Uncertainty(flavor, x, kt2, mu2, cl=-1) for TMD sets return a PDFUncertainty. The default cl=-1 uses the set's native confidence level; pass cl=68.0 explicitly to request 68 percent. Uncertainty(values, cl=-1) accepts one value per member. Results expose central, errplus, errminus, errsymm, scale, the errplus_pdf/errminus_pdf/errsymm_pdf and errplus_par/errminus_par/errsymm_par components, and errparts. Their definitions and scaling are those of the C++ implementation.

Correlation(flavorA, xA, mu2A, flavorB, xB, mu2B) has additional kt2A and kt2B arguments before the corresponding scales for TMDs. Correlation(valuesA, valuesB) accepts two full member vectors. alphasQ(q) and alphasQ2(q2) evaluate the set's coupling. getStdPDFInfo() and getPDFErrorInfo() return metadata snapshots with the C++ field names. Use getStdPDFInfo().SetDesc for the description. All-flavor evaluation uses member.pdf_all(x, mu2) or member.tmd_all(x, kt2, mu2) and returns a list; the existing overloads accepting an output list are also supported.

To install these bindings from a patched source checkout on Linux:

python3 -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
# Install libzstd-dev and libdnnl-dev for the default DPD-enabled build.
CMAKE_BUILD_PARALLEL_LEVEL=2 python -m pip install .
# Or build without DPD dependencies:
# PDFXTMD_ENABLE_DPD=OFF CMAKE_BUILD_PARALLEL_LEVEL=2 python -m pip install .

PDF grid data must be installed separately. For development builds and tests against the freshly compiled extension, see tests/python/README.md.

Metadata

Release files for pdfxtmd 2.0.2

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

Built distributions (wheels)

Table of built distributions (wheels) for pdfxtmd 2.0.2
File Actions
pdfxtmd-2.0.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for pdfxtmd-2.0.2-cp313-cp313-win_amd64.whl
pdfxtmd-2.0.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pdfxtmd-2.0.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pdfxtmd-2.0.2-cp313-cp313-macosx_10_15_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.15+ x86-64 Details for pdfxtmd-2.0.2-cp313-cp313-macosx_10_15_x86_64.whl
pdfxtmd-2.0.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for pdfxtmd-2.0.2-cp312-cp312-win_amd64.whl
pdfxtmd-2.0.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pdfxtmd-2.0.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pdfxtmd-2.0.2-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details for pdfxtmd-2.0.2-cp312-cp312-macosx_10_15_x86_64.whl
pdfxtmd-2.0.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for pdfxtmd-2.0.2-cp311-cp311-win_amd64.whl
pdfxtmd-2.0.2-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 pdfxtmd-2.0.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pdfxtmd-2.0.2-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details for pdfxtmd-2.0.2-cp311-cp311-macosx_10_15_x86_64.whl
pdfxtmd-2.0.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for pdfxtmd-2.0.2-cp310-cp310-win_amd64.whl
pdfxtmd-2.0.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pdfxtmd-2.0.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pdfxtmd-2.0.2-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details for pdfxtmd-2.0.2-cp310-cp310-macosx_10_15_x86_64.whl
pdfxtmd-2.0.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for pdfxtmd-2.0.2-cp39-cp39-win_amd64.whl
pdfxtmd-2.0.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pdfxtmd-2.0.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pdfxtmd-2.0.2-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details for pdfxtmd-2.0.2-cp39-cp39-macosx_10_15_x86_64.whl

Total release size: 200.5 MB

Release files / pdfxtmd-2.0.2-cp313-cp313-win_amd64.whl

Download URL pdfxtmd-2.0.2-cp313-cp313-win_amd64.whl
Size 9.6 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4019be01b3d2f24984daa8c719fe3e439afadae075bd64c48617f1c781b4121d
BLAKE2b-256 checksum
How to use checksums
ce58ff8c0fd6a9e0ef197cd48c5ffb2c5a490eb93979b99d57159feb57f324c4
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pdfxtmd-2.0.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 17.1 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
da5824f3c1c41d8a2847a1f9ae19a6a3c0ad80daa5fb28d77d2e101405247588
BLAKE2b-256 checksum
How to use checksums
5e46cb87e1e7ab911fc61758730d87f2d3d080e765267e885af037dd1b5f6f0b
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp313-cp313-macosx_10_15_x86_64.whl

Download URL pdfxtmd-2.0.2-cp313-cp313-macosx_10_15_x86_64.whl
Size 13.4 MB
Tags CPython 3.13 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
7e38e0aea178f286fa9ddd47f27baf7a467086b019eb70485674ecfe32dbefcf
BLAKE2b-256 checksum
How to use checksums
85c628c7576407f866a76ed5b58c5d9a466d2be183adb31c5ad0e90c9ae5c196
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp312-cp312-win_amd64.whl

Download URL pdfxtmd-2.0.2-cp312-cp312-win_amd64.whl
Size 9.6 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a5521c1b6647ccda8d377b1afc17ed005b985f7c351235befaccf5184826a246
BLAKE2b-256 checksum
How to use checksums
bba29c1a89867fceb877a08a5ce7aa884e2a189a7f0b3d39f7551c79383646d9
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pdfxtmd-2.0.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 17.1 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3ca85a846c2d00826a70034f288bd1a82979b52c49e03fa44fbb25665b185e60
BLAKE2b-256 checksum
How to use checksums
9bcb482cea9f9f46ed409eb9eda369fc7d2016e03b47eba33bc441ae6db2f927
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp312-cp312-macosx_10_15_x86_64.whl

Download URL pdfxtmd-2.0.2-cp312-cp312-macosx_10_15_x86_64.whl
Size 13.4 MB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
47648a0a33355e33edc3af02c36ca14e0b1af8b9cb50ef95e62e2cf3bd931fe8
BLAKE2b-256 checksum
How to use checksums
8161f430105ba439d6ae87a51febb6e47277086b58ce2f4be268b9168c7ab4b9
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp311-cp311-win_amd64.whl

Download URL pdfxtmd-2.0.2-cp311-cp311-win_amd64.whl
Size 9.6 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a1b9841294ab6dc75819c4930456a4686ceee30e9f0e8cf1994e7a1c904f75d6
BLAKE2b-256 checksum
How to use checksums
3f27d867ccb1a3d64443c7be97ab701de32ba992b1fd11eb62a26ec5d958f979
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pdfxtmd-2.0.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 17.1 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e4c6eccbf8a83ecae3a26c3a91b9dcd97c5a1bebec41b446652e5e2071d36541
BLAKE2b-256 checksum
How to use checksums
0c26c077bca44d366bbdc5f6c678562ae1a6c7745859f38c9422fd5231793b1f
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp311-cp311-macosx_10_15_x86_64.whl

Download URL pdfxtmd-2.0.2-cp311-cp311-macosx_10_15_x86_64.whl
Size 13.4 MB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
6ec7f1c00ea055b9f8b01d8cb38ea756daff1ed6aab585217de55dce601e4396
BLAKE2b-256 checksum
How to use checksums
4b21f4ca63932c5a82ce31e0285f8ecfb1fa8e74c44fd335e18b2028b1b2195b
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp310-cp310-win_amd64.whl

Download URL pdfxtmd-2.0.2-cp310-cp310-win_amd64.whl
Size 9.6 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
44bcf556308a83c09713df8ac8a899eeddaeee23b4f21977422ae967d83fbc36
BLAKE2b-256 checksum
How to use checksums
20f00694f58621da7d0307448b34ced96b6e54622610726ef28526e3f3ad81a3
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pdfxtmd-2.0.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 17.1 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cad40b79345fd0d85af9f6423dab1554dee10da691bf8e37f43387221d7f2c29
BLAKE2b-256 checksum
How to use checksums
cbac58b33a7da1f5b4219e47b210f77f6baf9789d6d1edadd93a7018fb429ad0
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp310-cp310-macosx_10_15_x86_64.whl

Download URL pdfxtmd-2.0.2-cp310-cp310-macosx_10_15_x86_64.whl
Size 13.4 MB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
bb2b3737086384e6996efb5425b65a9046e12c4dd7d598370db853ebd3d58e31
BLAKE2b-256 checksum
How to use checksums
38f5d4d984ec7914a8d708357e9f5c3ddb6a4f8e0730aa42c178daa7a2aa911f
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp39-cp39-win_amd64.whl

Download URL pdfxtmd-2.0.2-cp39-cp39-win_amd64.whl
Size 9.6 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
853a00843658eddca8c7d126a27e6acbdfb3045dde1857bd24f4fef463768541
BLAKE2b-256 checksum
How to use checksums
8768cd4a9d3202cf9dd243a5bff3239327dc4bf5de81480f2a07d270689048fc
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pdfxtmd-2.0.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 17.1 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3a005d98149be2fff99e8ff7ff177e7b3c1a8707b4cb0f4e626571918e64a59e
BLAKE2b-256 checksum
How to use checksums
84f0364b1160399937f90dfce47b64ea3f7eed81b1da6621a9a56f2c5aff5693
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 Oct 29, 2026.

Transparency log

Release files / pdfxtmd-2.0.2-cp39-cp39-macosx_10_15_x86_64.whl

Download URL pdfxtmd-2.0.2-cp39-cp39-macosx_10_15_x86_64.whl
Size 13.4 MB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
ca662ded6e14254fba37f99724e95fa21650606a0b9f3f1fc237876c6946b563
BLAKE2b-256 checksum
How to use checksums
51a49ef416de7bf3a77a29ce7b061aef9b09a6ec3f1657cfa2ae4f261d61bc2c
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 Oct 29, 2026.

Transparency log

Security for pdfxtmd 2.0.2

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

Select from 15 files

Attestation for pdfxtmd-2.0.2-cp313-cp313-win_amd64.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 Oct 29, 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