{"adoption": {"forks": 99, "observed_at": "2026-08-28T04:04:58.156025+00:00", "stars": 1524}, "canonical_url": "https://ross.abutalabs.com/products/thepipe", "card": {"archived": false, "artifact_type": "library", "description": "Get clean data from tricky documents, powered by vision-language models ⚡", "domain": ["large-language-models", "pdf", "artificial-intelligence", "developer-tools", "files"], "enriched": true, "function": ["web-scraping", "ocr", "pdf", "etl", "rag", "nlp", "machine-learning", "parser", "data-generation"], "health_score": 64, "homepage": "https://thepi.pe", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["emcf/thepipe"], "name": "emcf/thepipe", "platform": ["python", "cross-platform", "self-hosted"], "pushed_at": "2026-03-25T21:17:38+00:00", "repo": "emcf/thepipe", "stars": 1524, "tags": ["vision-language-models", "document-extraction", "multimodal", "markdown-conversion", "structured-data-extraction", "chunking", "vector-database-integration", "document-parsing", "retrieval-augmented-generation", "natural-language-processing", "data-engineering", "web-server"], "topics": ["multimodal", "pdf", "vision-transformer", "large-language-models", "web", "scrapers", "document", "openai", "python", "scraping", "vision-language-model", "structured-data", "unstructured-data"], "urls": [], "use_cases": ["extract clean markdown from complex pdfs", "parse tables and figures from word documents for llms", "scrape webpages into structured data for rag pipelines", "chunk documents for vector databases like chromadb", "convert pdfs to  or csv with vision-language models", "transcribe and extract data from audio and video files", "build an ai document etl pipeline for ingestion"], "what_it_is": "thepipe is a Python package and API that extracts clean markdown, multimodal media, and structured data from tricky documents like PDFs, Word docs, webpages, videos, and audio, using vision-language models under the hood. It integrates out-of-the-box with LLMs, vector databases, and RAG frameworks, and can be self-hosted or used via a hosted cloud API.", "when_to_avoid": ["you only need simple plain-text extraction from well-structured documents without AI overhead", "you cannot use external VLM APIs and lack GPU hardware for local models", "you need a lightweight CPU-only parser with no optional heavy dependencies"], "when_to_choose": ["you need high-quality extraction from messy or complex document layouts", "you want multimodal extraction including images, tables, video, and audio", "you need output ready for LLMs, vector databases, or RAG frameworks", "you want a self-hosted, on-prem or air-gapped document pipeline"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/thepipe", "repo": "emcf/thepipe", "role": "main", "score": 58}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.156025+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:42.401572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "285ad1e8a763470df96de5af84d8275a523e8142a68a3a4ecaf08c5109db8bc0", "fetched_at": "2026-08-28T04:04:58.156025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emcf/thepipe"}, {"content_hash": "fbbbf61cda6dee5f9c131b178bd2a2e9aa131af4c3dff2cbd45b24b00a24da18", "fetched_at": "2026-08-29T11:34:32.543238+00:00", "kind": "homepage", "missing": false, "url": "https://thepi.pe"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.156025+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:42.401572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "285ad1e8a763470df96de5af84d8275a523e8142a68a3a4ecaf08c5109db8bc0", "fetched_at": "2026-08-28T04:04:58.156025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emcf/thepipe"}, {"content_hash": "fbbbf61cda6dee5f9c131b178bd2a2e9aa131af4c3dff2cbd45b24b00a24da18", "fetched_at": "2026-08-29T11:34:32.543238+00:00", "kind": "homepage", "missing": false, "url": "https://thepi.pe"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:42.401572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "285ad1e8a763470df96de5af84d8275a523e8142a68a3a4ecaf08c5109db8bc0", "fetched_at": "2026-08-28T04:04:58.156025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emcf/thepipe"}, {"content_hash": "fbbbf61cda6dee5f9c131b178bd2a2e9aa131af4c3dff2cbd45b24b00a24da18", "fetched_at": "2026-08-29T11:34:32.543238+00:00", "kind": "homepage", "missing": false, "url": "https://thepi.pe"}], "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:04:58.156025+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.156025+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.156025+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:42.401572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "285ad1e8a763470df96de5af84d8275a523e8142a68a3a4ecaf08c5109db8bc0", "fetched_at": "2026-08-28T04:04:58.156025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emcf/thepipe"}, {"content_hash": "fbbbf61cda6dee5f9c131b178bd2a2e9aa131af4c3dff2cbd45b24b00a24da18", "fetched_at": "2026-08-29T11:34:32.543238+00:00", "kind": "homepage", "missing": false, "url": "https://thepi.pe"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.156025+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.156025+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:42.401572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "285ad1e8a763470df96de5af84d8275a523e8142a68a3a4ecaf08c5109db8bc0", "fetched_at": "2026-08-28T04:04:58.156025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emcf/thepipe"}, {"content_hash": "fbbbf61cda6dee5f9c131b178bd2a2e9aa131af4c3dff2cbd45b24b00a24da18", "fetched_at": "2026-08-29T11:34:32.543238+00:00", "kind": "homepage", "missing": false, "url": "https://thepi.pe"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.156025+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.156025+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.156025+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:42.401572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "285ad1e8a763470df96de5af84d8275a523e8142a68a3a4ecaf08c5109db8bc0", "fetched_at": "2026-08-28T04:04:58.156025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emcf/thepipe"}, {"content_hash": "fbbbf61cda6dee5f9c131b178bd2a2e9aa131af4c3dff2cbd45b24b00a24da18", "fetched_at": "2026-08-29T11:34:32.543238+00:00", "kind": "homepage", "missing": false, "url": "https://thepi.pe"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.156025+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.156025+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:42.401572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "285ad1e8a763470df96de5af84d8275a523e8142a68a3a4ecaf08c5109db8bc0", "fetched_at": "2026-08-28T04:04:58.156025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emcf/thepipe"}, {"content_hash": "fbbbf61cda6dee5f9c131b178bd2a2e9aa131af4c3dff2cbd45b24b00a24da18", "fetched_at": "2026-08-29T11:34:32.543238+00:00", "kind": "homepage", "missing": false, "url": "https://thepi.pe"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:42.401572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "285ad1e8a763470df96de5af84d8275a523e8142a68a3a4ecaf08c5109db8bc0", "fetched_at": "2026-08-28T04:04:58.156025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emcf/thepipe"}, {"content_hash": "fbbbf61cda6dee5f9c131b178bd2a2e9aa131af4c3dff2cbd45b24b00a24da18", "fetched_at": "2026-08-29T11:34:32.543238+00:00", "kind": "homepage", "missing": false, "url": "https://thepi.pe"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:42.401572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "285ad1e8a763470df96de5af84d8275a523e8142a68a3a4ecaf08c5109db8bc0", "fetched_at": "2026-08-28T04:04:58.156025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emcf/thepipe"}, {"content_hash": "fbbbf61cda6dee5f9c131b178bd2a2e9aa131af4c3dff2cbd45b24b00a24da18", "fetched_at": "2026-08-29T11:34:32.543238+00:00", "kind": "homepage", "missing": false, "url": "https://thepi.pe"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:42.401572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "285ad1e8a763470df96de5af84d8275a523e8142a68a3a4ecaf08c5109db8bc0", "fetched_at": "2026-08-28T04:04:58.156025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emcf/thepipe"}, {"content_hash": "fbbbf61cda6dee5f9c131b178bd2a2e9aa131af4c3dff2cbd45b24b00a24da18", "fetched_at": "2026-08-29T11:34:32.543238+00:00", "kind": "homepage", "missing": false, "url": "https://thepi.pe"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 74, "longevity": 63, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 894, "days_push": 161, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 58, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}