{"adoption": {"forks": 449, "observed_at": "2026-08-28T04:07:52.203407+00:00", "stars": 3254}, "canonical_url": "https://ross.abutalabs.com/products/chronic", "card": {"archived": false, "artifact_type": "library", "description": "Chronic is a pure Ruby natural language date parser.", "domain": ["developer-tools", "web-development"], "enriched": true, "function": ["parser", "date-time", "nlp"], "health_score": 20, "homepage": "http://injekt.github.com/chronic", "language": "Ruby", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["mojombo/chronic"], "name": "mojombo/chronic", "platform": ["ruby", "cross-platform"], "pushed_at": "2023-09-28T02:41:20+00:00", "repo": "mojombo/chronic", "stars": 3254, "tags": ["date-parsing", "natural-language-dates", "time-parsing", "ruby-gem", "natural-language-processing"], "topics": [], "urls": [], "use_cases": ["parse natural language dates like 'tomorrow' or 'next friday' in ruby", "convert user-typed date strings into time objects", "parse phrases like '3 hours ago' or 'next month' into timestamps", "handle flexible date input in scheduling apps", "parse ambiguous date formats with endian precedence control"], "what_it_is": "Chronic is a pure Ruby natural language date and time parser that converts phrases like 'tomorrow at 6:45pm' or '3rd wednesday in november' into Time objects or time spans. It handles a wide variety of formats, abbreviations, misspellings, and configurable options like endian precedence and ambiguous time ranges.", "when_to_avoid": ["you need parsing in a non-Ruby language", "you only need to parse strict machine formats like ISO 8601 (use standard date libraries)", "you need actively developed features or recent bug fixes"], "when_to_choose": ["you need to parse human-written date/time phrases in a Ruby project", "users supply free-form dates like 'next tuesday 5pm' that must be interpreted", "you want a pure Ruby gem with no native dependencies"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/chronic", "repo": "mojombo/chronic", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.203407+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:24:23.830178+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1092966cf15643dc39616430c5a03de91a72fa926233740fcdf87cabef5e8b2e", "fetched_at": "2026-08-28T04:07:52.203407+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mojombo/chronic"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.203407+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:24:23.830178+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1092966cf15643dc39616430c5a03de91a72fa926233740fcdf87cabef5e8b2e", "fetched_at": "2026-08-28T04:07:52.203407+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mojombo/chronic"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:24:23.830178+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1092966cf15643dc39616430c5a03de91a72fa926233740fcdf87cabef5e8b2e", "fetched_at": "2026-08-28T04:07:52.203407+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mojombo/chronic"}], "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:52.203407+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.203407+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.203407+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:24:23.830178+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1092966cf15643dc39616430c5a03de91a72fa926233740fcdf87cabef5e8b2e", "fetched_at": "2026-08-28T04:07:52.203407+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mojombo/chronic"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.203407+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.203407+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:24:23.830178+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1092966cf15643dc39616430c5a03de91a72fa926233740fcdf87cabef5e8b2e", "fetched_at": "2026-08-28T04:07:52.203407+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mojombo/chronic"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.203407+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.203407+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.203407+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:24:23.830178+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1092966cf15643dc39616430c5a03de91a72fa926233740fcdf87cabef5e8b2e", "fetched_at": "2026-08-28T04:07:52.203407+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mojombo/chronic"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.203407+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.203407+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:24:23.830178+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1092966cf15643dc39616430c5a03de91a72fa926233740fcdf87cabef5e8b2e", "fetched_at": "2026-08-28T04:07:52.203407+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mojombo/chronic"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:24:23.830178+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1092966cf15643dc39616430c5a03de91a72fa926233740fcdf87cabef5e8b2e", "fetched_at": "2026-08-28T04:07:52.203407+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mojombo/chronic"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:24:23.830178+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1092966cf15643dc39616430c5a03de91a72fa926233740fcdf87cabef5e8b2e", "fetched_at": "2026-08-28T04:07:52.203407+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mojombo/chronic"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:24:23.830178+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1092966cf15643dc39616430c5a03de91a72fa926233740fcdf87cabef5e8b2e", "fetched_at": "2026-08-28T04:07:52.203407+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mojombo/chronic"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 6791, "days_push": 1070, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}