Python implementation of the UAVCAN protocol stack.

Clone this repo:
  1. 9da3cf5 docs: Update CANalyst-II interface description (#179) (#180) by Cherish-Gww · 1 year, 3 months ago master
  2. bd4123e UAVCAN/CAN: Extend the PythonCAN media layer with CANalyst-II device support (#179) by Cherish-Gww · 1 year, 3 months ago
  3. 76f29d6 Remove section "legacy considerations" from the installation docs (#174) by Pavel Kirienko · 1 year, 4 months ago 1.2.7
  4. 90c6b37 application: transport_factory: update documented type of uavcan.serial.baudrate (#171) by Kalyan Sriram · 1 year, 4 months ago 1.2.6
  5. 4ec55a8 Use newer Nunavut and fix minor doc styling issues (#165) by Pavel Kirienko · 1 year, 7 months ago 1.2.5

Full-featured UAVCAN stack in Python

Build status RTFD Coverage Status Quality Gate Status Reliability Rating Lines of Code PyPI - Version Code style: black Forum

PyUAVCAN is a full-featured implementation of the UAVCAN protocol stack intended for non-embedded, user-facing applications such as GUI software, diagnostic tools, automation scripts, prototypes, and various R&D cases.

PyUAVCAN aims to support all features and transport layers of UAVCAN, be portable across all major platforms supporting Python, and be extensible to permit low-effort experimentation and testing of new protocol capabilities.

It is designed to support GNU/Linux, MS Windows, and macOS as first-class target platforms. However, the library does not rely on any platform-specific capabilities, so it should be usable with other systems as well.

UAVCAN is an open technology for real-time intravehicular distributed computing and communication based on modern networking standards (Ethernet, CAN FD, etc.). The acronym UAVCAN stands for Uncomplicated Application-level Vehicular Computing And Networking.


Ask questions:

See also: Yakut -- a CLI tool for diagnostics and management of UAVCAN networks built on top of PyUAVCAN.