{"adoption": {"forks": 180, "observed_at": "2026-08-28T04:06:23.564740+00:00", "stars": 2184}, "canonical_url": "https://ross.abutalabs.com/products/markpdfdown", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A high-quality PDF to Markdown tool based on large language model visual recognition. 一款基于大模型视觉识别的高质量PDF转Markdown工具", "domain": ["pdf", "developer-tools", "large-language-models"], "enriched": true, "function": ["ocr", "pdf", "llm-inference", "cli"], "health_score": 75, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["MarkPDFdown/markpdfdown"], "name": "MarkPDFdown/markpdfdown", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-01-25T15:31:43+00:00", "repo": "MarkPDFdown/markpdfdown", "stars": 2184, "tags": ["pdf-to-markdown", "multimodal-llm", "document-conversion", "litellm", "vision-models", "docker"], "topics": ["llm", "markdown", "pdf", "pdf-converter", "pdf-markdown", "pdf2markdown", "pdf2md"], "urls": [], "use_cases": ["convert pdf to markdown", "extract tables and formulas from pdfs into markdown", "transcribe scanned documents with a vision llm", "convert images to markdown text", "convert only specific page ranges of a pdf", "batch convert pdfs from the command line"], "what_it_is": "MarkPDFDown is a Python CLI tool that converts PDF documents and images into clean Markdown using multimodal large language models via LiteLLM. It preserves formatting such as headings, tables, formulas, and diagrams, and supports OpenAI and OpenRouter providers.", "when_to_avoid": ["you need fully offline conversion without sending documents to an LLM API", "you want a free tool with no per-page API costs", "you only need simple text extraction that a lightweight parser could handle"], "when_to_choose": ["you need high-fidelity PDF-to-Markdown conversion of complex layouts, tables, and formulas", "you already have an OpenAI or OpenRouter API key and want LLM-based extraction", "you want a scriptable CLI or pipe-based conversion workflow"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/markpdfdown", "repo": "MarkPDFdown/markpdfdown", "role": "main", "score": 60}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.564740+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:48:12.474612+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbf98ac130af0728f05dc8f9ef54c7889492ae79cf5193cb9ca1d1750b5f7394", "fetched_at": "2026-08-28T04:06:23.564740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MarkPDFdown/markpdfdown"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.564740+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:48:12.474612+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbf98ac130af0728f05dc8f9ef54c7889492ae79cf5193cb9ca1d1750b5f7394", "fetched_at": "2026-08-28T04:06:23.564740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MarkPDFdown/markpdfdown"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:48:12.474612+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbf98ac130af0728f05dc8f9ef54c7889492ae79cf5193cb9ca1d1750b5f7394", "fetched_at": "2026-08-28T04:06:23.564740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MarkPDFdown/markpdfdown"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.564740+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.564740+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.564740+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:48:12.474612+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbf98ac130af0728f05dc8f9ef54c7889492ae79cf5193cb9ca1d1750b5f7394", "fetched_at": "2026-08-28T04:06:23.564740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MarkPDFdown/markpdfdown"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.564740+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.564740+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:48:12.474612+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbf98ac130af0728f05dc8f9ef54c7889492ae79cf5193cb9ca1d1750b5f7394", "fetched_at": "2026-08-28T04:06:23.564740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MarkPDFdown/markpdfdown"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.564740+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.564740+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.564740+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:48:12.474612+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbf98ac130af0728f05dc8f9ef54c7889492ae79cf5193cb9ca1d1750b5f7394", "fetched_at": "2026-08-28T04:06:23.564740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MarkPDFdown/markpdfdown"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.564740+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.564740+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:48:12.474612+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbf98ac130af0728f05dc8f9ef54c7889492ae79cf5193cb9ca1d1750b5f7394", "fetched_at": "2026-08-28T04:06:23.564740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MarkPDFdown/markpdfdown"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:48:12.474612+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbf98ac130af0728f05dc8f9ef54c7889492ae79cf5193cb9ca1d1750b5f7394", "fetched_at": "2026-08-28T04:06:23.564740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MarkPDFdown/markpdfdown"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:48:12.474612+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbf98ac130af0728f05dc8f9ef54c7889492ae79cf5193cb9ca1d1750b5f7394", "fetched_at": "2026-08-28T04:06:23.564740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MarkPDFdown/markpdfdown"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:48:12.474612+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbf98ac130af0728f05dc8f9ef54c7889492ae79cf5193cb9ca1d1750b5f7394", "fetched_at": "2026-08-28T04:06:23.564740+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MarkPDFdown/markpdfdown"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 64, "longevity": 38, "rhythm": 67}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 537, "days_push": 220, "days_rel": 220, "gap_med": 2.0, "n_releases_24m": 13}, "score": 60, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}