Context: We are looking to upgrade from Python 3.8 to Python 3.11 as 3.11 is the new default Python version on the Raspberry Pi 5 (and Python 3.8 will be unsupported soon). However, the DroneKit library is not compatible with Python 3.11, and this decision matrix is used for the solutions to this issue.
*Note: DroneKit’s PyPI is out of date, but their GitHub repo is updated
Solution | Pros | Cons | Effort (time) |
---|---|---|---|
Do nothing - stay on Python 3.8 | 0 | ||
Import new DroneKit as a fork/clone (copy it into our project) | |||
Import new DroneKit as a submodule | |||
Create our own whl/package for new DroneKit on PyPI | |||
Use Pymavlink to create our own Mavlink message processing and handling |