Registry / data / pyulog

pyulog

JSON →
library1.2.3pypypi✓ verified 87d ago

Python ULog parser and analysis library for PX4/ArduPilot logs. Current version 1.2.2, maintained by the PX4 project. Releases are irregular, roughly a few times a year.

pip install pyulog
INSTALL
IMPORT
SIG · PYULOG
P
pyulog
datapythonv1.2.3
Install
3.7s avg
Import
263ms
Disk
89MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.2.3 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.252s · 89.8MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 3.7s · import 0.274s · 86MB
89MB installed
● package 89MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ULog
from pyulog import ULog
from pyulog.ulog import ULog
ULog is re-exported in pyulog.__init__.py. Direct submodule import breaks in v1.0+.
messages
from pyulog import ULog
from pyulog.messages import messages
messages is accessed via ULog instance, not a separate import.

Basic usage: read a .ulg file and iterate over topics.

from pyulog import ULog # Parse a ULog file log = ULog('sample.ulg') # Access data for topic, msg_list in log.data_list: print(f"Topic: {topic.name}, {len(msg_list)} messages")
ulog2csv --version
Debug
Known issues
gotchaThe ULog constructor does not read the entire file until you access data. Large files may cause high memory usage.
fix
Use the iterative API (e.g., `log.chunks` or `log.message_iterator`) to process data in chunks.
affects: all
breakingIn v1.0, the public API changed: `ULog` is no longer importable from `pyulog.ulog`. Use `from pyulog import ULog`.
fix
Update imports to `from pyulog import ULog`.
affects: <1.0 to >=1.0
deprecated`pyulog.messages` submodule is deprecated since v1.2.0. Use `log.data_list` to access messages.
fix
Replace `messages` imports with iteration over `ULog.data_list`.
affects: >=1.2.0, <2.0
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'pyulog.ulog'
Direct import of submodule when using pyulog >=1.0.
fix
Use `from pyulog import ULog` instead.
AttributeError: 'ULog' object has no attribute 'messages'
`messages` was a class attribute in older versions, removed in v1.2.0.
fix
Access messages via `log.data_list`; each element is a (topic, messages_list) tuple.
Upgrade
Version history
1.2.3latest on PyPI · released Jun 16, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
6 hits · last 30 days
node
6
Resources
pyulog — pip install pyulog · libregistry