Skip to main content

pycangui icon: a CAN bus with four node taps and a terminating resistor at each end

pycangui

CI release PyPI python platform license

A graphical CAN bus tool: live trace and plots, transmit, CANopen, UDS, J1939, XCP and CCP, and Python scripting, on any adapter supported by python-can.

pycangui on its demo device: the CAN Trace, CAN Transmit and Event Log above, and engine and vehicle speed plotted in Signals and Plot below

Install and run

pip install pycangui
pycangui

Python 3.12 or newer, on Windows, Linux or macOS. python -m pycangui starts it too.

To include everything optional up front -- today that is the reader for MDF and MF4 measurement files -- install all. Without it, pycangui offers to install the reader the first time a measurement file is opened.

pip install "pycangui[all]"

What it does

  • Live trace of every connected channel on one clock, CAN FD included, with filtering that hides rather than discards, recording to six log formats, and replay of a log onto a bus.
  • Transmit raw frames, DBC messages edited by signal, or a CANopen RPDO.
  • CANopen: node list, object dictionary, PDO configuration, EMCY, LSS, SYNC, DCF save and apply.
  • Custom panes: the CANopen objects a job needs, laid out as a form with labels and units. Built from the object dictionary with no code, and polled into Signals and Plot.
  • UDS over ISO-TP: sessions, security access, DIDs, DTCs, routines, and firmware transfer in either direction.
  • J1939: nodes from address claims, DM1 faults with lamp status and the failure mode in words, multi-packet messages (TP.BAM and TP.CM), requesting and sending PGNs, and SPNs decoded from a J1939 DBC.
  • XCP and CCP on CAN: connect, seed and key, and reading and writing A2L measurements and characteristics by polling.
  • ASCII Log: reads any CAN identifier as text, for devices that print a console into the data bytes.
  • Signals and Plot from DBC decode, CANopen TPDOs or XCP and CCP polling, and out to CSV.
  • Python hooks with hot reload, replaceable components (your own CAN interface, ISO-TP transport, or XCP or CCP engine), a live console and Run script.
  • Plugins that add a pane of their own, installed from a zip. Three come with pycangui: CANopen firmware download (CiA 302-3), DCF compare, and CiA 402 motor control.
  • Simulated nodes: devices written as Python files, on a virtual bus or standing on a real adapter, and gateways between channels.
  • Workspaces: one per product, holding its hooks, EDS files, databases, channels and layout, and exported as one zip.

The manual covers each of these, and is also under Help > Documentation in the application.

Adapters

Any adapter python-can supports: PEAK, IXXAT, Kvaser, Vector, socketcan, the low-cost USB dongles and more. Install the vendor's driver and python-can finds it at run time.

No hardware is needed to try it: the virtual interface's Demo device channel has a simulated device on it that answers CANopen, UDS, J1939, XCP and CCP.

More

Safety notice and licence

pycangui talks to real equipment. It is intended only for people trained and experienced in working with CAN networks and the equipment connected to them.

Joining a bus at the wrong bitrate makes a controller signal an error on every frame it sees, and those error frames go out on the wire -- they can impact the nodes that are already on the bus. Transmitting, replaying a log, writing parameters, enabling a drive and downloading firmware all change what equipment does, and not all of them can be undone.

Know what is on the bus before you join it, and what a device will do before you write to it. The confirmations pycangui asks for along the way are a reminder, not a safeguard: like any software it can have faults, so do not rely on it to keep anything off the bus. Where a mistake could hurt someone or damage equipment, keep a way to stop that equipment within reach.

The hook and simulated-node templates copied into a workspace are under MIT-0, so what you write in them carries no conditions. pycangui itself is provided under the Apache License 2.0, without warranty of any kind.

Metadata

Release files for pycangui 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pycangui 0.1.1
File Size Uploaded
pycangui-0.1.1.tar.gz 927.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pycangui 0.1.1
File Interpreter ABI Platform
pycangui-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.7 MB

Release files / pycangui-0.1.1.tar.gz

Download URL pycangui-0.1.1.tar.gz
Size 927.7 kB
Tags Source
SHA-256 checksum
How to use checksums
418496bff18e4257247e11f11676a9b8fa5d560f26c9b6a6d30c63353e3002b1
BLAKE2b-256 checksum
How to use checksums
f3594b9b78259999e64eaeffb635df0648ce65ced02bdd17cc7dada8d01b45a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / pycangui-0.1.1-py3-none-any.whl

Download URL pycangui-0.1.1-py3-none-any.whl
Size 764.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aee8053ec83f5e1c424c54926f1dadba47cf6e58a1c19fa8d079d3a54d5c3bbd
BLAKE2b-256 checksum
How to use checksums
00c2cd345e7acea26c1c4c4b753d0b31f4ab26f5ff6ed85bf4fce19b471c02cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.0

2 release files

0.2.0

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page