python-docx>=1.0.0,<2.0.0
pymupdf>=1.24.0,<2.0.0
openpyxl>=3.1.0,<4.0.0
xlsxwriter>=3.2.0,<4.0.0
# Legacy .xls read fallback (used only when LibreOffice is NOT installed).
# IMPORTANT: must stay <2.0.0 — xlrd 2.0 dropped .xls support and only reads .xlsx.
xlrd>=1.2.0,<2.0.0
# Optional external binaries (NOT pip packages) — auto-detected at runtime:
#   - LibreOffice (soffice/libreoffice): preferred .xls->.xlsx / .doc->.docx conversion (keeps tables/structure)
#   - antiword: .doc plain-text fallback on Linux/macOS
# If neither is present, legacy .xls/.doc parsing is skipped gracefully (the rest of the audit still runs).
