skillfed

dronecan

Python implementation of the DroneCAN protocol stack

dronecan v1.0.27 107.8K downloads/30d#12,593 on PyPI67
Permissive license Active released

What it is and what it does

DroneCAN is a Python implementation of the DroneCAN v1 protocol stack, a lightweight communication protocol designed for aerospace and robotic systems that communicate over CAN bus. It is a fork of the earlier UAVCAN v0.9 stack and provides the core protocol machinery needed to send and receive structured messages on a CAN network. The package has no runtime dependencies when used with Python 3.7 or newer, making it straightforward to integrate into embedded or ground-station applications.

The library is actively maintained, with its last commit on 2026-07-31 and a mature development status. It is designed to work with modern Python versions and is distributed under the MIT license, making it suitable for both open-source and commercial projects. Developers working with CAN-based drone systems, autonomous vehicles, or other aerospace/robotic platforms would use this to handle the low-level protocol details of DroneCAN communication.

Use it for:

  • Implementing ground-control software for DroneCAN-equipped unmanned aerial vehicles.
  • Building telemetry and command interfaces for CAN-based robotic systems.
  • Developing firmware communication layers for aerospace applications using the DroneCAN protocol.
  • Testing and debugging DroneCAN message flows in simulation or hardware-in-the-loop environments.
  • Integrating DroneCAN support into existing Python-based vehicle management systems.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Implements the DroneCAN v1 protocol stack in Python for reliable CAN bus communication in aerospace and robotic applications.

Yes, if you are working with DroneCAN v1 systems. The package is actively maintained, has no runtime dependencies, carries a permissive MIT license, and is mature. Install friction is low. It is the reference implementation for DroneCAN in Python. No known vulnerabilities. Suitable for production aerospace and robotic applications.

Install

dronecan on PyPI

pip

pip install dronecan

uv

uv add dronecan

poetry

poetry add dronecan

Installing dronecan

Before you install

Low install friction with no runtime dependencies. Actively maintained with recent commits and a mature development status. Requires Python 3.7 or newer.

License in practice

Licensed under MIT (permissive), allowing free use, modification, and distribution with minimal restrictions.

Quickstart

pip install dronecan

import dronecan
# Initialize a DroneCAN interface and begin protocol communication

Requires Python 3.7 or newer; CAN bus hardware and appropriate drivers are needed for actual communication.

Verify before relying

  • Whether the package supports all DroneCAN v1 specification features or a subset of them.
  • Performance characteristics and throughput limits for typical aerospace/robotic use cases.
  • Community adoption and real-world deployment status beyond the 67 GitHub stars.

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 289 days since the last release
Last repo commit
First released
Downloads 107,821/month — #12,593 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: dronecan-1.0.27-py3-none-any.whl

Development Status :: 6 - MatureIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonTopic :: Software Development :: Libraries

Tags

CAN bus protocol implementationDroneCAN v1 pythonaerospace communication protocoldronecan stackCAN bus messagingrobotic vehicle communicationprotocol stack python
can-busaerospacerobotics

More Libraries packages