{"adoption": {"forks": 804, "observed_at": "2026-08-28T04:10:28.295077+00:00", "stars": 9090}, "canonical_url": "https://ross.abutalabs.com/products/dotsocr", "card": {"archived": false, "artifact_type": "library", "description": "Multilingual Document Layout Parsing in a Single Vision-Language Model", "domain": ["computer-vision", "pdf", "deep-learning", "large-language-models"], "enriched": true, "function": ["ocr", "machine-learning", "pdf", "image-processing", "llm-inference"], "health_score": 64, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["studio-dots-ai/dots.ocr"], "name": "studio-dots-ai/dots.ocr", "platform": ["python", "cross-platform"], "pushed_at": "2026-03-24T14:43:26+00:00", "repo": "studio-dots-ai/dots.ocr", "stars": 9090, "tags": ["vision-language-model", "document-parsing", "document-layout-analysis", "multilingual-ocr", "svg-generation", "scene-text-detection", "natural-language-processing", "gpu", "linux"], "topics": [], "urls": [], "use_cases": ["parse documents from pdfs into structured text", "extract text from scanned documents in multiple languages", "convert charts and diagrams to svg code", "detect and read scene text in images", "parse document layout with tables and formulas", "ocr for multilingual scripts"], "what_it_is": "dots.ocr is a 1.7B-parameter vision-language model for multilingual document layout parsing, converting documents into structured output with state-of-the-art OCR performance. It also handles chart-to-SVG conversion, web screen parsing, and scene text spotting.", "when_to_avoid": ["you need a lightweight CPU-only OCR solution", "you only need simple text extraction without layout understanding", "you cannot run GPU inference for vision-language models"], "when_to_choose": ["you need a single compact model for multilingual document parsing", "you want layout-aware extraction including tables, formulas, and reading order", "you need chart-to-SVG conversion or scene text spotting alongside OCR"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dotsocr", "repo": "studio-dots-ai/dots.ocr", "role": "main", "score": 51}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:28.295077+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:23:59.906100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1bda813a5b96abd8ce0b5f6e5c329b4d75ebcd80372966c26f139a41bce1d2d5", "fetched_at": "2026-08-28T04:10:28.295077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/studio-dots-ai/dots.ocr"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:28.295077+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:23:59.906100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1bda813a5b96abd8ce0b5f6e5c329b4d75ebcd80372966c26f139a41bce1d2d5", "fetched_at": "2026-08-28T04:10:28.295077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/studio-dots-ai/dots.ocr"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:23:59.906100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1bda813a5b96abd8ce0b5f6e5c329b4d75ebcd80372966c26f139a41bce1d2d5", "fetched_at": "2026-08-28T04:10:28.295077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/studio-dots-ai/dots.ocr"}], "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:10:28.295077+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:28.295077+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:28.295077+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:23:59.906100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1bda813a5b96abd8ce0b5f6e5c329b4d75ebcd80372966c26f139a41bce1d2d5", "fetched_at": "2026-08-28T04:10:28.295077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/studio-dots-ai/dots.ocr"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:28.295077+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:28.295077+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:23:59.906100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1bda813a5b96abd8ce0b5f6e5c329b4d75ebcd80372966c26f139a41bce1d2d5", "fetched_at": "2026-08-28T04:10:28.295077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/studio-dots-ai/dots.ocr"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:28.295077+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:28.295077+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:28.295077+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:23:59.906100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1bda813a5b96abd8ce0b5f6e5c329b4d75ebcd80372966c26f139a41bce1d2d5", "fetched_at": "2026-08-28T04:10:28.295077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/studio-dots-ai/dots.ocr"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:28.295077+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:28.295077+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:23:59.906100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1bda813a5b96abd8ce0b5f6e5c329b4d75ebcd80372966c26f139a41bce1d2d5", "fetched_at": "2026-08-28T04:10:28.295077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/studio-dots-ai/dots.ocr"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:23:59.906100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1bda813a5b96abd8ce0b5f6e5c329b4d75ebcd80372966c26f139a41bce1d2d5", "fetched_at": "2026-08-28T04:10:28.295077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/studio-dots-ai/dots.ocr"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:23:59.906100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1bda813a5b96abd8ce0b5f6e5c329b4d75ebcd80372966c26f139a41bce1d2d5", "fetched_at": "2026-08-28T04:10:28.295077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/studio-dots-ai/dots.ocr"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:23:59.906100+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1bda813a5b96abd8ce0b5f6e5c329b4d75ebcd80372966c26f139a41bce1d2d5", "fetched_at": "2026-08-28T04:10:28.295077+00:00", "kind": "readme", "missing": false, "url": "https://github.com/studio-dots-ai/dots.ocr"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 73, "longevity": 28, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 399, "days_push": 162, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 51, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}