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.12.tar.gz (329.6 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.12-cp314-cp314-win_arm64.whl (3.6 MB view details)

Uploaded CPython 3.14Windows ARM64

pyxcp-0.29.12-cp314-cp314-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.14Windows x86-64

pyxcp-0.29.12-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.9 MB view details)

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

pyxcp-0.29.12-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (4.4 MB view details)

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

pyxcp-0.29.12-cp314-cp314-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyxcp-0.29.12-cp313-cp313-win_arm64.whl (3.0 MB view details)

Uploaded CPython 3.13Windows ARM64

pyxcp-0.29.12-cp313-cp313-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.13Windows x86-64

pyxcp-0.29.12-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.0 MB view details)

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

pyxcp-0.29.12-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.6 MB view details)

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

pyxcp-0.29.12-cp313-cp313-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyxcp-0.29.12-cp312-cp312-win_arm64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows ARM64

pyxcp-0.29.12-cp312-cp312-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.12Windows x86-64

pyxcp-0.29.12-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

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

pyxcp-0.29.12-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.8 MB view details)

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

pyxcp-0.29.12-cp312-cp312-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyxcp-0.29.12-cp311-cp311-win_arm64.whl (1.9 MB view details)

Uploaded CPython 3.11Windows ARM64

pyxcp-0.29.12-cp311-cp311-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.11Windows x86-64

pyxcp-0.29.12-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

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

pyxcp-0.29.12-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

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

pyxcp-0.29.12-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows ARM64

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

Uploaded CPython 3.10Windows x86-64

pyxcp-0.29.12-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.12-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.12-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.12.tar.gz.

File metadata

  • Download URL: pyxcp-0.29.12.tar.gz
  • Upload date:
  • Size: 329.6 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.12.tar.gz
Algorithm Hash digest
SHA256 13cc0fa9c47c85998fcd7c9bedcad2be05e2aea9be9a5808aab03077d1e50691
MD5 c4026904c8d161664dab577aa71088a1
BLAKE2b-256 b0084a4e56c11afaa8fe8a5597cc317cb894d2c9210045935c41a790d145428e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.12-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 3.6 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.12-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 6996efd32f532e74ccd1ea8664af05cd95ee84f0398f5dffd7e791621663ee09
MD5 a2441b93b2be55eb56ba35f7d70e1ea5
BLAKE2b-256 b07d6cfcfb1a68b896f78cadf122acb84443b1f14a2adecffe46112ab89d6a2b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.12-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 3.8 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.12-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f3667938691720da2ac7e7d7daed513e130824e040a4b9ff0baa4d124dff3e8a
MD5 acbf6f408ff0e29f52f07c79aae3ca3b
BLAKE2b-256 e73404898295f22c9aeb671cb3651965685963d72ed648c33d2a838ceb3680c1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 84c9200bc96ed06f491fbdeeef47327081bbf63d3b110b7615f0b4ca1eaa0dce
MD5 860747a2f3329c5615fa3572d9336135
BLAKE2b-256 871c8417a156c875e80ab095583190c84ed506abcc3e8ad1f5c3b14677db9fd7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8e4a950f1069ab08ca923c42c6a4b24af5165f403cf0d6fea3c58a48dcaa208c
MD5 693ac613a46304991294ca74cdc93942
BLAKE2b-256 c8e750077df4e96574e6663103087dc44256b459782f2cf9f0840602a8142a1a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d2d7579e635af6915cfbf50d8f4a60ceb97ee84cc160cd221fbe3e2bdfa4a7a
MD5 7f1d5733b122738103962deb417f54f4
BLAKE2b-256 51fd4b06dfa2868fe78183cbfc46955e6683249cc64152edf482abec6cbcef5b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.12-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 3.0 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.12-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 14fe5a3daf636ec87ff8ee43a5387a07c1ac5a2f93d09580c50e852030b225e8
MD5 ab55e7f15df8f4636cabf98e7710a56f
BLAKE2b-256 30af93faf4589c28e72faa142b0348d98e013a9af0eae7452b80bbe7d88d77b7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.12-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.1 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.12-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 30ebc6474d95a6e542ea1171de0f84bbeb116792f1276df78a62ce88778485f2
MD5 6f4887b30868d10044173d3934cedc8e
BLAKE2b-256 54ece4d231c136f45b7825a916fae97b05b5c3020dd459efd80b2ac1044dd50a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4fc0df0d15837d6f8ccaa24cef847d925c171ec9b9ad7ca17f39f47532463d99
MD5 76fa6cc24b5d53016e2cc1da1b15a174
BLAKE2b-256 50692ecd540d85cb9a2bd9d63a0283b9a4af41798c0f0e93c84901ee53cbe32a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b210e457ebb8add3d03512704687041a27f15c88e55e0ef7bdd1842357c32642
MD5 c609c8ea6622afcc2b5d01e1fef699e3
BLAKE2b-256 6496413cbc9cfff22e44a6844a03f5b87a46cc690712ae74be93d3bc4fd70178

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 520dfde665f11db5ad27b609dcf87ee36fde31dedbdc5964d40a1a0704abb910
MD5 c7e57918f93b4d42038323d08fce66ae
BLAKE2b-256 0f29ef37fd83507919e67979bd741ba91e6413a73e9af897de77f9b13a0b3433

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.12-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 2.4 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.12-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 71af152d5fe0ea083276e13de5a36dcaee0b1fdf995d562188802295b6b84e0f
MD5 1e10784a3d7335d169d55f2178d61bac
BLAKE2b-256 069d13be0c81cde110ecba9478c685b46d318c5ad2269c0fa6ca36ccd936770b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.12-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.5 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.12-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 54a20ced3324d394c01be6ff1d9019cb14384842f8a6024f5eb0649a414f3897
MD5 db7ff112f547b93c2e242d79728e2942
BLAKE2b-256 859f257608b71863eb4a19124341a91d4da1ee530892d720726421919f34b079

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 659954f3e11f0929d0cd41a6d081bc3a0ef63c1b2b66a1d5389e49346aa73fb2
MD5 ae8aa152406a63dde0ee36a5472488c9
BLAKE2b-256 559281f3e40e6c360f2d25961dee0745a376e107c22b1705ed18941246f49e4d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 44b9a56a887f099d8a2388b2b9f0b83a2b27a48cb6e675b1baeeaace9685010e
MD5 a698c9765f8b1e5121a0a4341aa3ee13
BLAKE2b-256 b08a1681e444cfd6fbd1ee9ad3f378187a9b3a2ad95326b6d4233af060ab0c55

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb350e7e8c85bcc2871d04e83575fb0ecb0e9f77afa4b5ca591703b3f2c81a6f
MD5 915349a351c3776ff36b0b1a38036a49
BLAKE2b-256 c47f1d5df1fc511a09079677562121f8dcba70e255bd4d5a541efc6cdb7f3b59

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.12-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 1.9 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.12-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 838a59fe26c1accef94aa27efc33bfbb6d0815c240ccb71b63c45fd566c8bc26
MD5 5da26ccfa6ad9f12c62afd829a7a2e58
BLAKE2b-256 e7c8a631da8b6ce10601b0a1185ddb336c7d152bcc3b28561835fabda01664a0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.12-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.12-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0703aec4b5e9001a471c47e4f38398a11f786ad1b573509fee06cbf6cbed54aa
MD5 00104c93f38dcdd6b579b7cf0b953665
BLAKE2b-256 0a8f407e6b33c0bede3f317267816e9a791924107c4c8ec180b00ec7bc42c743

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bdeb8a300c280927d613bc77581efd3a2829e7fa49170a9a7b35d07439570641
MD5 74e67ad52b18bff5f787d8e3b06efa2e
BLAKE2b-256 851903d50fb5f2eb57de2d0310f75e0e6b442a5279c9d0f8597345ffc0c1a77f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cbf3c33c244f6116b1e557c29dbe5de4abb8ededd69924693711fa50ee63fc56
MD5 e6d1654c932d6729a432096fc559e3b9
BLAKE2b-256 7d59d831c69e8bc59078ab3d790c7e01e80de4e1ab11ec6fed2ec47553a13c7f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2d2ff4daa15aef8354fe5ce6f80fac4d15cf83c5b03b28216d2ccdb17450e072
MD5 d4e3ebcaea69e5c7c4ac66ba48f6ce3d
BLAKE2b-256 03e77085cd48493aee3a441ace5fa49fbfc9d163d0007157a8531f9c47314a8e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.12-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.12-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 d3433028737acabdcd79464626d32e02b91063cb7e654a3ed5dc6a65bf1d9aba
MD5 aee0a8575cecdc7907d5bb2948702e4c
BLAKE2b-256 19fade40cb0044dc2b43e73b88310be4079a5a5926110d06a7c7be6d805091fd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxcp-0.29.12-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.12-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 75bc96d806eb01729b7612554f8eca0106cad6f5dff044ba96f060469d1c4ebf
MD5 5213851bf29bc45828d67d3e871fa716
BLAKE2b-256 4880e295a51ab0df30b019c190f64b36a90c934988c3b1bbeec588af810249fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 538ed8269bfcc436eb8da38d5212ec64197c6c4ce076e91bc982ca0b3a7f773a
MD5 7aaa54fc4e8d4dde0a28632835a30b07
BLAKE2b-256 02fcbd417f2eff41d41685ddfff63edf69d26bfd08a4e11fdef448b20ed221f7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2ce23a52ce7311aef144f02b5f6d44c81ca89990602bba17cc747cef55642154
MD5 2994b365de7292e74ad62acbde97782e
BLAKE2b-256 9e284ec74033f72c3b2bb19b06d9f1a2b389edb9d3bd0468a5634e2a9ca3a16d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxcp-0.29.12-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 60d22b5b97c96c0f3c019b96e0374e8ce2e00968307884205680d2c3ebbdef6f
MD5 2d51b0e5299d948c25a8ba44532799e9
BLAKE2b-256 fc1029b84a732b9ce86b15c75b7567fa686897093990571b297fa9967c80bd88

See more details on using hashes here.

Provenance

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