{"adoption": {"forks": 154, "observed_at": "2026-08-28T04:05:09.091152+00:00", "stars": 1595}, "canonical_url": "https://ross.abutalabs.com/products/extractthinker", "card": {"archived": false, "artifact_type": "library", "description": "ExtractThinker is a Document Intelligence library for LLMs, offering ORM-style interaction for flexible and powerful document workflows.", "domain": ["artificial-intelligence", "large-language-models", "pdf", "data-science", "developer-tools"], "enriched": true, "function": ["ocr", "nlp", "llm-inference", "rag", "pdf", "parser", "machine-learning", "data-science"], "health_score": 56, "homepage": "https://enoch3712.github.io/ExtractThinker", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["enoch3712/ExtractThinker"], "name": "enoch3712/ExtractThinker", "platform": ["python", "cross-platform"], "pushed_at": "2025-08-27T23:06:09+00:00", "repo": "enoch3712/ExtractThinker", "stars": 1595, "tags": ["document-intelligence", "document-processing", "pydantic-contracts", "structured-extraction", "langchain-inspired", "document-classification", "invoice-parsing", "natural-language-processing"], "topics": ["ai", "llm", "nlp", "ocr", "openai", "python", "document-image-analysis", "document-intelligence", "document-parsing", "document-processing", "langchain", "machine-learning", "pdf", "pdf-to-text"], "urls": [], "use_cases": ["extract structured fields from invoices and receipts with LLMs", "convert pdf documents to structured  using pydantic contracts", "classify documents or document sections automatically", "process large multi-page pdfs page by page with splitting strategies", "run ocr on scanned documents and feed results to an llm", "build document processing pipelines with multiple cloud ocr providers", "extract data from spreadsheets and images into typed python objects"], "what_it_is": "ExtractThinker is a Python document intelligence library that uses LLMs to extract and classify structured data from documents like PDFs, images, and spreadsheets. It provides ORM-style interaction with Pydantic contracts and pluggable document loaders (Tesseract OCR, Azure Form Recognizer, AWS Textract, Google Document AI).", "when_to_avoid": ["you need simple deterministic pdf text extraction without LLMs", "you want a ready-made GUI application rather than a Python library", "your documents contain highly sensitive data you cannot send to external LLM providers", "you need a fully managed document intelligence service with SLAs"], "when_to_choose": ["you need LLM-powered structured extraction from documents with typed contracts", "you want to swap between OCR providers (Azure, AWS Textract, Google Document AI, Tesseract) behind one interface", "you prefer an ORM-like API for document workflows with async support", "you need document classification and splitting strategies for large files"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/extractthinker", "repo": "enoch3712/ExtractThinker", "role": "main", "score": 45}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.091152+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:54:06.585776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "283af60d69c7b25e272bc5f6487beb4abffbb6ba8f8be997e21899f89fbebe3d", "fetched_at": "2026-08-28T04:05:09.091152+00:00", "kind": "readme", "missing": false, "url": "https://github.com/enoch3712/ExtractThinker"}, {"content_hash": "c88905d4e26653a21fd8a7631458b7ecc9eb798af89126239b648ea0596b6c34", "fetched_at": "2026-08-29T11:24:50.933344+00:00", "kind": "homepage", "missing": false, "url": "https://enoch3712.github.io/ExtractThinker"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.091152+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:54:06.585776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "283af60d69c7b25e272bc5f6487beb4abffbb6ba8f8be997e21899f89fbebe3d", "fetched_at": "2026-08-28T04:05:09.091152+00:00", "kind": "readme", "missing": false, "url": "https://github.com/enoch3712/ExtractThinker"}, {"content_hash": "c88905d4e26653a21fd8a7631458b7ecc9eb798af89126239b648ea0596b6c34", "fetched_at": "2026-08-29T11:24:50.933344+00:00", "kind": "homepage", "missing": false, "url": "https://enoch3712.github.io/ExtractThinker"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:54:06.585776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "283af60d69c7b25e272bc5f6487beb4abffbb6ba8f8be997e21899f89fbebe3d", "fetched_at": "2026-08-28T04:05:09.091152+00:00", "kind": "readme", "missing": false, "url": "https://github.com/enoch3712/ExtractThinker"}, {"content_hash": "c88905d4e26653a21fd8a7631458b7ecc9eb798af89126239b648ea0596b6c34", "fetched_at": "2026-08-29T11:24:50.933344+00:00", "kind": "homepage", "missing": false, "url": "https://enoch3712.github.io/ExtractThinker"}], "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:05:09.091152+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.091152+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.091152+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:54:06.585776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "283af60d69c7b25e272bc5f6487beb4abffbb6ba8f8be997e21899f89fbebe3d", "fetched_at": "2026-08-28T04:05:09.091152+00:00", "kind": "readme", "missing": false, "url": "https://github.com/enoch3712/ExtractThinker"}, {"content_hash": "c88905d4e26653a21fd8a7631458b7ecc9eb798af89126239b648ea0596b6c34", "fetched_at": "2026-08-29T11:24:50.933344+00:00", "kind": "homepage", "missing": false, "url": "https://enoch3712.github.io/ExtractThinker"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.091152+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.091152+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:54:06.585776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "283af60d69c7b25e272bc5f6487beb4abffbb6ba8f8be997e21899f89fbebe3d", "fetched_at": "2026-08-28T04:05:09.091152+00:00", "kind": "readme", "missing": false, "url": "https://github.com/enoch3712/ExtractThinker"}, {"content_hash": "c88905d4e26653a21fd8a7631458b7ecc9eb798af89126239b648ea0596b6c34", "fetched_at": "2026-08-29T11:24:50.933344+00:00", "kind": "homepage", "missing": false, "url": "https://enoch3712.github.io/ExtractThinker"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.091152+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.091152+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.091152+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:54:06.585776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "283af60d69c7b25e272bc5f6487beb4abffbb6ba8f8be997e21899f89fbebe3d", "fetched_at": "2026-08-28T04:05:09.091152+00:00", "kind": "readme", "missing": false, "url": "https://github.com/enoch3712/ExtractThinker"}, {"content_hash": "c88905d4e26653a21fd8a7631458b7ecc9eb798af89126239b648ea0596b6c34", "fetched_at": "2026-08-29T11:24:50.933344+00:00", "kind": "homepage", "missing": false, "url": "https://enoch3712.github.io/ExtractThinker"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.091152+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.091152+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:54:06.585776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "283af60d69c7b25e272bc5f6487beb4abffbb6ba8f8be997e21899f89fbebe3d", "fetched_at": "2026-08-28T04:05:09.091152+00:00", "kind": "readme", "missing": false, "url": "https://github.com/enoch3712/ExtractThinker"}, {"content_hash": "c88905d4e26653a21fd8a7631458b7ecc9eb798af89126239b648ea0596b6c34", "fetched_at": "2026-08-29T11:24:50.933344+00:00", "kind": "homepage", "missing": false, "url": "https://enoch3712.github.io/ExtractThinker"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:54:06.585776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "283af60d69c7b25e272bc5f6487beb4abffbb6ba8f8be997e21899f89fbebe3d", "fetched_at": "2026-08-28T04:05:09.091152+00:00", "kind": "readme", "missing": false, "url": "https://github.com/enoch3712/ExtractThinker"}, {"content_hash": "c88905d4e26653a21fd8a7631458b7ecc9eb798af89126239b648ea0596b6c34", "fetched_at": "2026-08-29T11:24:50.933344+00:00", "kind": "homepage", "missing": false, "url": "https://enoch3712.github.io/ExtractThinker"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:54:06.585776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "283af60d69c7b25e272bc5f6487beb4abffbb6ba8f8be997e21899f89fbebe3d", "fetched_at": "2026-08-28T04:05:09.091152+00:00", "kind": "readme", "missing": false, "url": "https://github.com/enoch3712/ExtractThinker"}, {"content_hash": "c88905d4e26653a21fd8a7631458b7ecc9eb798af89126239b648ea0596b6c34", "fetched_at": "2026-08-29T11:24:50.933344+00:00", "kind": "homepage", "missing": false, "url": "https://enoch3712.github.io/ExtractThinker"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:54:06.585776+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "283af60d69c7b25e272bc5f6487beb4abffbb6ba8f8be997e21899f89fbebe3d", "fetched_at": "2026-08-28T04:05:09.091152+00:00", "kind": "readme", "missing": false, "url": "https://github.com/enoch3712/ExtractThinker"}, {"content_hash": "c88905d4e26653a21fd8a7631458b7ecc9eb798af89126239b648ea0596b6c34", "fetched_at": "2026-08-29T11:24:50.933344+00:00", "kind": "homepage", "missing": false, "url": "https://enoch3712.github.io/ExtractThinker"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 39, "longevity": 67, "rhythm": 40}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 944, "days_push": 371, "days_rel": 450, "gap_med": 5, "n_releases_24m": 34}, "score": 45, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}