pyulog
Python log parser for ULog
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, installs with minimal friction, and fills a specific niche for PX4/drone users who need to parse and convert ULog files. The permissive BSD license poses no restrictions. Install it if you work with PX4 logs or need ULog parsing; skip it otherwise.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- For KML conversion, simplekml must be installed separately.
- For ROS2 bag conversion, a ROS2 environment with px4_msgs is required.
- Low install friction with a single runtime dependency (numpy).
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is a permissive license allowing commercial and private use with minimal restrictions, requiring only preservation of copyright and license notices.
last release 2026-08-06 (8 days) · last repo commit 2026-08-06 · 169 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 195,937 downloads/mo, #9,802 on PyPI
Alternatives
Verify before relying
pip install pyulog
# Command-line usage
ulog_info sample.ulg
ulog2csv sample.ulg -o output_dir
# Python API
from pyulog import ULog
log = ULog('sample.ulg')- Whether the package supports streaming or only full-file parsing
- Performance characteristics with large ULog files
- Completeness of the Python API documentation beyond command-line tools
What it is and what it does
pyulog is a parser and toolkit for ULog, a self-describing binary logging format used by PX4 autopilot systems. It reads ULog files and exposes their contents through both command-line scripts and a Python API. The primary use is extracting flight data from drone and robotics systems for analysis, debugging, or conversion to other formats.
The package includes six command-line tools: ulog_info displays summary statistics and message counts, ulog_messages shows logged text output, ulog_params extracts configuration parameters, ulog2csv converts data to comma-separated values, ulog2kml exports GPS tracks for map visualization, and ulog2ros2bag converts to ROS2 bag format for integration with robotics workflows. It depends only on numpy and is actively maintained.
Use it for
- Extract flight telemetry and sensor data from PX4 autopilot logs for post-flight analysis
- Convert ULog files to CSV for data analysis in spreadsheets or statistical tools
- Export GPS trajectories from flight logs to KML for visualization in Google Earth
- Migrate ULog data to ROS2 bag format for use in robotics development pipelines
- Debug autopilot behavior by examining logged parameters and system messages
- Store and query flight logs in a database using the DatabaseULog class
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, installs with minimal friction, and fills a specific niche for PX4/drone users who need to parse and convert ULog files. The permissive BSD license poses no restrictions. Install it if you work with PX4 logs or need ULog parsing; skip it otherwise.
Install
pyulog on PyPI
Before you install
Low install friction with a single runtime dependency (numpy). Active maintenance with a recent release 8 days ago and steady repository activity.
For KML conversion, simplekml must be installed separately. For ROS2 bag conversion, a ROS2 environment with px4_msgs is required.
License in practice
BSD-3-Clause is a permissive license allowing commercial and private use with minimal restrictions, requiring only preservation of copyright and license notices.
Quickstart
pip install pyulog
# Command-line usage
ulog_info sample.ulg
ulog2csv sample.ulg -o output_dir
# Python API
from pyulog import ULog
log = ULog('sample.ulg')
Verify before relying
- Whether the package supports streaming or only full-file parsing
- Performance characteristics with large ULog files
- Completeness of the Python API documentation beyond command-line tools
Package facts
| License | BSD-3-Clause permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Actively maintained 8 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 195,937 / month, #9,802 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: OtherProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Scientific/Engineering :: Artificial IntelligenceTopic :: Scientific/Engineering :: MathematicsTopic :: Scientific/Engineering :: PhysicsTopic :: Software Development |
Evidence: pyulog-1.2.4-py3-none-any.whl
Tags
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 › “ulog file parser”
- pyulogParses ULog files (a self-describing logging format) and provides…
- INIToolsINITools parses and manipulates INI-style configuration files through…
- iniparseiniparse is an INI file parser that preserves formatting (comments,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
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.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also rosbags · mcap-ros2-support · kml2geojson · xlsx2csv · pykml · simplekml · fastkml · detect-delimiter · pytimeparse · pyunpack