Skip to main content

codecov test PyPI version

pymavlog

A lightweight python library to parse log files from ArduPilot vehicles based on the MavLink protocol. It is built on top of pymavlink and uses NumPy under the hood to vectorize messages.

Installation

Installation with pip:

pip install pymavlog

or via Poetry

poetry add pymavlog

Development

Install the package in editable mode:

pip install -e .

Pymavlog is built using Poetry, so make sure to have it in your local development environment

pip install poetry

Lastly, install the pre-commit hooks

pip install pre-commit
pre-commit install

Testing

poetry run pytest tests --cov pymavlog

or

make tests

Usage

Mavlink log files are parsed using MavLog, which iterates through the logged messages and saves them in-memory as NumPy arrays. You can parse a file like:

from pymavlog import MavLog


filepath = "foo/bar.bin"
mavlog = MavLog("foo/bar.bin")
mavlog.parse()

and access the messages like:

imu_messages = mavlog.get("IMU")

and do some calculations, for example calculating the average value:

avg_gyr_x = imu_messages["GyrX"].mean()

alternatively, you can access a specific attribute like:

gyr_y = mavlog["IMU"]["Gyrx"]

Pymavlog also supports telemetry log files. You can read a tlog file .tlog in a similar way as binary log files, like:

from pymavlog import MavTLog


filepath = "foo/bar.tlog"
tlog = MavTLog("foo/bar.tlog")
tlog.parse()

Metadata

Release files for pymavlog 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymavlog 0.4.2
File Size Uploaded
pymavlog-0.4.2.tar.gz 5.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pymavlog 0.4.2
File Interpreter ABI Platform
pymavlog-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 11.2 kB

Release files / pymavlog-0.4.2.tar.gz

Download URL pymavlog-0.4.2.tar.gz
Size 5.2 kB
Tags Source
SHA-256 checksum
How to use checksums
afff4e3642ab814f462cdcd05de08eb4c472c2b61d9c0dfab040b2b0141cc25a
BLAKE2b-256 checksum
How to use checksums
2a1261b15d91be42e30103623c0ec9ccb34dc9a368d0ae2afff50d50c0d0ac0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.9.6 readme-renderer/42.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.4 tqdm/4.66.1 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.8.18

Release files / pymavlog-0.4.2-py3-none-any.whl

Download URL pymavlog-0.4.2-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7311de0ec7f8cc5ac670a4e9fce8fca3a52719fe8b476282fa5f8d7f41f2c426
BLAKE2b-256 checksum
How to use checksums
13603cd6d946842d0c0da0913715bf86f3503a2011f11e8893ceda9b90fc2324
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.9.6 readme-renderer/42.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.4 tqdm/4.66.1 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.8.18

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page