# PyCyphal

**URL:** https://forum.opencyphal.org/c/app/pycyphal/9.md

[Latest](https://forum.opencyphal.org/latest.md) · [Categories](https://forum.opencyphal.org/categories.md)

---

## [About the PyCyphal category](https://forum.opencyphal.org/t/about-the-pycyphal-category/18)

<div class="topic-metadata">

**Author:** [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Replies:** 0

</div>

PyCyphal is a Python implementation for diagnostic tools and high-level software.

---

## [Help/examples of using pycyphal2 with dsdl types](https://forum.opencyphal.org/t/help-examples-of-using-pycyphal2-with-dsdl-types/2874)

<div class="topic-metadata">

**Author:** [@legokol](https://forum.opencyphal.org/u/legokol)\
**Replies:** 4\
**Last updated:** [July 24, 2026, 1:35pm UTC](https://forum.opencyphal.org/t/help-examples-of-using-pycyphal2-with-dsdl-types/2874 "2026-07-24T13:35:50Z")

</div>

I’m just getting into cyphal, which I want to use with can bus to work with some devices. So, there’s pycyphal and pycyphal2, with the latter being simpler. To get more familiar with it I tried to reimplement thermostat …

---

## [PyCyphal v2 alpha is available](https://forum.opencyphal.org/t/pycyphal-v2-alpha-is-available/2459)

<div class="topic-metadata">

**Author:** [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Replies:** 0\
**Last updated:** [April 12, 2026, 9:21am UTC](https://forum.opencyphal.org/t/pycyphal-v2-alpha-is-available/2459 "2026-04-12T09:21:20Z")

</div>

PyCyphal v2, implementing draft Cyphal v1.1, has been merged into master and is published on PyPI as pycyphal2. The new version offers a radically simpler API and it mostly just works out of the box; also, it has about f…

---

## [PyCyphal v2 is coming](https://forum.opencyphal.org/t/pycyphal-v2-is-coming/2458)

<div class="topic-metadata">

**Author:** [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Replies:** 0\
**Last updated:** [April 10, 2026, 12:09pm UTC](https://forum.opencyphal.org/t/pycyphal-v2-is-coming/2458 "2026-04-10T12:09:19Z")

</div>

Almost a year ago I announced the plan to release an updated PyCyphal v2 that will offer a radically new API and a much simpler design, building on the experience with v1. The pull request is now here: It has both UDP…

---

## [Postmortem dump analyzer tool](https://forum.opencyphal.org/t/postmortem-dump-analyzer-tool/2184)

<div class="topic-metadata">

**Author:** [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Replies:** 2\
**Last updated:** [April 4, 2025, 9:20am UTC](https://forum.opencyphal.org/t/postmortem-dump-analyzer-tool/2184 "2025-04-04T09:20:25Z")

</div>

I wrote a script that reconstructs an application-level view of network activities based on a low-level network dump file; this is a significant usability improvement on top of the old post Postmortem debugging with Yaku…

---

## [Problem implementing Pycyphal server with Serial](https://forum.opencyphal.org/t/problem-implementing-pycyphal-server-with-serial/2221)

<div class="topic-metadata">

**Author:** [@vvasilop-talos](https://forum.opencyphal.org/u/vvasilop-talos)\
**Replies:** 6\
**Last updated:** [December 18, 2024, 11:10am UTC](https://forum.opencyphal.org/t/problem-implementing-pycyphal-server-with-serial/2221 "2024-12-18T11:10:02Z")

</div>

My application is including a board that talks with a host linux computer using Cyphal Serial. Everything seems to work properly (Including publishers/subscribers/clients) but the servers do not seem to work. Right now…

---

## [Distinguishing between DroneCAN and OpenCyphal frames?](https://forum.opencyphal.org/t/distinguishing-between-dronecan-and-opencyphal-frames/2201)

<div class="topic-metadata">

**Author:** [@manforowicz](https://forum.opencyphal.org/u/manforowicz)\
**Replies:** 2\
**Last updated:** [September 19, 2024, 6:59pm UTC](https://forum.opencyphal.org/t/distinguishing-between-dronecan-and-opencyphal-frames/2201 "2024-09-19T18:59:39Z")

</div>

I’m updating a product that must support receiving both DroneCAN and OpenCyphal CAN frames. Whenever a CAN frame arrives, my code should decide whether to feed it into a DroneCAN or OpenCyphal libcanard instance. I can…

---

## [Port Configuration Error](https://forum.opencyphal.org/t/port-configuration-error/2114)

<div class="topic-metadata">

**Author:** [@akura](https://forum.opencyphal.org/u/akura)\
**Replies:** 4\
**Last updated:** [May 6, 2024, 8:32am UTC](https://forum.opencyphal.org/t/port-configuration-error/2114 "2024-05-06T08:32:09Z")

</div>

Hello, I am trying to run the demo application provided in PyCyphal specification. I have created the client application to send requests to both sirius\_cyber\_corp.PerformLinearLeastSquaresFit and uavcan.node.ExecuteCo…

---

## [Candump log replay with PyCyphal v1.9](https://forum.opencyphal.org/t/candump-log-replay-with-pycyphal-v1-9/1713)

<div class="topic-metadata">

**Author:** [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Replies:** 13\
**Last updated:** [December 28, 2023, 9:12pm UTC](https://forum.opencyphal.org/t/candump-log-replay-with-pycyphal-v1-9/1713 "2023-12-28T21:12:58Z")

</div>

Watch this: candump -l any Now we have raw CAN frames stored in the standard candump log format in candump-2022-07-15\_160731.log. The file looks like this: (1657890452.649500) slcan0 197FE625#C90EED2E661A00FB (1657890…

---

## [Pydsdl "maximum recursion depth exceeded" error](https://forum.opencyphal.org/t/pydsdl-maximum-recursion-depth-exceeded-error/1813)

<div class="topic-metadata">

**Author:** [@mehmetkaya](https://forum.opencyphal.org/u/mehmetkaya)\
**Replies:** 1\
**Last updated:** [January 10, 2023, 1:07pm UTC](https://forum.opencyphal.org/t/pydsdl-maximum-recursion-depth-exceeded-error/1813 "2023-01-10T13:07:15Z")

</div>

Hi, I have two cyphal message definitions in my cyphal\_test root namespace. In the first message, I have a single fixed size array and in the second message, I have a message1 and precisely 107 boolean fields like this: …

---

## [Loopback setup macOS for unit testing](https://forum.opencyphal.org/t/loopback-setup-macos-for-unit-testing/1772)

<div class="topic-metadata">

**Author:** [@maksim.drachov](https://forum.opencyphal.org/u/maksim.drachov)\
**Replies:** 0\
**Last updated:** [October 15, 2022, 7:53am UTC](https://forum.opencyphal.org/t/loopback-setup-macos-for-unit-testing/1772 "2022-10-15T07:53:21Z")

</div>

As discussed here in the documentation, macOS has some issues when running OpenCyphal. This is especially difficult whenever trying to run unit tests, resulting in many failed cases. To resolve this, I’ve started colle…

---

## [PyCyphal v1.10 supports automatic DSDL compilation via import hooks](https://forum.opencyphal.org/t/pycyphal-v1-10-supports-automatic-dsdl-compilation-via-import-hooks/1741)

<div class="topic-metadata">

**Author:** [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Replies:** 0\
**Last updated:** [August 21, 2022, 4:46pm UTC](https://forum.opencyphal.org/t/pycyphal-v1-10-supports-automatic-dsdl-compilation-via-import-hooks/1741 "2022-08-21T16:46:31Z")

</div>

Rejoice! Where you used to say this: import pyuavcan compiled\_dsdl\_dir = pathlib.Path(\_\_file\_\_).resolve().parent / ".demo\_dsdl\_compiled" sys.path.insert(0, str(compiled\_dsdl\_dir)) try: import sirius\_cyber\_corp i…

---

## [OSError: \[Errno 19\] No such device in demo](https://forum.opencyphal.org/t/oserror-errno-19-no-such-device-in-demo/1509)

<div class="topic-metadata">

**Author:** [@nicolasd](https://forum.opencyphal.org/u/nicolasd)\
**Replies:** 6\
**Last updated:** [July 27, 2022, 10:32am UTC](https://forum.opencyphal.org/t/oserror-errno-19-no-such-device-in-demo/1509 "2022-07-27T10:32:23Z")

</div>

Hello everyone, I am pretty new to all this and I am trying to get my hands on things by playing with the demo. Unfortunately I ran into an obstacle and I have no clue about where to begin to solve this issue. I am on…

---

## [Python API to configure the subject-IDs/service-IDs/registers](https://forum.opencyphal.org/t/python-api-to-configure-the-subject-ids-service-ids-registers/1705)

<div class="topic-metadata">

**Author:** [@pat1](https://forum.opencyphal.org/u/pat1)\
**Replies:** 4\
**Last updated:** [July 8, 2022, 1:58pm UTC](https://forum.opencyphal.org/t/python-api-to-configure-the-subject-ids-service-ids-registers/1705 "2022-07-08T13:58:12Z")

</div>

Any suggestions for the python API to use to configure the subject-IDs/service-IDs/registers of an other node? Like yakut command: y r 125 reg.rmap.service.module.TH.GetDataAndMetadata.1.0.id 150 I need to terminate t…

---

## [PyUAVCAN is now PyCyphal](https://forum.opencyphal.org/t/pyuavcan-is-now-pycyphal/1639)

<div class="topic-metadata">

**Author:** [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Replies:** 0\
**Last updated:** [April 11, 2022, 10:59pm UTC](https://forum.opencyphal.org/t/pyuavcan-is-now-pycyphal/1639 "2022-04-11T22:59:59Z")

</div>

PyUAVCAN is now called PyCyphal and the docs moved to https://pycyphal.readthedocs.io/. The API is the same aside from the renaming, so migration amounts to a simple renaming that can be done automatically.

---

## [Creating a script to subscribe to multiple nodes with the same message id](https://forum.opencyphal.org/t/creating-a-script-to-subscribe-to-multiple-nodes-with-the-same-message-id/1609)

<div class="topic-metadata">

**Author:** [@rebeccaRossRobotics](https://forum.opencyphal.org/u/rebeccaRossRobotics)\
**Replies:** 4\
**Last updated:** [March 10, 2022, 3:28pm UTC](https://forum.opencyphal.org/t/creating-a-script-to-subscribe-to-multiple-nodes-with-the-same-message-id/1609 "2022-03-10T15:28:38Z")

</div>

Hi! For context, I have multiple micro-controllers which have some ToF sensors attached and I have the ToF data publishing onto my CAN network. The micro-controllers all have the same code on them apart from giving a un…

---

## [How to run two node in different thread?](https://forum.opencyphal.org/t/how-to-run-two-node-in-different-thread/1588)

<div class="topic-metadata">

**Author:** [@geeed](https://forum.opencyphal.org/u/geeed)\
**Replies:** 1\
**Last updated:** [February 7, 2022, 1:11pm UTC](https://forum.opencyphal.org/t/how-to-run-two-node-in-different-thread/1588 "2022-02-07T13:11:11Z")

</div>

I try several ways but error arise, such as: RuntimeError: Task \<Task pending name='Task-18' coro=\<Queue.get() running at /usr/lib/python3.8/asyncio/queues.py:163\> cb=\[\_release\_waiter(\<Future pendi...66ff9b610\>()\]\>)() a…

---

## [How can I reconfig node\_ID & iface after make\_node()](https://forum.opencyphal.org/t/how-can-i-reconfig-node-id-iface-after-make-node/1549)

<div class="topic-metadata">

**Author:** [@geeed](https://forum.opencyphal.org/u/geeed)\
**Replies:** 2\
**Last updated:** [December 20, 2021, 11:43am UTC](https://forum.opencyphal.org/t/how-can-i-reconfig-node-id-iface-after-make-node/1549 "2021-12-20T11:43:59Z")

</div>

My code looks like below, it doesn’t work. os.environ\['UAVCAN\_\_NODE\_\_ID'\] = '108' self.node = pyuavcan.application.make\_node(info=self.node\_info, registry="registers.d…

---

## [Threading and nodes limitations](https://forum.opencyphal.org/t/threading-and-nodes-limitations/1382)

<div class="topic-metadata">

**Author:** [@LorenzoG](https://forum.opencyphal.org/u/LorenzoG)\
**Replies:** 2\
**Last updated:** [August 2, 2021, 10:38pm UTC](https://forum.opencyphal.org/t/threading-and-nodes-limitations/1382 "2021-08-02T22:38:04Z")

</div>

I’m using the legacy Python Library ‘uavcan’. My setup: I’m connecting two CAN-Beds to a Raspberry-Pi that talk via SLCAN. One is ‘ttyACM0’ and the other ‘ttyACM1’ I have a Battery connected to one of the CAN-Beds. I …

---

## [How to get raw data from transport?](https://forum.opencyphal.org/t/how-to-get-raw-data-from-transport/1386)

<div class="topic-metadata">

**Author:** [@Diggy](https://forum.opencyphal.org/u/Diggy)\
**Replies:** 3\
**Last updated:** [August 2, 2021, 6:30pm UTC](https://forum.opencyphal.org/t/how-to-get-raw-data-from-transport/1386 "2021-08-02T18:30:00Z")

</div>

Hi there! How can I get raw (or almost raw) data from transport? I’ve added seeedstudio support but I’m not ready yet to make PR because I want to test my changes. I do not need nodes. DSDL or something like that. It …

---

## [How to use seeedstudio from pythoncan?](https://forum.opencyphal.org/t/how-to-use-seeedstudio-from-pythoncan/1385)

<div class="topic-metadata">

**Author:** [@Diggy](https://forum.opencyphal.org/u/Diggy)\
**Replies:** 5\
**Last updated:** [August 2, 2021, 10:14am UTC](https://forum.opencyphal.org/t/how-to-use-seeedstudio-from-pythoncan/1385 "2021-08-02T10:14:19Z")

</div>

Hi there! Seeedstudio interface was added to pythoncan: https://python-can.readthedocs.io/en/3.3.2/interfaces/seeedstudio.html What’s the correct way to use it in pyuavcan?

---

## [Install legacy v0](https://forum.opencyphal.org/t/install-legacy-v0/1268)

<div class="topic-metadata">

**Author:** [@deekay](https://forum.opencyphal.org/u/deekay)\
**Replies:** 3\
**Last updated:** [May 24, 2021, 5:36pm UTC](https://forum.opencyphal.org/t/install-legacy-v0/1268 "2021-05-24T17:36:46Z")

</div>

Hello! I just want to make sure I understand correctly… If I want to install legacy pyuavcan I use pip install uavcan Otherwise I use pip install pyuavcan for v1 ? BR

---

## [Error in Pyuavcan Demo](https://forum.opencyphal.org/t/error-in-pyuavcan-demo/1185)

<div class="topic-metadata">

**Author:** [@Alanc](https://forum.opencyphal.org/u/Alanc)\
**Replies:** 6\
**Last updated:** [April 7, 2021, 3:58pm UTC](https://forum.opencyphal.org/t/error-in-pyuavcan-demo/1185 "2021-04-07T15:58:07Z")

</div>

Hey guys, I am new to all this and I am trying my best to learn by going through tutorials but I ran into an error when following along with the Pyuavcan Demo. I am using windows PowerShell, and python 3.9 and this error…

---

## [PyUAVCAN v1.2 is available](https://forum.opencyphal.org/t/pyuavcan-v1-2-is-available/1156)

<div class="topic-metadata">

**Author:** [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Replies:** 0\
**Last updated:** [March 17, 2021, 7:39am UTC](https://forum.opencyphal.org/t/pyuavcan-v1-2-is-available/1156 "2021-03-17T07:39:04Z")

</div>

News: Python-CAN media driver for UAVCAN/CAN. The corresponding installation extra is transport\_can\_pythoncan. Thanks, @polaris! Packet capture and tracing is implemented for all transports (spoofing is implemented…

---

## [How do I change my Node ID in PyUAVCAN?](https://forum.opencyphal.org/t/how-do-i-change-my-node-id-in-pyuavcan/1150)

<div class="topic-metadata">

**Author:** [@Mechatronikus](https://forum.opencyphal.org/u/Mechatronikus)\
**Replies:** 4\
**Last updated:** [March 10, 2021, 7:29am UTC](https://forum.opencyphal.org/t/how-do-i-change-my-node-id-in-pyuavcan/1150 "2021-03-10T07:29:21Z")

</div>

Hi I am using the pyuavcan demo application as a starting point for my own demo application to get familiar with how uavcan works. Currently I am trying to implement the Register-API, specifically the uavcan.node.id re…

---

## [Is there have a pyuavcan firmware update example?](https://forum.opencyphal.org/t/is-there-have-a-pyuavcan-firmware-update-example/1147)

<div class="topic-metadata">

**Author:** [@Cherish-forever](https://forum.opencyphal.org/u/Cherish-forever)\
**Replies:** 8\
**Last updated:** [March 8, 2021, 1:05pm UTC](https://forum.opencyphal.org/t/is-there-have-a-pyuavcan-firmware-update-example/1147 "2021-03-08T13:05:31Z")

</div>

I am writting upper computer of firmware updater base on pyuavcan protocol by libcanard v1.0. is there have a pyuavcan firmware update example?

---

## [Modify v0 UAVCAN GUI Tool for v1?](https://forum.opencyphal.org/t/modify-v0-uavcan-gui-tool-for-v1/1089)

<div class="topic-metadata">

**Author:** [@JacobCrabill](https://forum.opencyphal.org/u/JacobCrabill)\
**Replies:** 1\
**Last updated:** [March 2, 2021, 2:52am UTC](https://forum.opencyphal.org/t/modify-v0-uavcan-gui-tool-for-v1/1089 "2021-03-02T02:52:42Z")

</div>

I know that the new application, Yukon, has in the works for the past year and is supposed to have lots of nice new features, but having a more bare-bones solution in place (that is a step above a CLI) would be extremely…

---

## [Migrating the PyUAVCAN CLI tool into a different package](https://forum.opencyphal.org/t/migrating-the-pyuavcan-cli-tool-into-a-different-package/1039)

<div class="topic-metadata">

**Author:** [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Replies:** 6\
**Last updated:** [January 30, 2021, 7:20pm UTC](https://forum.opencyphal.org/t/migrating-the-pyuavcan-cli-tool-into-a-different-package/1039 "2021-01-30T19:20:41Z")

</div>

I am planning to migrate the CLI tool from PyUAVCAN into a separate package because it complicates maintenance and violates the sensible design principle “do one thing but do it well”. Doing so is easy because the CLI …

---

## [PyUAVCAN is stable](https://forum.opencyphal.org/t/pyuavcan-is-stable/1050)

<div class="topic-metadata">

**Author:** [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Replies:** 0\
**Last updated:** [December 31, 2020, 4:09pm UTC](https://forum.opencyphal.org/t/pyuavcan-is-stable/1050 "2020-12-31T16:09:24Z")

</div>

I just pushed a commit bumping the version number to v1.1.0. This is the first stable release of PyUAVCAN (v1.0 was never published due to legacy reasons), and the second implementation of UAVCAN v1.0 to reach stability …

---

## [Receiving heartbeat message with pyuavcan cli](https://forum.opencyphal.org/t/receiving-heartbeat-message-with-pyuavcan-cli/1035)

<div class="topic-metadata">

**Author:** [@generationmake](https://forum.opencyphal.org/u/generationmake)\
**Replies:** 7\
**Last updated:** [December 20, 2020, 4:26pm UTC](https://forum.opencyphal.org/t/receiving-heartbeat-message-with-pyuavcan-cli/1035 "2020-12-20T16:26:37Z")

</div>

Hi. I am testing with pyuavcan on a raspberry pi and 107-Arduino-UAVCAN on an Arduino MKR. They are connected via CAN bus using MCP2515 on both ends. I was able to set up pyuavcan and transmit messages using “pyuavcan …

[Next page](https://forum.opencyphal.org/c/app/pycyphal/9.md?page=1)
