ulogr
ulogr is a command-line tool that turns PX4 .ulg flight logs into a self-contained HTML report with interactive plots, sensor-quality timelines, event markers, structured JSON output, and a simple 3D flight replay.
Scope
This tool is intended for PX4 ULog files from multicopter field tests, bench tests, and post-flight review workflows where a quick visual report is useful.
It currently focuses on:
- PX4
.ulgfiles readable bypyulog - Multicopter-oriented topics such as local position, attitude, actuator outputs, battery status, estimator status, magnetometer, GPS, failsafe flags, and hover thrust estimate
- HTML reports for human review or for sharing summarized context with an LLM
It is not a flight-certification tool, a replacement for PX4 Flight Review, or a guarantee of aircraft safety.
Install
pip install ulogr
For local development from a checkout:
pip install -e .
Usage
Analyze all .ulg files in the current directory:
ulogr .
Generate a fully offline HTML file with Plotly embedded:
ulogr . --inline-plotly
Analyze one file:
ulogr flight.ulg -o flight_report.html --inline-plotly
The command writes:
ulog_analysis_report.htmlulog_analysis_report.summary.json
You can also use the compatibility script from a source checkout:
python analyze_ulog_report.py . --inline-plotly
Long-form command aliases are also installed:
ulogreport .
ulog-report-analyzer .
analyze-ulog-report .
Command Options
path Directory containing .ulg files, or a single .ulg file.
-o, --output Output HTML path. Default: ulog_analysis_report.html
--inline-plotly Embed Plotly JavaScript for offline viewing. This makes the HTML larger.
Output
The HTML report includes:
- Per-log summary cards
- Automated issue table
- Magnetometer validity table
- Sensor/data-quality timeline
- Simple 3D flight replay
- Interactive detailed plots
- Embedded JSON summary for downstream tools or LLM context
License
MIT
Release files for ulogr 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ulogr-0.1.0.tar.gz | 18.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ulogr-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.8 kB
Release files / ulogr-0.1.0.tar.gz
| Download URL | ulogr-0.1.0.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
87aa92980000a2e62a1091bded4f47478ea7873bcfff8e7329b447d07a20f55a
|
|
BLAKE2b-256 checksum How to use checksums |
015cb6f296f3bc7fb54842cb1cd00c19d0de2f1842efccf73a4cab509a3284ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / ulogr-0.1.0-py3-none-any.whl
| Download URL | ulogr-0.1.0-py3-none-any.whl |
|---|---|
| Size | 18.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
213a2b1387b3aeb20b23289b6d59fb4815e747bfa169ed9974afb4af2800b2c9
|
|
BLAKE2b-256 checksum How to use checksums |
be5bd11fa710bfe3a9b8a9a05adecd8b10b0e01d3a29281e68027ea503ebf26a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|