# Primary converter for clean text PDFs -> LLM-oriented markdown. # Pulls pymupdf + tabulate transitively; no separate pin needed. # NOTE: pinned to the lightweight 0.3.x line on purpose. The 1.27.x releases # bundle an ML layout/OCR pipeline (onnxruntime + Tesseract) that fails on plain # text PDFs without a tessdata install and pulls heavy deps we don't want here. pymupdf4llm==0.3.4 # Validates topic datasets (md//.json) against their JSON Schemas. # Used by validate.py; lightweight, pure-Python. jsonschema>=4.0 # Fallbacks (install only if needed, see README): # markitdown # DOCX/PPTX/XLSX/HTML -> md # marker-pdf # heavier, ML/GPU, OCRs scanned PDFs # docling # heavier, ML/GPU, messy layouts/tables # Dev/test tooling (not needed at runtime; web.py is stdlib-only). pytest>=8.0