{"adoption": {"forks": 571, "observed_at": "2026-08-28T04:07:06.111473+00:00", "stars": 2631}, "canonical_url": "https://ross.abutalabs.com/products/dateutil", "card": {"archived": false, "artifact_type": "library", "description": "Useful extensions to the standard Python datetime features", "domain": ["developer-tools"], "enriched": true, "function": ["date-time", "parser"], "health_score": 75, "homepage": null, "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "stable", "member_repos": ["dateutil/dateutil"], "name": "dateutil/dateutil", "platform": ["python", "cross-platform"], "pushed_at": "2026-05-19T23:50:16+00:00", "repo": "dateutil/dateutil", "stars": 2631, "tags": ["datetime", "timezones", "recurrence-rules", "icalendar", "date-parsing", "algorithms"], "topics": ["python", "datetime", "time", "timezones", "parsing", "library"], "urls": [], "use_cases": ["parse dates from arbitrary string formats in python", "compute the next monday or last day of the month", "generate recurring event dates from iCalendar RRULE strings", "handle timezone conversions with zoneinfo files", "calculate the difference between two datetimes in relative terms"], "what_it_is": "python-dateutil is a Python library providing powerful extensions to the standard datetime module. It offers flexible date parsing, relative delta computation, iCalendar-based recurrence rules, and timezone implementations.", "when_to_avoid": ["you only need simple, fixed-format date handling covered by the standard library", "you need high-performance bulk date parsing with minimal dependencies"], "when_to_choose": ["you need to parse dates in unknown or varied string formats", "you need flexible recurrence rule handling beyond the standard library", "you need robust timezone support including tzfile and TZ environment strings"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dateutil", "repo": "dateutil/dateutil", "role": "main", "score": 60}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:06.111473+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:19:37.417001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de92c1ea83f671c64404991085ed444551daec0a50278569801fab68dd8639d3", "fetched_at": "2026-08-28T04:07:06.111473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dateutil/dateutil"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:06.111473+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:19:37.417001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de92c1ea83f671c64404991085ed444551daec0a50278569801fab68dd8639d3", "fetched_at": "2026-08-28T04:07:06.111473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dateutil/dateutil"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:19:37.417001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de92c1ea83f671c64404991085ed444551daec0a50278569801fab68dd8639d3", "fetched_at": "2026-08-28T04:07:06.111473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dateutil/dateutil"}], "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:07:06.111473+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:06.111473+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:06.111473+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:19:37.417001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de92c1ea83f671c64404991085ed444551daec0a50278569801fab68dd8639d3", "fetched_at": "2026-08-28T04:07:06.111473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dateutil/dateutil"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:06.111473+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:06.111473+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:19:37.417001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de92c1ea83f671c64404991085ed444551daec0a50278569801fab68dd8639d3", "fetched_at": "2026-08-28T04:07:06.111473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dateutil/dateutil"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:06.111473+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:06.111473+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:06.111473+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:19:37.417001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de92c1ea83f671c64404991085ed444551daec0a50278569801fab68dd8639d3", "fetched_at": "2026-08-28T04:07:06.111473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dateutil/dateutil"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:06.111473+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:06.111473+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:19:37.417001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de92c1ea83f671c64404991085ed444551daec0a50278569801fab68dd8639d3", "fetched_at": "2026-08-28T04:07:06.111473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dateutil/dateutil"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:19:37.417001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de92c1ea83f671c64404991085ed444551daec0a50278569801fab68dd8639d3", "fetched_at": "2026-08-28T04:07:06.111473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dateutil/dateutil"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:19:37.417001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de92c1ea83f671c64404991085ed444551daec0a50278569801fab68dd8639d3", "fetched_at": "2026-08-28T04:07:06.111473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dateutil/dateutil"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:19:37.417001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de92c1ea83f671c64404991085ed444551daec0a50278569801fab68dd8639d3", "fetched_at": "2026-08-28T04:07:06.111473+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dateutil/dateutil"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 83, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4305, "days_push": 106, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 60, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}