Make xhtml2pdf and python-bidi optional dependencies for PDF support

python-bidi >= 0.5.0 requires Rust/maturin to build from source, which
fails on platforms like Termux (Android) that lack a Rust toolchain.

Since PDF report generation is an optional feature (--pdf flag), move
xhtml2pdf (which depends on python-bidi, arabic-reshaper, reportlab)
to an optional extras group. Users can install PDF support with:
  pip install maigret[pdf]

Also add graceful error handling in save_pdf_report() when xhtml2pdf
is not installed, with a clear message about how to install it.

Agent-Logs-Url: https://github.com/soxoj/maigret/sessions/ab19aa96-7175-47bd-af88-34b3106269e9

Co-authored-by: soxoj <31013580+soxoj@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-04-07 23:16:36 +00:00
committed by GitHub
parent d20aad7dc2
commit 4da640609c
5 changed files with 65 additions and 54 deletions
+3
View File
@@ -56,6 +56,9 @@ If you encounter frequent false positive results, we recommend installing the la
# install from pypi
pip3 install maigret
# install with PDF report support
pip3 install maigret[pdf]
# usage
maigret username