Skip to main content

Universal Calibration Protocol for Python

Project description

pyxcp_social.svg

Reliable Python tooling for the ASAM MCD-1 XCP protocol (measurement, calibration, flashing) with multiple transports (CAN, Ethernet, USB, Serial) and handy CLI utilities.

PyPI Python Versions License: LGPL v3+ Ruff Ask DeepWiki Ask Zread PDF Manual

pyXCP is a production-ready Python library for communicating with XCP-enabled devices, most commonly automotive ECUs. Use it to take measurements, adjust parameters (calibration), stream DAQ/STIM, and program devices during development.

Highlights:

  • Transports: Ethernet (TCP/IP), CAN, USB, Serial (SxI)

  • Cross-platform: Windows, Linux, macOS

  • Rich CLI tools for common XCP tasks

  • Extensible architecture and layered design


Installation

The easiest way is from PyPI:

pip install pyxcp

To install from the main branch:

pip install git+https://github.com/christoph2/pyxcp.git

Requirements

  • Python >= 3.10

  • Building from source requires a working C/C++ toolchain (native extensions are used for performance). Wheels are provided for common platforms and Python versions; if a wheel is not available, pip will build from source.

  • An XCP slave device (or simulator)

Quick start

New to pyXCP? Start with the 15-minute Quickstart Guide for a hands-on introduction.

The comprehensive tutorial walks you through typical tasks end-to-end.

Using A2L files? See the A2L Integration Guide for symbolic access to ECU parameters.

Minimal example using the built-in argument parser and context manager:

from pyxcp.cmdline import ArgumentParser

ap = ArgumentParser(description="pyXCP hello world")

with ap.run() as x:
    x.connect()
    identifier = x.identifier(0x01)
    print(f"ID: {identifier!r}")
    print(x.slaveProperties)
    x.disconnect()

Async facade for awaitable command handling plus DAQ/event streaming:

import asyncio

from pyxcp.cmdline import ArgumentParser
from pyxcp.transport import AsyncPolicyAdapter


async def main():
    ap = ArgumentParser(description="pyXCP async example")
    policy = AsyncPolicyAdapter()

    async with ap.async_run(policy=policy) as x:
        await x.connect()
        status = await x.getStatus()
        print(status)

        daq_frames = x.subscribe_daq()
        frame = await daq_frames.get()
        print(frame.category, frame.counter, frame.payload.hex())


asyncio.run(main())

Configuration

pyXCP supports a traitlets-based configuration system.

  • Recommended Python config example and generator: tutorial and configuration

  • Legacy TOML examples remain available for compatibility.

Command‑line tools

Installed entry points (see pyproject.toml):

  • xcp-info — print capabilities and properties

  • xcp-id-scanner — scan for slave identifiers

  • xcp-fetch-a2l — retrieve A2L from target (if supported)

  • xcp-profile — generate/convert config files

  • xcp-examples — launch assorted demos/examples

  • xcp-discovery — multicast discovery for XCP on Ethernet (with optional SET_SLAVE_IP_ADDRESS)

  • xmraw-converter — convert recorder .xmraw data

  • pyxcp-probe-can-drivers — list available CAN interfaces

Run any tool with -h for options.

Features

  • Multiple transport layers: Ethernet (TCP), CAN, USB, SxI (serial/UART)

  • High-precision IEEE 1588/PTP hardware timestamping (Ethernet/UDP on Windows and Linux)

  • Data Acquisition (DAQ) and Stimulation (STIM)

  • Calibration (read/write parameters)

  • Flashing/programming workflows

  • A2L (ASAM MCD‑2 MC) support — symbolic access via pya2ldb

  • Recorder utilities and converters (see recorder)

  • Extensible architecture for custom transports

Documentation

To build the Sphinx documentation locally:

  1. Install doc requirements:

    pip install -r docs/requirements.txt

  2. Build:

    sphinx-build -b html docs docs/_build/html

  3. Open

    docs/_build/html/index.html

Compatibility

  • Operating systems: Windows, Linux, macOS

  • Python: 3.10 - 3.14, CPython wheels where available

  • CAN backends: python-can compatible drivers (see howto_can_driver)

Contributing

Contributions are welcome! Please: - Read CODE_OF_CONDUCT - Open an issue or discussion before large changes - Use pre-commit to run linters and tests locally

License

GNU Lesser General Public License v3 or later (LGPLv3+). See LICENSE for details.

References

About ASAM MCD‑1 XCP

XCP (Universal Measurement and Calibration Protocol) is an ASAM standard defining a vendor‑neutral protocol to access internal data of electronic control units (ECUs) for measurement, calibration (parameter tuning), and programming. XCP decouples the protocol from the physical transport, so the same command set can be carried over different buses such as CAN, FlexRay, Ethernet, USB, or Serial.

  • Roles: An XCP Master (this library) communicates with an XCP Slave (your device/ECU or simulator).

  • Layered concept: XCP defines an application layer and transport layers. pyXCP implements the application layer and multiple transport bindings.

  • Use cases:

    • Measurement: Read variables from the ECU in real‑time, including high‑rate DAQ streaming.

    • Calibration: Read/write parameters (calibration data) in RAM/flash.

    • Programming: Download new program/data to flash (where the slave supports it).

For the authoritative description, see the ASAM page: https://www.asam.net/standards/detail/mcd-1-xcp/

XCP in a nutshell

  • Connect/Session: The master establishes a connection, negotiates capabilities/features, and optionally unlocks protected functions via seed & key.

  • Addressing: Memory is accessed via absolute or segment‑relative addresses. Addressing modes are described in the associated A2L file (ASAM MCD‑2 MC), which maps symbolic names to addresses, data types, and conversion rules.

  • Events: The slave exposes events (e.g., “1 ms task”, “Combustion cycle”), which trigger DAQ sampling. The master assigns signals (ODTs) to these events for time‑aligned acquisition.

  • DAQ/STIM: DAQ = Data Acquisition (slave → master), STIM = Stimulation (master → slave). Both use event‑driven lists for deterministic timing.

  • Timestamps: DAQ may carry timestamps from the slave for precise time correlation.

  • Security: Access to sensitive commands (e.g., programming, calibration) can be protected by a seed & key algorithm negotiated at runtime.

  • Checksums: XCP defines checksum services useful for verifying memory regions (e.g., after flashing).

Relation to A2L (ASAM MCD‑2 MC)

While XCP defines the protocol, the A2L file describes the measurement and calibration objects (characteristics, measurements), data types, conversion rules, and memory layout. In practice, you use pyXCP together with an A2L to: - Resolve symbolic names to addresses and data types. - Configure DAQ lists from human‑readable signal names. - Interpret raw values using the appropriate conversion methods.

pyXCP provides utilities to fetch A2L data when supported by the slave and to work with A2L‑described objects. See also pya2ldb!

Transports and addressing

XCP is transport‑agnostic. pyXCP supports multiple transports and addressing schemes: - CAN (XCP on CAN): Robust and ubiquitous in vehicles; limited payload and bandwidth; suited for many calibration tasks and moderate DAQ rates. - Ethernet (XCP on TCP/UDP): High bandwidth with low latency; well suited for rich DAQ and programming workflows. - USB: High throughput for lab setups; requires device support. - Serial/SxI: Simple point‑to‑point links for embedded targets and simulators.

The exact capabilities (e.g., max CTO/DTO, checksum types, timestamping) are negotiated at connect time and depend on the slave and transport.

Supported features (overview)

The scope of features depends on the connected slave. At the library level, pyXCP provides: - Session management: CONNECT/DISCONNECT, GET_STATUS/SLAVE_PROPERTIES, communication mode setup, error handling. - Memory access: Upload/short upload, Download/Download Next, verifications, optional paged memory where supported. - DAQ/STIM: Configuration of DAQ lists/ODTs, event assignment, data streaming, timestamp handling when available. - Programming helpers: Building blocks for program/erase/write flows (exact sequence per slave’s flash algorithm and A2L description). - Security/Seed & Key: Pluggable seed‑to‑key resolution including 32↔64‑bit bridge on Windows. - Utilities: Identifier scanning, A2L helpers, recorder and converters.

Refer to tutorial and configuration for feature usage, and xcp-info for a capability dump of your target.

Compliance and versions

pyXCP aims to be compatible with commonly used parts of ASAM MCD‑1 XCP. Specific optional features are enabled when a slave advertises them during CONNECT. Because implementations vary across vendors and ECU projects, always consult your A2L and use xcp-info to confirm negotiated options (e.g., checksum type, timestamp unit, max DTO size, address granularity).

If you rely on a particular XCP feature/profile not mentioned here, please open an issue with details about your slave and A2L so we can clarify support and—if feasible—add coverage.

Safety, performance, and limitations

  • Safety‑critical systems: XCP is a development and testing protocol. Do not enable measurement/calibration on safety‑critical systems in the field unless your system‑level safety case covers it.

  • Performance: Achievable DAQ rates depend on transport bandwidth, ECU event rates, DTO sizes, and host processing. Ethernet typically yields the highest throughput.

  • Latency/jitter: Event scheduling in the slave and OS scheduling on the host can affect determinism. Use timestamps to correlate data precisely.

  • Access control: Seed & key protects sensitive functions; your organization’s policy should govern algorithm distribution and access.

Further resources

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyxcp-0.29.15.tar.gz (618.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyxcp-0.29.15-cp314-cp314-win_arm64.whl (1.4 MB view details)

Uploaded CPython 3.14Windows ARM64

pyxcp-0.29.15-cp314-cp314-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.14Windows x86-64

pyxcp-0.29.15-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyxcp-0.29.15-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyxcp-0.29.15-cp314-cp314-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyxcp-0.29.15-cp313-cp313-win_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13Windows ARM64

pyxcp-0.29.15-cp313-cp313-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86-64

pyxcp-0.29.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyxcp-0.29.15-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyxcp-0.29.15-cp313-cp313-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyxcp-0.29.15-cp312-cp312-win_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12Windows ARM64

pyxcp-0.29.15-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86-64

pyxcp-0.29.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyxcp-0.29.15-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyxcp-0.29.15-cp312-cp312-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyxcp-0.29.15-cp311-cp311-win_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11Windows ARM64

pyxcp-0.29.15-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

pyxcp-0.29.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyxcp-0.29.15-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyxcp-0.29.15-cp311-cp311-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyxcp-0.29.15-cp310-cp310-win_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10Windows ARM64

pyxcp-0.29.15-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

pyxcp-0.29.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyxcp-0.29.15-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyxcp-0.29.15-cp310-cp310-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file pyxcp-0.29.15.tar.gz.

File metadata

  • Download URL: pyxcp-0.29.15.tar.gz
  • Upload date:
  • Size: 618.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyxcp-0.29.15.tar.gz
Algorithm Hash digest
SHA256 ca42df13a05892cf8e6ee3510bfe477be9b8aa17f4800314a1de3001a9253090
MD5 22a89fe5ee79b41d0ae7ceb400943b93
BLAKE2b-256 70bef6768c6c5820ce9368d05c65fc42b1f22ce30efe131e132e87ee0a455013

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15.tar.gz:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: pyxcp-0.29.15-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyxcp-0.29.15-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 f49a74e27b797f813f7da1f7116306b634fc25b1928611f8d796abf94da22a5e
MD5 712196ca0490452609abd990f5226d93
BLAKE2b-256 e14290458299203604aaa4cb3b3ce987fe23e66bd492a46d78978f8bf2aca6aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp314-cp314-win_arm64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyxcp-0.29.15-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyxcp-0.29.15-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6f0c67948f939988bdd7358054c4ef612f3cb4fb5bd29e08b0b956f2edb82a86
MD5 498d4e6b440a85567b18c0263240ccfe
BLAKE2b-256 864a23e31e518ee8e4aee55c413b95b17c1219372bc9b61ba77b924f478ea080

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp314-cp314-win_amd64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a4965d21d2a3fd51c9d6d87c4960d159bd8c4da932963575cf20085276e08f40
MD5 c75528c970689fe9a7e038ae504a5d4e
BLAKE2b-256 03a8869b07f948572872cc5b049d7f495237c0c4484ec61d8784bb0d6200aea6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9d99bd71e90644f59497f9dd2ff4b88b769d1b5cb49858e6d57dc3439f495b49
MD5 478c4d4956789f54f4f0ed4de408518a
BLAKE2b-256 eeb0a3e8fda7b71ae4d1f191e25127fa2aa8975e1983eba4fe9dbccbe4d7ed21

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e44104d3a306fea57c71d403eaa8db3324ca4173b9ea1ec5ffed7e7b3691c33c
MD5 3a44bda4d4fb8e106d4ce32c5d12e7bc
BLAKE2b-256 f5017db4670248f33eab5c00bf3e232eab141a104206122087cfa543344f3a86

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: pyxcp-0.29.15-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyxcp-0.29.15-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 3c92dd142e07f84ca4f70ddfc2c66cdd46216d01d449169f582d93337f1e64fa
MD5 8ff0379af8efb2f73fb304ff88a86329
BLAKE2b-256 60d47667f46b78fcf12839dcdec82e1f330fc422b28e922cd86255eb7c9c4d36

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp313-cp313-win_arm64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyxcp-0.29.15-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyxcp-0.29.15-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5c94ed2fee2a75888dae804a4c1e559db0eef4d2a512be375bcf4d3c9445b70e
MD5 76501aec8a7546aeb7beab94aff1e726
BLAKE2b-256 794b8d566b68398156a5b6668d55a105bf5d4e447c0d24de7dda55c38f37095d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp313-cp313-win_amd64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d7a0f1d572458fe8b14ff475573dff78404b1f9126177e4ab00db05c094a9236
MD5 fcb9f1f4a8d04cfb96d8f8ae672d3792
BLAKE2b-256 2ae0faac75a0965a6a1ef1dc8337d96a3b74f90570986dc832ac153719173a05

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d619d40dc9d3fd96dd63a81b24d786b852b1e1d0e26337fe89d078fa7acc7f84
MD5 474819f582eed7b7514647b6d87014ec
BLAKE2b-256 0575b762a5c94847d9582a988361dd14399c1b302e72aea214f500ef5fb6b942

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94d47fa75dee2ad53c5c7cf7ed09a1f76281453f954d53db7898a2841b95d159
MD5 ff7e78d4bf0848c8a367df2b6ca22846
BLAKE2b-256 aae6ac06d2c48febfe2ba9a50b320b86ec00d6add4d94cb571bcc2a2aedb7397

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: pyxcp-0.29.15-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyxcp-0.29.15-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 0d41409bb846ac56c472ad50f07fa72d031f5611e133c7d0b755fb4bd77c2742
MD5 ea09a38e4b36ca1a5108092bb93b3b58
BLAKE2b-256 4500299fa467528fb6eba8e86f61d3e143e24ccaaf62f375319acaa612f452fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp312-cp312-win_arm64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyxcp-0.29.15-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyxcp-0.29.15-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9f7237782f0b95d354ec9bdc86154841046287f4ea9999f8d43b709a54d8f3ca
MD5 5a9b968220733f3b1478692f75bf3e05
BLAKE2b-256 95339c4690b6231eab9aa384a01f9438cb8a1cca97c15aaecdd9868158a3aa78

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp312-cp312-win_amd64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 66d51f134b720f0c4fe959605c85b48d00d09d489deddb55d62be588cdbca44b
MD5 6eeba1707a9befb48967fe5457960bfe
BLAKE2b-256 b45e7888df96b84582fc5e3ef5b8ae1148d4a03e45458376d64cc0328bb2389d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4b44a69d31d0499c55d5543cc0f3b8d8f32923e7a388c91d395f6c57bce90724
MD5 d03c7ecd529a2a2c32d2fb75ae311551
BLAKE2b-256 f08c11be39748c892e95ac4c66b8326278b4cccaca16b658efccda39104b2ab5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59f2a9e41469e1dbbaf45cb81adcf278c5e9f09dc4668bb88032a0d07f20ff5a
MD5 a4ffb696766926903a217d7f25bb53bc
BLAKE2b-256 412e5247c7c103b416277187a2a16254eba75ff2f197e8f944e4c44fcf4e071e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: pyxcp-0.29.15-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyxcp-0.29.15-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 ddc994c86ecebe5913ec38b6e12b6d278ff3f18f2d147fb32b9d669650ef27f8
MD5 3fb8b4252e10b5dd80f036d95176fc90
BLAKE2b-256 cee2fd7751295bc4db58c61eb77f512a9bf81d50928b283e19cdf1d091b2b94c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp311-cp311-win_arm64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyxcp-0.29.15-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyxcp-0.29.15-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 62b9d02042613989359467037ad521bb9043f88c4896bc330def830417cd7dc4
MD5 bb3ccb70df9f0560a6ce7a5662bc1237
BLAKE2b-256 8570291f0202202ce51f36c52f1af2fceea31743bd55ec7c85b3237703088def

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp311-cp311-win_amd64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1d14a8ccd5c68513ece5bd7fd21e307c9ebd61b1cc8d5d8fe52565e742ccab24
MD5 1df9daefe8fcfe298486fa049081fa05
BLAKE2b-256 48967ebd0ea5fbf03dde29017227ba82edbdc7943b4ceb3a6fe6d7d8b615b02f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 35e4de18f82710ea30b8cd163516d75dd57c6fd888f6a3a00e716bc1ec1b7818
MD5 773c1ba2e30b0d2abbd51b979891935d
BLAKE2b-256 8b06a001c7237411ca8fc2e8d60a5c24ab44cf6489554129639a29dece8d83ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4cab10bda235c2b6e21387c77c8a30fe65381425eb4d33ae7bfc6fe4beecf6f9
MD5 33805a39b77402cc266b099e3e94dff6
BLAKE2b-256 d86365163338e956ba1b0ab925be4251be448a591ffaff107e671bb11f54e140

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: pyxcp-0.29.15-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyxcp-0.29.15-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 9f2f52a6d8dced1351c89e785f3a01394793d3f64971fc52060778d53506192e
MD5 f81dd638c6a7a5e9f5542494a6aa34f8
BLAKE2b-256 46535c3f680c28a8fa1b789bccdaccdd142bd631f83b9c8c3f84215c55024dcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp310-cp310-win_arm64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyxcp-0.29.15-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyxcp-0.29.15-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bb2aa7287ec28d6a31d267e3cd6cb43a3b284a76519c4d5ce9b358d5ba82c14c
MD5 8fbdb116f9e86eb980360b670a9b2c62
BLAKE2b-256 05983339d008045145978d9356c7f5945518856dbad67c4b9bd8ef33a8fe29b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp310-cp310-win_amd64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b701e9997bc7d7fe95e50d71bb14d4edc3b81022c9e81a674c4891be15a74105
MD5 db0e0954f44080b47f86d23784c05663
BLAKE2b-256 d2a758232c99ea762f781603c014e469f9499b26a211543a227d8a50303ab02b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6c098b60eabb1cc69d950b701be0aa7b15d1e0a7cc8678f88a54df60d6dbffa6
MD5 48a6b2545f8d07dc24cae8406f27e624
BLAKE2b-256 03c126292558844e1e541c6af763ef0ea2e7f3bd18722eaecf958112de52b610

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxcp-0.29.15-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.15-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9abef72759d464408d198050d3a44ef61c3f6638b8143a0c3c5137d444d0a5d
MD5 68cb32c5db484defda93122e2a577a7e
BLAKE2b-256 d867011ebcd662c6082690b0bd85e8a12ab01a09d01656f789b7cf5e69451184

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.15-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: pythonapp.yml on christoph2/pyxcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page