Metadata-Version: 2.4
Name: ulogr
Version: 0.1.0
Summary: Generate annotated HTML reports and replay views from PX4 ULog files.
Project-URL: Homepage, https://github.com/your-org/ulogr
Project-URL: Issues, https://github.com/your-org/ulogr/issues
Author: Dawalishi
License-Expression: MIT
License-File: LICENSE
Keywords: drone,flight-log,plotly,px4,uav,ulog
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.10
Requires-Dist: numpy<2.3,>=1.24
Requires-Dist: packaging<26,>=23
Requires-Dist: plotly>=5.18
Requires-Dist: pyulog>=1.2.2
Description-Content-Type: text/markdown

# 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 `.ulg` files readable by `pyulog`
- 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

```bash
pip install ulogr
```

For local development from a checkout:

```bash
pip install -e .
```

## Usage

Analyze all `.ulg` files in the current directory:

```bash
ulogr .
```

Generate a fully offline HTML file with Plotly embedded:

```bash
ulogr . --inline-plotly
```

Analyze one file:

```bash
ulogr flight.ulg -o flight_report.html --inline-plotly
```

The command writes:

- `ulog_analysis_report.html`
- `ulog_analysis_report.summary.json`

You can also use the compatibility script from a source checkout:

```bash
python analyze_ulog_report.py . --inline-plotly
```

Long-form command aliases are also installed:

```bash
ulogreport .
ulog-report-analyzer .
analyze-ulog-report .
```

## Command Options

```text
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
