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 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.13.tar.gz (618.3 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.13-cp314-cp314-win_arm64.whl (1.4 MB view details)

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

pyxcp-0.29.13-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.13-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.13-cp314-cp314-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

pyxcp-0.29.13-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.13-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.13-cp313-cp313-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

pyxcp-0.29.13-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.13-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.13-cp312-cp312-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

pyxcp-0.29.13-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.13-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.13-cp311-cp311-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows ARM64

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

Uploaded CPython 3.10Windows x86-64

pyxcp-0.29.13-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.13-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.13-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.13.tar.gz.

File metadata

  • Download URL: pyxcp-0.29.13.tar.gz
  • Upload date:
  • Size: 618.3 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.13.tar.gz
Algorithm Hash digest
SHA256 3174e501ab1d4eb8e09b6b387aa828481771b52787abe6f1a57ed0e1e561a817
MD5 b47b0ceb745636dffed415ba395ed703
BLAKE2b-256 597976053d6c337b1a6d2a5db4f73568e60b92af28e765275ef8d2768f651561

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13.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.13-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: pyxcp-0.29.13-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.13-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 d215d8b692f388da861e40365d5abe2b717be3efb282c84222cb85709d0b1ebc
MD5 072c545acc78d3abc13239d227b6f74d
BLAKE2b-256 52fd3f6da0b593ef13edfc2e87eadada89dde3908f3810ca28b80b411a4e7fe1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyxcp-0.29.13-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.13-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0820b6fdce9eca785039c91538ee4ef3103e1fd1737c5ee9e67e457c6b6f4e4b
MD5 ed28bb9514dc6faac53a25a5309afdcd
BLAKE2b-256 e14d9437d2ca18f62dfaa46b0373bb845b93a56feaf85f675624e4728b47c269

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8f7ea4aa2bf916f4e054b0b252182c1d51834c0612a4d60efcbc74395570317b
MD5 9e68e3beadeeedae4bbf956d2a9d37b5
BLAKE2b-256 8d66ff2f2f82d3e9de900e20c716a6c91100b680737e135aacf7379a7ed88ddf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 92b0cbe4d8f13f34622252ba765a59811e97d0a7d40be7e942c8a2ada8ce6740
MD5 12dc3a7c948dddb9fef72dd221893e66
BLAKE2b-256 99fa5ff4b6c1fe3b5456d3eda2cf58787e733db4d2dee18c67385d84467b91e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 abf671312572f115c11c985feebac5dc4e63f96e7cf1d7635dfec9aeb12a9dea
MD5 e3c258f518b95f8b0fe5d588723aba7e
BLAKE2b-256 17e859cbba1357678e2a45aa8baecb392dacb6e542782abf99aad36fe2ac6bd7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: pyxcp-0.29.13-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.13-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 3c26b8f4c89edbe194cb86670b7733254c8d1cf63e8c7ce5902b59766872268d
MD5 0308094896007ec1f5e4e58bd6392cad
BLAKE2b-256 c6aae9916deb2a5ab03c553be0147539ada936053420026a77317dd184a68bba

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyxcp-0.29.13-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.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b7e97613741c6aeaf027aacf175db3c68826982e03136ba0edb960ba46ebd552
MD5 e2ca487daf151104d8c0c7b7f77c47e5
BLAKE2b-256 661ba50aa20d5f1314c2db39d4bd1f4f90876a640f28acdc6c211690adb53b1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cbf3dc483ba747be041c475830def742025b65b1095dbe677eab2014ffb506c9
MD5 34689807c703e4d4a1a7f452aa10f177
BLAKE2b-256 e38a9c5d1dda020ca6721b14470a19b23f1aa2924888c0e11205b2ab9b60b614

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 57bad80f697515b7fd2d7a33624459877b20f5b5ad8559f68fd0e38308a4202a
MD5 7131edc5cea83a5bce4a3497783854ec
BLAKE2b-256 90002c5d5385e0ac383afdec417df3a5ed2d7b7006fd5af6a692b220c230f85a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fdfdff43ff9de5ad67a46c9d6e08808d7974d7079021391b11791e052b1e9792
MD5 8372945171f773db4a927a84d1c58e01
BLAKE2b-256 bc41d2360b89a08b4bf1b7ac2e0bde36e4452e5485f6f38d720516e64cefd17d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: pyxcp-0.29.13-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.13-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 f930cd274bde1e103e80108f2ff1cfc45db2031fc629c52e144308f88c355815
MD5 bf37afbb234dcfe2bd62173c980dece8
BLAKE2b-256 c7b0902cdf3f47b1c081a2624ab875e1e21ca76b1b67e75caf002d3c1e4b9c83

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyxcp-0.29.13-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.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6f93abff7ae81e391356accfed0a5e7fe95fb9893d12e0dc6ab070451d1a45b8
MD5 ea07a0e01803952809266f58f67ca066
BLAKE2b-256 0c70fa7a0fea971a827f1428498b1a128b87d9dc01d7355dec43185de1602ebe

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 18df80e451cf81feff4b132d4dbc977954355a988e6b058ebed7191d752522c8
MD5 3068912271f4b16d52ead7017eca2a6a
BLAKE2b-256 e5534315add78fd6bb73932e8c6fdc1f3a41e74492f50328845fb9f35daa0595

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 78399f083625361db8d82c81d00bc80e4c0a791723881abfb95c3e2bec079212
MD5 e6377a3575638814c891b65f697e208f
BLAKE2b-256 43b3566a34c2f3c4b3f31005f45dd6f291b4f2482c2b6d8ca1e8a01207f313fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4cf7f7baa50dd102db95dad37374b211ffc3b19af6c3ace0234008f176880bf7
MD5 498226d856230b037ed06ee8b7c702f3
BLAKE2b-256 791bb159a9ab2263c46bd18e415152c69d0a3d1d1fb520771ecf37598e44f63d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: pyxcp-0.29.13-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.13-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 77ac34382604e735efd13023add5e53911666f4bf0f2a02f3d0ec3fac71824c1
MD5 db17bd4b6d14b3dfb2b2707e2657c136
BLAKE2b-256 42529fc8c2126b7ba954d771114dbbab3b90d92b94fcbd751e867203097f954f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyxcp-0.29.13-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.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 848cf68ece15b18ddde5ed4616730137bf45e6372de33f2789bda8592437d7ea
MD5 81fe81013df9ffbe4bba69e3e2413d3f
BLAKE2b-256 61c783095a14728d3ac7908358f5d6aaa62c6adcedcf63d8a65936acc5fb5806

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fcd699e9337c9765a300d932e86d8303bbff0d7f05a7dab7284742b7ca8c4ebf
MD5 1bc4cc88c33735d4e46e33c380179526
BLAKE2b-256 000cd68845520813255e34eac73341dddf644fa77b8f83217f75e7bebc413cc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e2938b7cb846a94464b1aab4a92302eabe0ec1c2a148cce83f2e225aeccfbebb
MD5 23eec54a5eacde1383f09b3356d07274
BLAKE2b-256 7a6a9cb77569e470d7a133ed966b005d3d0bd7d5b74d0b0630d85c8fc64dedc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 53d506548cef02c984ed5ee70a2922f5f53b00ba2caaa36c2f2b8fc2c417820e
MD5 601e246cf221845af6cc00a96d04c21f
BLAKE2b-256 c2d715e21a10d284e4fa3b3bdb1fe7c4a2787271b720f220266e7e23b60f51c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: pyxcp-0.29.13-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.13-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 d1466809d57f0a8e156ae17ff8c71db239a691800b37fdc29eb4316dc3a58c66
MD5 8e9be5a0676b45ea637144b42c37eb49
BLAKE2b-256 464234c1e6e0d77d6e2ed0c88cc21506294c25be48dcc406ac85e8eeb4fcf914

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyxcp-0.29.13-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.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 61b68d16e3ed6c989801eca52a705cd745aa7e38a52e6c7001e6778a2ad14685
MD5 0e8b0fd80ebea5a5d1d82744d08b1bb0
BLAKE2b-256 30ff3437d8f827ec7e8f5d789e8c91ec0e5e6c13f1581e560a893f5e68094226

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e90af5f197e8efa702f0c440482f45d9aba240a2165541d29c0dafb23c78e3c7
MD5 6c01bf3f8d5a1cdc08bd1c1ff6c1db26
BLAKE2b-256 5372a531d09427051f5f24242e810a7a0b5cf84d1038e1a2c8e5018bcd4d836c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1df41293754b93f685883a2d0470f2eadeba9a00c8dec7a85f1cc00d5a071812
MD5 fab496afd4f304d76bbd4c591c6a5191
BLAKE2b-256 1f7a44f44079fdaa7e2050fc3287c4a14a78ee4ff8b71b2937e31269aa47243b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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.13-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxcp-0.29.13-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 102a3df151ad7f3338d0b5a33b20e404fcce56652b8806828959bad5cac75717
MD5 70dd4a57e79da681031d558da39519c9
BLAKE2b-256 8e3e15b300dc659e8d192aed827c54e9bc290aea1301808b40cd3f0e31979461

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxcp-0.29.13-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