{"adoption": {"forks": 91, "observed_at": "2026-08-28T04:05:19.018224+00:00", "stars": 1665}, "canonical_url": "https://ross.abutalabs.com/products/selectolax", "card": {"archived": false, "artifact_type": "library", "description": "Python binding to Modest and Lexbor engines. Fast HTML5 parser with CSS selectors for Python.", "domain": ["web-development", "crawlers", "developer-tools"], "enriched": true, "function": ["parser", "web-scraping"], "health_score": 96, "homepage": "https://selectolax.readthedocs.io/en/latest/index.html", "language": "Cython", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["rushter/selectolax"], "name": "rushter/selectolax", "platform": ["python", "cross-platform"], "pushed_at": "2026-07-15T07:01:49+00:00", "repo": "rushter/selectolax", "stars": 1665, "tags": ["html5-parsing", "css-selectors", "cython", "modest-engine", "lexbor", "fast-parsing"], "topics": ["python", "html5", "css", "web-scraping", "parser", "html", "crawler", "scraper"], "urls": [], "use_cases": ["parse html from web scraping responses", "extract text and attributes from html documents", "query html with css selectors in python", "fast html parsing for crawlers", "replace beautifulsoup for faster parsing", "scrape product data from web pages"], "what_it_is": "Selectolax is a fast Python HTML5 parser library written in Cython, binding to the Modest and Lexbor parsing engines. It provides CSS selector support for querying and extracting data from HTML documents with high performance.", "when_to_avoid": ["you need to parse malformed HTML with lenient error recovery", "you need JavaScript rendering or DOM manipulation beyond parsing", "you need XPath support rather than CSS selectors"], "when_to_choose": ["you need very fast HTML parsing in Python", "you want CSS selector support without a heavy dependency like lxml", "you are building a web scraper or crawler that processes many pages", "BeautifulSoup is too slow for your workload"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/selectolax", "repo": "rushter/selectolax", "role": "main", "score": 94}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:19.018224+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:44:27.167721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e81d9101c14084ba3b503fadbc1f1e349825789dc7ca6cb6d28945cc4dc8378b", "fetched_at": "2026-08-28T04:05:19.018224+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rushter/selectolax"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:19.018224+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:44:27.167721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e81d9101c14084ba3b503fadbc1f1e349825789dc7ca6cb6d28945cc4dc8378b", "fetched_at": "2026-08-28T04:05:19.018224+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rushter/selectolax"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:44:27.167721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e81d9101c14084ba3b503fadbc1f1e349825789dc7ca6cb6d28945cc4dc8378b", "fetched_at": "2026-08-28T04:05:19.018224+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rushter/selectolax"}], "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:19.018224+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:19.018224+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:19.018224+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:44:27.167721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e81d9101c14084ba3b503fadbc1f1e349825789dc7ca6cb6d28945cc4dc8378b", "fetched_at": "2026-08-28T04:05:19.018224+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rushter/selectolax"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:19.018224+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:19.018224+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:44:27.167721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e81d9101c14084ba3b503fadbc1f1e349825789dc7ca6cb6d28945cc4dc8378b", "fetched_at": "2026-08-28T04:05:19.018224+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rushter/selectolax"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:19.018224+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:19.018224+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:19.018224+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:44:27.167721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e81d9101c14084ba3b503fadbc1f1e349825789dc7ca6cb6d28945cc4dc8378b", "fetched_at": "2026-08-28T04:05:19.018224+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rushter/selectolax"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:19.018224+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:19.018224+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:44:27.167721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e81d9101c14084ba3b503fadbc1f1e349825789dc7ca6cb6d28945cc4dc8378b", "fetched_at": "2026-08-28T04:05:19.018224+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rushter/selectolax"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:44:27.167721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e81d9101c14084ba3b503fadbc1f1e349825789dc7ca6cb6d28945cc4dc8378b", "fetched_at": "2026-08-28T04:05:19.018224+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rushter/selectolax"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:44:27.167721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e81d9101c14084ba3b503fadbc1f1e349825789dc7ca6cb6d28945cc4dc8378b", "fetched_at": "2026-08-28T04:05:19.018224+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rushter/selectolax"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:44:27.167721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e81d9101c14084ba3b503fadbc1f1e349825789dc7ca6cb6d28945cc4dc8378b", "fetched_at": "2026-08-28T04:05:19.018224+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rushter/selectolax"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 100, "rhythm": 93}, "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": 3202, "days_push": 49, "days_rel": 49, "gap_med": 19, "n_releases_24m": 22}, "score": 94, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}