{"adoption": {"forks": 2707, "observed_at": "2026-08-28T04:12:07.440641+00:00", "stars": 38490}, "canonical_url": "https://ross.abutalabs.com/products/langextract", "card": {"archived": false, "artifact_type": "library", "description": "A Python library for extracting structured information from unstructured text using LLMs with precise source grounding and interactive visualization.", "domain": ["large-language-models", "artificial-intelligence", "data-science"], "enriched": true, "function": ["nlp", "llm-inference", "data-science", "rag"], "health_score": 98, "homepage": "https://pypi.org/project/langextract/", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["google/langextract"], "name": "google/langextract", "platform": ["python"], "pushed_at": "2026-08-19T07:21:21+00:00", "repo": "google/langextract", "stars": 38490, "tags": ["information-extraction", "structured-output", "source-grounding", "gemini", "openai", "ollama", "few-shot", "natural-language-processing"], "topics": ["llm", "nlp", "python", "gemini-ai", "information-extration", "large-language-models", "structured-data", "gemini", "gemini-api", "gemini-flash", "gemini-pro"], "urls": [], "use_cases": ["extract structured data from clinical notes with llm", "parse entities from unstructured text with source citations", "extract medications from doctor reports", "structure radiology reports into", "highlight extracted fields back in the original document", "run information extraction with gemini or openai models", "use local llms with ollama for text extraction"], "what_it_is": "LangExtract is a Python library that uses LLMs to extract structured information from unstructured text based on user-defined instructions and few-shot examples. It grounds every extraction to its exact character span in the source text and provides interactive visualization for traceability.", "when_to_avoid": ["you need fully offline extraction without any LLM", "you want a general-purpose NLP pipeline beyond information extraction", "you cannot send text to cloud LLM APIs and lack local model infrastructure", "you need high-throughput extraction with minimal LLM cost"], "when_to_choose": ["you need structured extractions that are verifiably grounded to exact source text spans", "you want schema-consistent LLM outputs enforced via few-shot examples", "you need to work with clinical or long documents requiring traceability", "you want provider flexibility across Gemini, OpenAI, or local Ollama models"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/langextract", "repo": "google/langextract", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:12:07.440641+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:24:50.829910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5025496853ac7ca41edc8464d9b42bc6d55b4a7944e94576a5bc54f0a7c0c28", "fetched_at": "2026-08-28T04:12:07.440641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/langextract"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:46:57.145072+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/langextract/"}, {"content_hash": "b265d3fc8fc47e4cdf7f84ec8ee2a5d25b91aadf4fff26ee02371e9cd227b9cb", "fetched_at": "2026-08-29T07:46:57.154619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/langextract/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:12:07.440641+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:24:50.829910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5025496853ac7ca41edc8464d9b42bc6d55b4a7944e94576a5bc54f0a7c0c28", "fetched_at": "2026-08-28T04:12:07.440641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/langextract"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:46:57.145072+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/langextract/"}, {"content_hash": "b265d3fc8fc47e4cdf7f84ec8ee2a5d25b91aadf4fff26ee02371e9cd227b9cb", "fetched_at": "2026-08-29T07:46:57.154619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/langextract/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:24:50.829910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5025496853ac7ca41edc8464d9b42bc6d55b4a7944e94576a5bc54f0a7c0c28", "fetched_at": "2026-08-28T04:12:07.440641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/langextract"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:46:57.145072+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/langextract/"}, {"content_hash": "b265d3fc8fc47e4cdf7f84ec8ee2a5d25b91aadf4fff26ee02371e9cd227b9cb", "fetched_at": "2026-08-29T07:46:57.154619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/langextract/json"}], "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:12:07.440641+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:12:07.440641+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:12:07.440641+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:24:50.829910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5025496853ac7ca41edc8464d9b42bc6d55b4a7944e94576a5bc54f0a7c0c28", "fetched_at": "2026-08-28T04:12:07.440641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/langextract"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:46:57.145072+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/langextract/"}, {"content_hash": "b265d3fc8fc47e4cdf7f84ec8ee2a5d25b91aadf4fff26ee02371e9cd227b9cb", "fetched_at": "2026-08-29T07:46:57.154619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/langextract/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:12:07.440641+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:12:07.440641+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:24:50.829910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5025496853ac7ca41edc8464d9b42bc6d55b4a7944e94576a5bc54f0a7c0c28", "fetched_at": "2026-08-28T04:12:07.440641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/langextract"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:46:57.145072+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/langextract/"}, {"content_hash": "b265d3fc8fc47e4cdf7f84ec8ee2a5d25b91aadf4fff26ee02371e9cd227b9cb", "fetched_at": "2026-08-29T07:46:57.154619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/langextract/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:12:07.440641+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:12:07.440641+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:12:07.440641+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:24:50.829910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5025496853ac7ca41edc8464d9b42bc6d55b4a7944e94576a5bc54f0a7c0c28", "fetched_at": "2026-08-28T04:12:07.440641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/langextract"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:46:57.145072+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/langextract/"}, {"content_hash": "b265d3fc8fc47e4cdf7f84ec8ee2a5d25b91aadf4fff26ee02371e9cd227b9cb", "fetched_at": "2026-08-29T07:46:57.154619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/langextract/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:12:07.440641+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:12:07.440641+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:24:50.829910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5025496853ac7ca41edc8464d9b42bc6d55b4a7944e94576a5bc54f0a7c0c28", "fetched_at": "2026-08-28T04:12:07.440641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/langextract"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:46:57.145072+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/langextract/"}, {"content_hash": "b265d3fc8fc47e4cdf7f84ec8ee2a5d25b91aadf4fff26ee02371e9cd227b9cb", "fetched_at": "2026-08-29T07:46:57.154619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/langextract/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:24:50.829910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5025496853ac7ca41edc8464d9b42bc6d55b4a7944e94576a5bc54f0a7c0c28", "fetched_at": "2026-08-28T04:12:07.440641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/langextract"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:46:57.145072+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/langextract/"}, {"content_hash": "b265d3fc8fc47e4cdf7f84ec8ee2a5d25b91aadf4fff26ee02371e9cd227b9cb", "fetched_at": "2026-08-29T07:46:57.154619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/langextract/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:24:50.829910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5025496853ac7ca41edc8464d9b42bc6d55b4a7944e94576a5bc54f0a7c0c28", "fetched_at": "2026-08-28T04:12:07.440641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/langextract"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:46:57.145072+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/langextract/"}, {"content_hash": "b265d3fc8fc47e4cdf7f84ec8ee2a5d25b91aadf4fff26ee02371e9cd227b9cb", "fetched_at": "2026-08-29T07:46:57.154619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/langextract/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:24:50.829910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5025496853ac7ca41edc8464d9b42bc6d55b4a7944e94576a5bc54f0a7c0c28", "fetched_at": "2026-08-28T04:12:07.440641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/langextract"}, {"content_hash": "4b4e8fead74a82582158f1c6b83a2db21fc02cd116c124ae690d0931a9091212", "fetched_at": "2026-08-29T07:46:57.145072+00:00", "kind": "homepage", "missing": false, "url": "https://pypi.org/project/langextract/"}, {"content_hash": "b265d3fc8fc47e4cdf7f84ec8ee2a5d25b91aadf4fff26ee02371e9cd227b9cb", "fetched_at": "2026-08-29T07:46:57.154619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/langextract/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 30, "rhythm": 91}, "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": 421, "days_push": 14, "days_rel": 62, "gap_med": 10, "n_releases_24m": 18}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}