Registry / communication / pyxcp
library0.29.10pypypi✓ verified 88d ago

Python implementation of the XCP (Universal Measurement and Calibration Protocol) for ECU access via CAN, Ethernet, USB, etc. Current version 0.29.7, regular releases with critical bugfixes. Requires Python >=3.10.

pip install pyxcp
INSTALL
IMPORT
SIG · PYXCP
P
pyxcp
communicationpythonv0.29.10
Install
6.0s avg
Import
896ms
Disk
58MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v0.29.10 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.10–3.95 runs
build_error
glibc
py 3.10–3.95 runs
installs and imports cleanly · install 6.0s · import 0.896s · 56MB
58MB installed
● package 58MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Master
✓ from pyxcp import Master
✗ from pyxcp.master import Master
Master is directly exposed at package level
SlaveProperties
✓ from pyxcp import SlaveProperties
✗ from pyxcp.slave import SlaveProperties
Old internal module path removed in v0.27
types module
✓ from pyxcp import types
✗ from pyxcp.types import *
types is a submodule; wildcard import not supported

Connect to an XCP slave over CAN and read slave properties.

from pyxcp import Master, SlaveProperties import pyxcp.transport.can as can master = Master(can.CanCCPSlave(channel='can0', baudrate=500000)) props = master.getSlaveProperties() print(f"Slave ID: {props.slaveId}, Protocol: {props.protocolVersion}") master.disconnect()
Debug
Known issues
breakingDAQ InterleavedMode calculation bug: setting interleavedMode=True could cause ERR_OUT_OF_RANGE. Fixed in v0.28.0.
fix
Upgrade to pyxcp >=0.28.0
affects: <0.28.0
breakingCAN-FD padding corruption: variable-length CAN FD frames could have corrupted padding bytes. Fixed in v0.27.1.
fix
Upgrade to pyxcp >=0.27.1
affects: <0.27.1
gotchaImport path changed: SlaveProperties no longer available from pyxcp.slave. Import from pyxcp directly.
fix
Use 'from pyxcp import SlaveProperties'
affects: >=0.27.0
Errors
Common errors & fixes
ERR_OUT_OF_RANGE when configuring DAQ with interleavedMode=True
Sequence counter byte not included in overhead calculation (fixed in v0.28.0)
fix
Upgrade to pyxcp >=0.28.0 or disable interleavedMode
ImportError: cannot import name 'Master' from 'pyxcp'
Older pyxcp version or wrong installation (Master is only available from pyxcp package top-level)
fix
pip install --upgrade pyxcp
pyxcp.transport.can.CanCCPSlave is deprecated: use CanCcpslaveInterface instead
Class renamed in v0.27.0; old name still works but triggers deprecation warning
fix
Use CanCcpslaveInterface instead (case-sensitive)
Upgrade
Version history
0.29.10latest on PyPI · released Jun 3, 2026
Audit
Dependencies
pylibpcap (optional)optionalRaw Ethernet XCP transport (install as pyxcp[ethernet])
python-can (optional)optionalCAN transport (install as pyxcp[can])
cffi (optional)optionalUSB transport (install as pyxcp[usb])
Agent activity
14 hits · last 30 days
node
12
OpenAI (training)
1
Resources