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.10.tar.gz (322.5 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.10-cp314-cp314-win_arm64.whl (3.5 MB view details)

Uploaded CPython 3.14Windows ARM64

pyxcp-0.29.10-cp314-cp314-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.14Windows x86-64

pyxcp-0.29.10-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.3 MB view details)

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

pyxcp-0.29.10-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (4.8 MB view details)

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

pyxcp-0.29.10-cp314-cp314-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyxcp-0.29.10-cp313-cp313-win_arm64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows ARM64

pyxcp-0.29.10-cp313-cp313-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.13Windows x86-64

pyxcp-0.29.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.3 MB view details)

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

pyxcp-0.29.10-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.9 MB view details)

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

pyxcp-0.29.10-cp313-cp313-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyxcp-0.29.10-cp312-cp312-win_arm64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows ARM64

pyxcp-0.29.10-cp312-cp312-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86-64

pyxcp-0.29.10-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

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

pyxcp-0.29.10-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.0 MB view details)

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

pyxcp-0.29.10-cp312-cp312-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyxcp-0.29.10-cp311-cp311-win_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows ARM64

pyxcp-0.29.10-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

pyxcp-0.29.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

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

pyxcp-0.29.10-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.1 MB view details)

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

pyxcp-0.29.10-cp311-cp311-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyxcp-0.29.10-cp310-cp310-win_arm64.whl (994.6 kB view details)

Uploaded CPython 3.10Windows ARM64

pyxcp-0.29.10-cp310-cp310-win_amd64.whl (998.4 kB view details)

Uploaded CPython 3.10Windows x86-64

pyxcp-0.29.10-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.4 MB view details)

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

pyxcp-0.29.10-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

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

pyxcp-0.29.10-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for pyxcp-0.29.10.tar.gz
Algorithm Hash digest
SHA256 45d1f46d7736a047f3b2f9a5b8a1aa2172684412df98687a71d00f0382210c93
MD5 26db668e5044aa9d202b3d7f2928ff90
BLAKE2b-256 c0505ee48e9898f5d585927b4e81fc5c510b50b7d146c0be3d4176e7c9689908

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for pyxcp-0.29.10-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 d5823587604b79a8c78da0279a16543856a7cd76b79c865b339231e8525e46e0
MD5 1b8dae23bd1ad02db44c6f79b10f55e3
BLAKE2b-256 ae93133816316d7c414268531f8230a531203e03b32548bfedc382400f6f0013

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for pyxcp-0.29.10-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 178681ea2ff49294526af2dfa1907cee8dfba4008682301ee4d97ce3eb089f36
MD5 2f3fb6712210bb6150b3e82ad55e1955
BLAKE2b-256 bdf7991476a8d65a27b3cc3e43e5ffb74a1770bbc46077e1d2a28e95765a7fc0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7a4ce48a3af3f41553ad78dcd89cc9f7d9b6dba53d403909614b55ff660cd839
MD5 11cf4e915afa2d34a1d4aec889a3bdff
BLAKE2b-256 8940a1ca76c04117014c4022e72d65dec4615ac99b63a519d05f0afaceb152ed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3fcf834ee3d0166678a52212b73304807c349bcf1287bcdb8d434256a3a26659
MD5 2261e39895929d04e13ec1007dce1086
BLAKE2b-256 49fc55a01bc6e438d4a83eb34e463ebc8b9a48577a8b9ff5af8d36abea3d3e5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8fa8fd8cb987add4532a06acf21aa050a3be7e9022d740180fcd5dc5c2ed9a7e
MD5 d97686bdd8171000b8d0b2a5bc28a715
BLAKE2b-256 69d5f04b8b26930509b12d36ca0f6d9db850b888541c68f05ffd03683d80b340

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for pyxcp-0.29.10-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 3ce313dd5b73f71cd9f0ea3e7196d3009b3e40531e6abc8fb98607275a430f07
MD5 2917295d6f3ec390e1cfd0bca19e9086
BLAKE2b-256 cbc19ff1be3e6f8504b49978f84259ca1a626dd39091d24311998b13da6fd07c

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for pyxcp-0.29.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 353d33236adf60ad7d7cd85375dd1856aa2f4ee0887b98bdded8c4e1fd06fb46
MD5 57c186b63a50834697f8eb2e01e17665
BLAKE2b-256 474973eb1d808d047d5e5882042efbd90ff21eb09b4819d56cd9117483a82d0c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 697b5823f5ffcaee059c760cf157d1659a36df177874431c086a515bf9c1afab
MD5 2cb83c5bab55c5f7ec9780e160a6409f
BLAKE2b-256 86cfbb3a2142ef60639bb11e23393926e35f1eedd2c55ffe2a70db344cd999ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 989d115c1dc636fa47fae82bf70b013e36cbb62d271c1dd108ad6850801e6848
MD5 96c311955e08ee0921f738d2ccd90aad
BLAKE2b-256 7b35d34efe6a76b8e6c74ef5dd4bbbd9e29a77ae8f19a3f135a1b716496a1e57

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98c9a9acfa94280d7ca297fda48b321490f02ffff3ae3cd88bcc4420a19c8b29
MD5 8ad08460b1306eca186dc9b6d7db16ce
BLAKE2b-256 0a38563e83d8d8f9c44db825a15fb3064a027c6a563bf4514d54f72efce07bc3

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for pyxcp-0.29.10-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 9c1c74ef5ed61d6e9cde41b5489b81afffbdb3792a339a7c3ee5c2d789ba8d9e
MD5 07838c15ef74d7e0d14ebc604af13b7f
BLAKE2b-256 cfe9066074cfeffa3ae97eb3bdce221844a3de009fd8c427de6bd45da97ea5e1

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for pyxcp-0.29.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 07cff427ea2c6626c42cb5a632f1398dd3906e16c4f2b8d879268adc722ab0c3
MD5 300fe7003d6c475e9ca2bd1f78171286
BLAKE2b-256 4c608d18b09c5d839affff9fbbcd9f8421bb1ce50381942637867dc13b8c972e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 977e7cfa3b238049f322fc39a9287bc63042f3398185fe93018d9e8a51347885
MD5 d00be2196b3fd473986a467cd23a37b8
BLAKE2b-256 d51f3b219e3481528e83ec5a9f45e714f70cf949aa7c013af088fb706fb609ac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 670d774c1ee053d982637d77813ae1008ced16151613ea2765883e813eb19d0e
MD5 7a8641b51800b7dc38c5cb6c42b740f8
BLAKE2b-256 44eb609bdf27e24d44a2c9a411369511e4a87ca1786b1715454253ab76e2d0af

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 144170b2ad8af50d095117884208d99fe3e78b373cdca792e65b1a13d9eee0c8
MD5 d7d792c640f57786e80c7dc603896832
BLAKE2b-256 21db77b7c4f83776c4c1674a7152ebc86869cdef706ba5315409577efb7c4414

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for pyxcp-0.29.10-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 4df780bfb7707172494468314b51900cc29368bd56609fc6c2c32271182c4a06
MD5 0807e7a106e7e3bb573a2175413fd23c
BLAKE2b-256 7e9e1cfe664ea722951330ffa4364c2b297496446793532de352c70918e20fc9

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for pyxcp-0.29.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 696a0d3e62835d15d08f16c7b99d6fdeacb5190303903b67c73e78c491b27cdd
MD5 9a3cd697c5d2caa7dedf616609ec6ffa
BLAKE2b-256 f605de24a0598e72b5d2562b459ad35988750e8d98d4be779f92b7f9abfed8c9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ea086d934ddafb83f6eb9f72718e9fc1e6daa0b3644b9e9a1609993cdea741d2
MD5 f067dcd66c1a6e844643c76195ae3120
BLAKE2b-256 7ae6ab6dfe7152efb98953021b28a185fc813526192013cd39c030df80d16bb2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cc9650a816f7dfe35ca77e2cdbae165d2cfae184cc34bb0a9d57e6489a9340e0
MD5 4b02715cfaff6f9b52ba646ceefcb2e8
BLAKE2b-256 3ec7822dd4177f64f638115c9f5630689fd2a5adb6be16d288ab36f39cca6aa7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5b56426dbf7b71c7691f272baa92926dfb4aabff2bedfdfe76e0910d66678ab
MD5 7fd46fa846fbd9a468a596ff7532a209
BLAKE2b-256 0d4e3a2c85014e003f66e0ec14792a4de32956b40cdce972b64c5bc97b7bc2a6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.10-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 994.6 kB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyxcp-0.29.10-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 e85c40d9fa785a4877138e3f0c22419fd7a966b8cfcf3191b2524fc2c6a7c404
MD5 ad3c7d814a1f92d11a3a4e8a137fd28c
BLAKE2b-256 be422785fd6913940f5a197ceb369de7be7b5736c1a5b62b1748c2d76dd4a5ef

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.10-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 998.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyxcp-0.29.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5b9846fd52ddf0f79502d1f60f0b5fb5bcadcda7171b6e9ca5fd1ebb0168f893
MD5 0c6cbd867276e9ae8f7901e9c34e2f3e
BLAKE2b-256 f0a79cac00c0af6f351cfb2337b55c23f71f95dc75003637b161ad52b99f7b7f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2c75dc7c591c016a422298d19e1ecfdc4cefdd121005f16d1978ab49930e1d83
MD5 7424677ba2a436ccedb048317ba53904
BLAKE2b-256 9d7eba7a4953bfb1c2e48be4ba3d2c468453d95e665fc82a060f1cd250447278

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8bda6ce28da560b9844fd2525716fbff28f71b5670e37726ed589f564e028142
MD5 b9729e7c7ea1eca27d4cc7535519024f
BLAKE2b-256 a0fcb89398409d71c50b61fadec8717d18138d8a3323af0dddc1e082a30a8e47

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.10-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b988d0e98f80ffcd74ed870b24c99c5bc2195f39adeca242c6f4a58094add71f
MD5 0d66130a80226ec6073a9fc0b5610021
BLAKE2b-256 0bae15bc1f862e4db242a47702cb41f6fd97eadd191f938af78598930d96defc

See more details on using hashes here.

Provenance

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