$npx skillfedfor your agent

pymavlink

Python MAVLink code

Worth itPyPI Scientific/EngineeringReleased Aug 2025768.2K downloads / moLGPLv3Platform wheel

Decision gist · record as of 2026-08-14

platform wheels — pymavlink-2.4.49-cp310-cp310-macosx_10_9_universal2.whl · pymavlink-2.4.49-cp310-cp310-macosx_10_9_x86_64.whl · pymavlink-2.4.49-cp310-cp310-macosx_11_0_arm64.whl
v2.4.49 · released 2025-08-01 · 2 runtime deps: lxml, fastcrc

Yes. Pymavlink is the standard Python library for MAVLink protocol communication in the ArduPilot ecosystem. It is actively maintained, production-stable, has no known vulnerabilities, and is widely downloaded. The LGPLv3 copyleft license is standard for this domain. Medium install friction is manageable for most developers; lxml's system dependencies are well-documented and easily resolved on common platforms.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • On Linux, lxml requires libxml2-dev and libxslt-dev system libraries to be installed before pip install.
  • Medium install friction due to compiled wheels and lxml dependency requiring system libraries (libxml2-dev, libxslt-dev on Linux).
  • Actively maintained with recent commits and stable production status.

License · maintenance · safety

LGPLv3 (copyleft) — LGPLv3 copyleft license means derivative works must be released under the same license; however, code generated by the included mavgen.py tool is available under the permissive MIT License.

last release 2025-08-01 (378 days) · last repo commit 2026-08-14 · 720 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 768,236 downloads/mo, #5,115 on PyPI

Verify before relying

pip install pymavlink

import pymavlink.mavutil

mav = pymavlink.mavutil.mavlink_connection('udpin:localhost')
  • Whether fastcrc is a runtime dependency or only used optionally for performance
  • Specific Python version floor (classifiers list 3.6+ but requires_python is unspecified)
  • Whether numpy is required or optional for core functionality
  • Example connection parameters and typical usage patterns beyond basic import
Same gist for agents: .md · .json

What it is and what it does

Pymavlink is a Python library that implements the MAVLink protocol, a lightweight messaging protocol used to communicate with unmanned aerial vehicles, ground stations, and other robotic systems. It provides both a message parser and sender for MAVLink protocol packets, allowing developers to read telemetry, send commands, and interact with autopilot systems. The package includes a code generator (mavgen.py) that can produce MAVLink implementations for other programming languages, and command-line tools for analyzing flight logs recorded by UAVs.

The library depends on lxml for XML parsing (used to process MAVLink message definitions) and fastcrc for checksum computation. It is actively maintained, production-stable, and widely used in the ArduPilot ecosystem. Installation via pip handles dependency resolution, though on Linux systems you may need to install lxml's system-level build dependencies first.

Use it for

  • Build a ground control station that receives telemetry and sends commands to a drone or rover.
  • Parse and analyze flight logs from ArduPilot-based vehicles to debug flight behavior.
  • Integrate UAV communication into a Python application for autonomous mission planning.
  • Generate MAVLink protocol implementations for embedded systems or other programming languages.
  • Monitor real-time vehicle state over a network connection.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

Pymavlink is the standard Python library for MAVLink protocol communication in the ArduPilot ecosystem. It is actively maintained, production-stable, has no known vulnerabilities, and is widely downloaded. The LGPLv3 copyleft license is standard for this domain. Medium install friction is manageable for most developers; lxml's system dependencies are well-documented and easily resolved on common platforms.

Install

pymavlink on PyPI

Before you install

Medium install friction due to compiled wheels and lxml dependency requiring system libraries (libxml2-dev, libxslt-dev on Linux). Actively maintained with recent commits and stable production status.

On Linux, lxml requires libxml2-dev and libxslt-dev system libraries to be installed before pip install.

License in practice

LGPLv3 copyleft license means derivative works must be released under the same license; however, code generated by the included mavgen.py tool is available under the permissive MIT License.

Quickstart

pip install pymavlink

import pymavlink.mavutil

mav = pymavlink.mavutil.mavlink_connection('udpin:localhost')

Verify before relying

  • Whether fastcrc is a runtime dependency or only used optionally for performance
  • Specific Python version floor (classifiers list 3.6+ but requires_python is unspecified)
  • Whether numpy is required or optional for core functionality
  • Example connection parameters and typical usage patterns beyond basic import

Package facts

LicenseLGPLv3 copyleft
Python supportNot specified
Install frictionMedium. Platform-specific wheel
Runtime dependencies
2 packages
lxmlfastcrc
MaintenanceActively maintained 378 days since the last release
Last repo commit
First released
Downloads768,236 / month, #5,115 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: Science/ResearchLicense :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)Operating System :: OS IndependentProgramming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/Engineering

Evidence: pymavlink-2.4.49-cp310-cp310-macosx_10_9_universal2.whl; pymavlink-2.4.49-cp310-cp310-macosx_10_9_x86_64.whl; pymavlink-2.4.49-cp310-cp310-macosx_11_0_arm64.whl; pymavlink-2.4.49-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl; pymavlink-2.4.49-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; pymavlink-2.4.49-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; pymavlink-2.4.49-cp310-cp310-musllinux_1_2_aarch64.whl; pymavlink-2.4.49-cp310-cp310-musllinux_1_2_i686.whl; pymavlink-2.4.49-cp310-cp310-musllinux_1_2_x86_64.whl; pymavlink-2.4.49-cp310-cp310-win32.whl; pymavlink-2.4.49-cp310-cp310-win_amd64.whl; pymavlink-2.4.49-cp310-cp310-win_arm64.whl; pymavlink-2.4.49-cp311-cp311-macosx_10_9_universal2.whl; pymavlink-2.4.49-cp311-cp311-macosx_10_9_x86_64.whl; pymavlink-2.4.49-cp311-cp311-macosx_11_0_arm64.whl; pymavlink-2.4.49-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl; pymavlink-2.4.49-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; pymavlink-2.4.49-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; pymavlink-2.4.49-cp311-cp311-musllinux_1_2_aarch64.whl; pymavlink-2.4.49-cp311-cp311-musllinux_1_2_i686.whl

Tags

Capabilities
mavlink protocol pythonuav drone communicationflight log analysisardupilot python librarymavlink message parsingunmanned vehicle controlmavlink code generator
Topics
roboticsuav-droneprotocol-implementation

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “mavlink protocol python”

  • pymavlinkPymavlink is a Python implementation of the MAVLink protocol for…
  • langchain-protocolProvides Python type definitions (TypedDict, Literal) for the…
  • livekit-protocolProvides Python protocol stubs and type definitions for LiveKit's…

Give your agent the search over MCP, or paste the wish link into any chat.

More Scientific/Engineering packages

numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
pandas Worth it
PyPI · Scientific/Engineering · released Jul 2026

pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.

BSD-3-Clausecompiled wheel · 3.11+
769.1Mdownloads / mo
scipy Worth it
PyPI · Libraries · released Jun 2026

scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.

BSD-3-Clausecompiled wheel · 3.12+
449.0Mdownloads / mo
scikit-learn Worth it
PyPI · Software Development · released Jun 2026

scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.

Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.

BSD-3-Clausecompiled wheel · 3.11+
235.5Mdownloads / mo
dill Worth it
PyPI · Software Development · released Jan 2026

dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.

BSD-3-Clausepure Python · 3.9+
208.1Mdownloads / mo
multiprocess Worth it
PyPI · Software Development · released Jan 2026

Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.

Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.

BSD-3-Clausepure Python · 3.9+
202.7Mdownloads / mo

See also pyClamd · pyemvue · maec · udsoncan · renault-api · clamd · dronecan · fprime-visual