• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

OpenCyphal / pycyphal / 23563546523
93%

Build:
DEFAULT BRANCH: master
Ran 25 Mar 2026 09:04PM UTC
Jobs 1
Files 185
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Mar 2026 08:52PM UTC coverage: 93.394% (-0.01%) from 93.408%
23563546523

push

github

web-flow
Add option to hook into internal pycyphal errors (#377)

Currently, when pycyphal encounters an error in one of its background
asyncio tasks (e.g. a task receiving messages in the background), it
simply calls logger.exception. This is fine for debugging with a human
looking at the logs, but insufficient for production environments where
you need to react to unexpected problems — there is no way of knowing an
exception happened except by reading the logs.

This PR introduces set_internal_error_handler, which can be used to
register a global hook into pycyphal. This hook will receive all
background exceptions when they happen and can react to them as needed
(e.g. by raising a fatal error). When no hook is registered, the
behavior is unchanged — exceptions are simply logged.

---------

Co-authored-by: MAMMOTH BOT <pavels.bot@zubax.com>

1656 of 2027 branches covered (81.7%)

Branch coverage included in aggregate %.

14391 of 15155 relevant lines covered (94.96%)

0.95 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
2
96.4
0.03% /home/runner/work/pycyphal/pycyphal/pycyphal/application/heartbeat_publisher.py
3
96.32
0.05% /home/runner/work/pycyphal/pycyphal/pycyphal/application/_port_list_publisher.py
3
95.74
0.06% /home/runner/work/pycyphal/pycyphal/pycyphal/transport/can/_session/_output.py
3
95.58
0.04% /home/runner/work/pycyphal/pycyphal/pycyphal/transport/udp/_session/_output.py
4
92.66
0.04% /home/runner/work/pycyphal/pycyphal/pycyphal/transport/redundant/_session/_input.py
5
93.17
0.03% /home/runner/work/pycyphal/pycyphal/pycyphal/transport/udp/_session/_input.py
7
87.32
0.09% /home/runner/work/pycyphal/pycyphal/pycyphal/presentation/_port/_publisher.py
10
87.37
0.07% /home/runner/work/pycyphal/pycyphal/pycyphal/application/node_tracker.py
11
88.74
0.05% /home/runner/work/pycyphal/pycyphal/pycyphal/transport/can/media/candump/_candump.py
11
92.78
-0.64% /home/runner/work/pycyphal/pycyphal/pycyphal/transport/serial/_serial.py
12
91.75
0.03% /home/runner/work/pycyphal/pycyphal/pycyphal/application/plug_and_play.py
14
79.9
0.1% /home/runner/work/pycyphal/pycyphal/pycyphal/presentation/_port/_server.py
14
92.13
-0.33% /home/runner/work/pycyphal/pycyphal/pycyphal/transport/redundant/_session/_output.py
18
90.66
0.06% /home/runner/work/pycyphal/pycyphal/pycyphal/transport/can/_can.py
20
84.81
0.06% /home/runner/work/pycyphal/pycyphal/pycyphal/presentation/_port/_subscriber.py
22
80.34
0.07% /home/runner/work/pycyphal/pycyphal/pycyphal/transport/udp/_ip/_link_layer.py
25
80.82
0.16% /home/runner/work/pycyphal/pycyphal/pycyphal/presentation/_port/_client.py
25
71.1
0.27% /home/runner/work/pycyphal/pycyphal/pycyphal/transport/can/media/socketcand/_socketcand.py
44
68.77
0.15% /home/runner/work/pycyphal/pycyphal/pycyphal/transport/can/media/socketcan/_socketcan.py
62
64.16
0.21% /home/runner/work/pycyphal/pycyphal/pycyphal/transport/can/media/pythoncan/_pythoncan.py
Jobs
ID Job ID Ran Files Coverage
1 23563546523.1 25 Mar 2026 09:04PM UTC 185
93.39
GitHub Action Run
Source Files on build 23563546523
  • Tree
  • List 185
  • Changed 23
  • Source Changed 0
  • Coverage Changed 23
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 7b00386c on github
  • Prev Build on master (#21952286881)
  • Next Build on master (#23567119190)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc