{
  "date": "2026-10-27T21:56:46.290024+08:00",
  "python": "3.11.14",
  "versions": {
    "pdfplumber": "0.11.10",
    "pdfminer.six": "20260107",
    "markitdown": "0.1.8",
    "pymupdf4llm": "1.28.2",
    "PyMuPDF": "1.28.2",
    "pymupdf-layout": "1.28.2"
  },
  "source_files": [
    {
      "saved": "sources/markitdown-pdf-converter.py",
      "sha256": "8a48783a111f8c240ab87320921455e879a5f6753421a6cc472e6d2b89bf2c92"
    },
    {
      "saved": "sources/pdfplumber-table.py",
      "sha256": "d3557440585e7147b5f37cead8b55d960f4d864f61bc9bf203903000d87d0eff"
    },
    {
      "saved": "sources/lab-score.py",
      "sha256": "fc860b72b6b0893f2c592b39cd07ecbb79c811a22e7c3a11effc9985d7414741"
    },
    {
      "saved": "sources/lab-run.py",
      "sha256": "380474ef818f32faf28ad162c5376c655d740c669d9b14bd851ffb05109b9bb5"
    }
  ],
  "markitdown_branches": [
    {
      "sample": "equation",
      "page_form_branch": [
        false
      ],
      "document_pdfminer_fallback": true
    },
    {
      "sample": "mixed",
      "page_form_branch": [
        false,
        true,
        false
      ],
      "document_pdfminer_fallback": false
    },
    {
      "sample": "prose-single",
      "page_form_branch": [
        false
      ],
      "document_pdfminer_fallback": true
    },
    {
      "sample": "rotated-header",
      "page_form_branch": [
        true
      ],
      "document_pdfminer_fallback": false
    },
    {
      "sample": "scan-image",
      "page_form_branch": [
        false
      ],
      "document_pdfminer_fallback": true
    },
    {
      "sample": "table-merged-header",
      "page_form_branch": [
        true
      ],
      "document_pdfminer_fallback": false
    },
    {
      "sample": "table-simple",
      "page_form_branch": [
        true
      ],
      "document_pdfminer_fallback": false
    },
    {
      "sample": "two-column",
      "page_form_branch": [
        false
      ],
      "document_pdfminer_fallback": true
    }
  ],
  "snippet_checks": [
    {
      "tool": "pdfplumber",
      "input": "sample.pdf",
      "result": "PASS",
      "output": "examples/pdfplumber-sample-output.md",
      "execution": "fresh interpreter, standalone example file",
      "command": [
        "/Users/zhiyang/Developer/highquailty-bloger/tools/lab-venv/bin/python",
        "/Users/zhiyang/Developer/highquailty-bloger/runs/2026-10-27-markovo-python-pdf-parser/lab/examples/extract-text-and-cells.py"
      ],
      "elapsed_s": 0.0988,
      "output_sha256": "fa50aa7e63ee00be977146ca338d8810bd46d2697285796ea219a92a51d7ac15"
    },
    {
      "tool": "markitdown",
      "input": "sample.pdf",
      "result": "PASS",
      "output": "examples/markitdown-sample-output.md",
      "execution": "fresh interpreter, standalone example file",
      "command": [
        "/Users/zhiyang/Developer/highquailty-bloger/tools/lab-venv/bin/python",
        "/Users/zhiyang/Developer/highquailty-bloger/runs/2026-10-27-markovo-python-pdf-parser/lab/examples/convert-with-markitdown.py"
      ],
      "elapsed_s": 0.4212,
      "output_sha256": "ad351319c8fe6e6fb95b90b0c23508e97ee6c77cefc80faaeefacd8879a8acf3"
    },
    {
      "tool": "pymupdf4llm",
      "input": "sample.pdf",
      "result": "PASS",
      "output": "examples/pymupdf4llm-sample-output.md",
      "execution": "fresh interpreter, standalone example file",
      "command": [
        "/Users/zhiyang/Developer/highquailty-bloger/tools/lab-venv/bin/python",
        "/Users/zhiyang/Developer/highquailty-bloger/runs/2026-10-27-markovo-python-pdf-parser/lab/examples/convert-with-pymupdf4llm.py"
      ],
      "elapsed_s": 0.7346,
      "output_sha256": "e2ceadfd1799f11467e21305ee405921ca44a2b42f9e59e9da361da3ca69c919"
    },
    {
      "tool": "markovo",
      "result": "PASS (local HTTP stub only)",
      "calls": [
        {
          "method": "POST",
          "url": "https://markovo.net/v1/convert"
        },
        {
          "method": "GET",
          "url": "https://markovo.net/v1/jobs/job_offline"
        },
        {
          "method": "GET",
          "url": "https://markovo.net/v1/jobs/job_offline/download?format=md"
        }
      ]
    }
  ]
}
