Xaloqi TestLab — core
Try a full UDS ECU with nothing but Python — no hardware, no CAN stack, no config file:
pipx run --spec xaloqi-tester xaloqi-sim --demo
or, if you'd rather install it:
pip install xaloqi-tester
xaloqi-sim --demo
That runs a real UDS conversation against an in-process simulated ECU: VIN read, session control, AES-CMAC SecurityAccess unlock, a security-gated DID read, DTC read — the same protocol traffic a real bench would see.
Run a full campaign against it
testlab-run --config testlab_config.yaml \
--campaign campaigns/standalone_validation.yaml \
--job basic_validation --virtual --json reports/run.json
testlab analyze --results reports/run.json
campaigns/*.yaml define test jobs — session control, SecurityAccess,
DID/memory read-write, DTC handling, firmware transfer — as data, not code.
--virtual runs them against the built-in simulator; the same YAML runs
unmodified against real hardware once you add
Xaloqi TestLab Pro.
What's in core (Apache-2.0)
- UDS client (
xaloqi.tester.UdsTester) — async and sync, all major UDS services including 0x27 SecurityAccess (AES-CMAC) and the 0x34/0x35/0x36/0x37 firmware up/download sequence. - VirtualBus — the in-process transport and the simulated ECU
(
xaloqi.sim, also thexaloqi-simcommand). - Campaign runner (
testlab-run) — 20 UDS actions,expect_nrc, variable capture/interpolation, JSON output (schema shared with the Xaloqi EDS diagnostics stack, so the same result format works with either). testlab analyze— terminal summary of a run's JSON results.
What's in Pro
Real transports (SocketCAN, PCAN/Kvaser, DoIP, SOME/IP), the SOVD client,
multi-ECU workspace mode, RTOS comparison, HTML reports/trends/dashboard,
and AI-assisted failure analysis are part of
Xaloqi TestLab Pro — installed as an additional wheel
alongside this package. Core discovers Pro automatically through Python
entry points: install Pro and every testlab command and campaign action
above works unchanged, plus the paid ones. Without Pro installed, a paid
transport, action, or subcommand fails with one clear message telling you
what it needs.
Installing from source
git clone https://github.com/Xaloqi/xaloqi-testlab-core
cd xaloqi-testlab-core
pip install -e ".[dev]"
XALOQI_LICENSE_SKIP=1 pytest tests/ -v
Contributing
See CONTRIBUTING.md. Found a security issue? See SECURITY.md — please don't open a public issue for it.
License
Apache License 2.0 — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xaloqi_tester-1.5.0.tar.gz.
File metadata
- Download URL: xaloqi_tester-1.5.0.tar.gz
- Upload date:
- Size: 75.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddacb0c5163da134f2fbc6d9d8c94a5676d411aa7f0e6a0e547627d578bbc57b
|
|
| MD5 |
674525cd6d1a1c686550a2ece9609e6e
|
|
| BLAKE2b-256 |
533bf77b391cfe5fde813793c66210d3c87eaff4e3dcdc8d50f2f9141ab16413
|
File details
Details for the file xaloqi_tester-1.5.0-py3-none-any.whl.
File metadata
- Download URL: xaloqi_tester-1.5.0-py3-none-any.whl
- Upload date:
- Size: 55.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ba084eef7399d1892370bb72ab0ea85e0ee1d1f732e67b58d7014e4c1e3be1a
|
|
| MD5 |
2b0534426bb2086bc8903cce4042c944
|
|
| BLAKE2b-256 |
3c14c1c2feccb5249f503d14fb3e822a06e5ab5f0b874c746ac4b600eca1cba3
|