Skip to main content

A lightweight python library to parse MavLink log files

Project description

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()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymavlog-0.4.2.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

pymavlog-0.4.2-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file pymavlog-0.4.2.tar.gz.

File metadata

  • Download URL: pymavlog-0.4.2.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for pymavlog-0.4.2.tar.gz
Algorithm Hash digest
SHA256 afff4e3642ab814f462cdcd05de08eb4c472c2b61d9c0dfab040b2b0141cc25a
MD5 388382cc6a627526a1e0af7f2ef299c3
BLAKE2b-256 2a1261b15d91be42e30103623c0ec9ccb34dc9a368d0ae2afff50d50c0d0ac0e

See more details on using hashes here.

File details

Details for the file pymavlog-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: pymavlog-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for pymavlog-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7311de0ec7f8cc5ac670a4e9fce8fca3a52719fe8b476282fa5f8d7f41f2c426
MD5 0db6df35384d3e37bc170c3a623864fd
BLAKE2b-256 13603cd6d946842d0c0da0913715bf86f3503a2011f11e8893ceda9b90fc2324

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page