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

Uploaded CPython 3.14Windows ARM64

pyxcp-0.29.8-cp314-cp314-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.14Windows x86-64

pyxcp-0.29.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.2 MB view details)

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

pyxcp-0.29.8-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.8-cp314-cp314-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows ARM64

pyxcp-0.29.8-cp313-cp313-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows x86-64

pyxcp-0.29.8-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.8-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.8-cp313-cp313-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

pyxcp-0.29.8-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.8-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.8-cp312-cp312-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

pyxcp-0.29.8-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.8-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.8-cp311-cp311-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyxcp-0.29.8-cp310-cp310-win_arm64.whl (982.1 kB view details)

Uploaded CPython 3.10Windows ARM64

pyxcp-0.29.8-cp310-cp310-win_amd64.whl (982.8 kB view details)

Uploaded CPython 3.10Windows x86-64

pyxcp-0.29.8-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.8-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.8-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.8.tar.gz.

File metadata

  • Download URL: pyxcp-0.29.8.tar.gz
  • Upload date:
  • Size: 317.8 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.8.tar.gz
Algorithm Hash digest
SHA256 85fb83a4efcce21e46793838622306325d0c637cda25d187596c6db72cb3292c
MD5 499b25aaa684eb16d005be3b4e445906
BLAKE2b-256 8331ed6b6b806bbf40660eca219e8ed69ddea98ae9b7815c5a1aa67af4757412

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.8-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.8-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 813606a70c9bf122a318588560c5fead80a593734aa0501b331abc4e2d0bee58
MD5 23b41f26daaad4a15331a482af9035b3
BLAKE2b-256 0357444bf2c8c44bbcfb44650ff2241842cae1e37978bace28fd347144f472ef

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.8-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 3.5 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.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 fe776cdc00dcdaeec3a34a21c46c15abca5557ee42031d3c6f0afdfbb468a35e
MD5 a15d0f4334dfa643fcda641af48cab62
BLAKE2b-256 0e6c237311c579f0a01dd2d1308c8f60a690710eaad5a5179fa518fcd01f2cb6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bb73619c9b98426edf4d6a52bb360465bdba656131920c069d379b8fec596ac7
MD5 fb6089fce903973f19cbb5ec56e7b552
BLAKE2b-256 7339394439876f54084ed8f6b8a7e9744849e5a14d4066660487770e6271d128

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4198b5142b7705967a7b9e5acc5921c8f93ce6d6d18947eb46d10a9e75ac7027
MD5 045084ba05c774f38eb73fe1268f3454
BLAKE2b-256 8eb343b6d035f0984f412d90ee4700b197f770861a53ace82c6f62720a631703

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 46d94f342e47365290f7af0edf9963c31b46e02c2ccf575d0a7767275eac53aa
MD5 c545d39dd0108d8b5fc4ba9915271f6f
BLAKE2b-256 05d13d4a28f268c3f902e1e7f5a8a7e5303ed22fc0e847800938e19c38448008

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.8-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.8-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 65defa88d72677ffc0c04b41509bd9ac4dc61aebb43ae00696194f3338b559e5
MD5 980b0bf0c939b77c1880b7b0dbee176f
BLAKE2b-256 9d67120d9750d98c7728ae71c07749a6d2dccb5ef07761449af03ef1c46fe901

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.8-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.8 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.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 45e6d9b623f0177fdf7516f59459967cd034195130832c5acdf62d937544a56e
MD5 fa4d2e81b0d2b2979a3dc6be5e77f4ea
BLAKE2b-256 15cc33f81d4d7dad6f7eefccadfba2348adb133fa371f4b17c9d71e6b00c692f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 88b9cccb5abbcbf5f61513bc45e348d30c3766d083c6775f9159895c0ecbf1db
MD5 71c51dafa637775a25c951ffb10fe575
BLAKE2b-256 8298be06e50525cece7b6562aac9d9ba18cef9fc6325f1e25eccb0b47834b95b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 10bf888daefab3c2195a9af761aeb73222c9b8e07a3f0ecfd1b68797fc702ceb
MD5 291f9a0b9c9145f4259889997a1da66a
BLAKE2b-256 f4c828b57375ac86fe1c767cdd36511c6b97c8049c66a8b5ea57ae3e494a0c82

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dfdd31d6b604696f04c49129176dd8c86c664bbe0f57ecdc75de79512d45ce6b
MD5 39770af62dd8744ff20607c5de38d475
BLAKE2b-256 318e3b96c63259da99f64ad275c00f52da6fe9bf0def0dc15e9e628b9d63a7f6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.8-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.8-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 7145a71c01cf640bfcefc83a57d7eede2b674d2a2e1ecf9eac596d05d3963170
MD5 3952496f0ce6429ae993c9c8a04ce537
BLAKE2b-256 7790e0cffbf3b4ff63d5f2ea405b6cb05051a93c3b56c6f0306fd39a2f615e14

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.8-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.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 182e2f1756a55008159b9887f8a7c72bf671724b8cbbba42cb7cf4193fea24a7
MD5 f6a1e0fc64617e4bc97c2f889b128b55
BLAKE2b-256 651fb57f9432aceaeb161b52f84de3042b44a4dbf298c25a7dedfc496e82cfb6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d566a918860518aaa01910f7c6ea1c852e52fc415e8efc378cfc9a30e2e3144f
MD5 f4f06bf0506d21e28525d75a3a69e75d
BLAKE2b-256 c190af9d80c05d07a52f1dd2094794c4792c0460589e02532ae860e6b234ee45

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8ef71b89d99a1753c7a2a53731764bd579290cc96db7587588265d2dfbb357a2
MD5 3d0534aa918059e755cfff727f3fbae1
BLAKE2b-256 8f77f5f17cf09e00b73f542035010ca487777e779bfd81d2e92b55c82d31d717

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 252f8eb1c6c266f39f9df13fd3172bbe40bf0d886e54051a3808de404730e26a
MD5 00b86b06d859c529cf796218b1caf6f4
BLAKE2b-256 e889cbc233bae0992affef5e0ff810c306e3d4e9ba94981e10ecc644987560d4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.8-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.8-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 0e13b5e9cd8bdcc3d3f5b558e4491df5a9237560bdf8431b552f3b62204d4d46
MD5 5005adce45a24f549f231359f31ad59c
BLAKE2b-256 d41f47b9d9d3afbe2c2fd1a86db7749ab4119d496dec32f6f2e5eb48f8f58efe

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.8-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.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d2aa5a98d37f085ccc798b8dd78293a456c3479db598e495e22fda5e48325322
MD5 a45eefe3d3646431115cc4d919076d92
BLAKE2b-256 b89128f975ef16c051b21745b0d52cd91318a241596e7e302d99136f6e5913b1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a32d7eba70319107362a59beb689ed6a6b5d09204f94712a737c60357f3637da
MD5 4afef98bbc819993fa7688c68cdae681
BLAKE2b-256 cfaf94f72d67622574bfc8601632c3f80e51771f42e6282496d7455a66e86d15

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d4ec0e307a3f6694fc0078a6edb16bae68300c60f15e254e44e0936c817f8798
MD5 7de9f0b15f2ff13e448d8873021c39b8
BLAKE2b-256 3e8127d5269d225ba09d1b3341df8694fa4007c626489d3de47f6f7e688df1c6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 60096eb537891417d709cfa9b33a82de4ea0959337ab016b6fc2473a9522fc43
MD5 91c47a884be17d3fe490d406f1d74186
BLAKE2b-256 a1d300b3e1ec363afb27a3b0582668d9e01475e7e2ed30c9f48844922b7c4711

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.8-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 982.1 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.8-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 bbb05f799d3c4a3b9701593e25a83caa651959a1ec061dee8c54e0d5dc47119e
MD5 82dea1638fb74dfee95de0df3809271e
BLAKE2b-256 724ee543c8b958f453ced397d9f35e435d821bbb2bb3a0b0d7fff589ff725f47

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.8-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 982.8 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.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6253a492c79964a4f909f7ed7bc90474ae28d0b2b51ab42edbb5d55833b7ea63
MD5 8ee6192d606ff4b1997cbb63d7b22294
BLAKE2b-256 8b791b2f9bb1634f2dabf423333ffe84a3f57f460fccac365e662547256b7695

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 05280635e63464466674fce8121103898fc723d645cdf416b6c200ac43cf1f64
MD5 bc2d893608205ffc427ca68111d98407
BLAKE2b-256 3f6fcdf2ffaafc301980ea0c88d44c2c529937b4a3caa3ad1278bd3e47caa5b3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cebe73c896c9513002f7310fcd6e7813c3bb7c2630cc22132aed57e72a4f51b9
MD5 dac85b326fc3beb83008143e5ff1e564
BLAKE2b-256 db35e7e8d7a2724336edbf45dc2e3e2d68b650549e4b6c4b3ddbef6d2303d4cb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 633c2970aae1048ea80f775755333ffd3eeec9f40b529485f79f6e2c907b82a0
MD5 b909e61996c3b857f336013be5250fa6
BLAKE2b-256 0ee9a76669fcc483800ddfe6ddaf3d6b3360e0f2870a667c34944af00d97cc4d

See more details on using hashes here.

Provenance

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