{"adoption": {"forks": 139, "observed_at": "2026-08-28T04:04:44.088278+00:00", "stars": 1439}, "canonical_url": "https://ross.abutalabs.com/products/python-email-validator", "card": {"archived": false, "artifact_type": "library", "description": "A robust email syntax and deliverability validation library for Python.", "domain": ["email", "web-development", "backend", "developer-tools"], "enriched": true, "function": ["email", "form-handling", "nlp"], "health_score": 88, "homepage": null, "language": "Python", "license": "Unlicense", "license_family": "permissive", "maturity": "stable", "member_repos": ["JoshData/python-email-validator"], "name": "JoshData/python-email-validator", "platform": ["python", "cross-platform"], "pushed_at": "2026-06-26T12:52:19+00:00", "repo": "JoshData/python-email-validator", "stars": 1439, "tags": ["email-validation", "deliverability", "dns-lookup", "normalization", "internationalized-email", "form-validation"], "topics": ["dns", "email", "validation", "normalization", "syntax"], "urls": [], "use_cases": ["validate email addresses on a registration form", "check if an email domain can receive mail", "normalize email addresses before storing them in a database", "validate internationalized email addresses with unicode", "show friendly error messages for invalid emails", "validate email syntax in data pipelines"], "what_it_is": "A Python library that validates email address syntax and optionally checks domain deliverability via DNS. It normalizes addresses, supports internationalized domains and local parts, and produces friendly error messages for end users.", "when_to_avoid": ["you need less opinionated syntax-only validation (consider pyIsEmail)", "you want to verify that a mailbox actually exists", "you need bulk email list cleaning or marketing verification"], "when_to_choose": ["you need opinionated, strict email validation with deliverability checks", "you want human-readable validation errors to show users", "you handle internationalized or quoted-string email addresses", "you need address normalization for deduplication"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/python-email-validator", "repo": "JoshData/python-email-validator", "role": "main", "score": 64}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.088278+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:36:34.822025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09115764025ed622935ba70b7084c97813bef7b2e5bcf669cbb33bd4e064f556", "fetched_at": "2026-08-28T04:04:44.088278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoshData/python-email-validator"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.088278+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:36:34.822025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09115764025ed622935ba70b7084c97813bef7b2e5bcf669cbb33bd4e064f556", "fetched_at": "2026-08-28T04:04:44.088278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoshData/python-email-validator"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:36:34.822025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09115764025ed622935ba70b7084c97813bef7b2e5bcf669cbb33bd4e064f556", "fetched_at": "2026-08-28T04:04:44.088278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoshData/python-email-validator"}], "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:44.088278+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.088278+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.088278+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:36:34.822025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09115764025ed622935ba70b7084c97813bef7b2e5bcf669cbb33bd4e064f556", "fetched_at": "2026-08-28T04:04:44.088278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoshData/python-email-validator"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.088278+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.088278+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:36:34.822025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09115764025ed622935ba70b7084c97813bef7b2e5bcf669cbb33bd4e064f556", "fetched_at": "2026-08-28T04:04:44.088278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoshData/python-email-validator"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.088278+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.088278+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.088278+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:36:34.822025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09115764025ed622935ba70b7084c97813bef7b2e5bcf669cbb33bd4e064f556", "fetched_at": "2026-08-28T04:04:44.088278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoshData/python-email-validator"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.088278+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.088278+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:36:34.822025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09115764025ed622935ba70b7084c97813bef7b2e5bcf669cbb33bd4e064f556", "fetched_at": "2026-08-28T04:04:44.088278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoshData/python-email-validator"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:36:34.822025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09115764025ed622935ba70b7084c97813bef7b2e5bcf669cbb33bd4e064f556", "fetched_at": "2026-08-28T04:04:44.088278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoshData/python-email-validator"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:36:34.822025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09115764025ed622935ba70b7084c97813bef7b2e5bcf669cbb33bd4e064f556", "fetched_at": "2026-08-28T04:04:44.088278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoshData/python-email-validator"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:36:34.822025+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "09115764025ed622935ba70b7084c97813bef7b2e5bcf669cbb33bd4e064f556", "fetched_at": "2026-08-28T04:04:44.088278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JoshData/python-email-validator"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 89, "longevity": 100, "rhythm": 12}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4153, "days_push": 68, "days_rel": 372, "gap_med": null, "n_releases_24m": 1}, "score": 64, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}