{"adoption": {"forks": 169, "observed_at": "2026-09-01T02:13:59.122886+00:00", "stars": 1098}, "canonical_url": "https://ross.abutalabs.com/products/yasumi", "card": {"archived": false, "artifact_type": "library", "description": "The easy PHP Library for calculating holidays", "domain": ["developer-tools", "web-development"], "enriched": true, "function": ["date-time", "internationalization"], "health_score": 98, "homepage": "https://www.yasumi.dev", "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["azuyalabs/yasumi"], "name": "azuyalabs/yasumi", "platform": ["php", "cross-platform"], "pushed_at": "2026-08-30T01:54:51+00:00", "repo": "azuyalabs/yasumi", "stars": 1098, "tags": ["holidays", "calendar", "composer", "provider-based", "timezone-aware", "localization"], "topics": ["php", "holiday", "countries", "calculate-holidays", "calculations", "api", "library", "holidays", "provider-holidays", "yasumi", "calculating-holidays"], "urls": [], "use_cases": ["calculate holidays for a country and year in PHP", "check whether a given date is a public holiday", "get localized holiday names in multiple languages", "filter holidays by type such as official, bank, or observed", "add business-day logic that skips national holidays", "extend holiday calculations to a new country or region"], "what_it_is": "Yasumi is a PHP library for calculating the dates and names of holidays and special celebrations for many countries and states. It is rule-driven rather than database-driven, provider-based per country, and includes translations and timezone awareness.", "when_to_avoid": ["your project runs on PHP below 8.2", "you need real-time holiday data updates from an external service rather than rule-based calculation", "you need holidays for a country not covered by an existing provider and cannot write one"], "when_to_choose": ["you need holiday data in a PHP 8.2+ project without relying on paid or limited external APIs", "you want a framework-agnostic, lightweight, pure-PHP solution", "you need multi-language holiday names and timezone awareness", "you want to add custom country or regional holiday providers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yasumi", "repo": "azuyalabs/yasumi", "role": "main", "score": 88}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-01T02:13:59.122886+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:46:17.939453+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34c0ed29e32d36ea3ff60dc090643a3852b112d5dba784d2ad526cf808b79a66", "fetched_at": "2026-09-01T02:13:59.122886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/azuyalabs/yasumi"}, {"content_hash": "3cda80d53646325fd8426697d49cbbd30f47307024aea358863cb6eb1cf13828", "fetched_at": "2026-08-29T12:49:26.959855+00:00", "kind": "homepage", "missing": false, "url": "https://www.yasumi.dev"}, {"content_hash": "584af3dc7644a61504c5a3cf9a87bbc76fd936c4bfb235f1a6c0ebb3e0dd136a", "fetched_at": "2026-08-29T12:49:26.970990+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/getting-started.html"}, {"content_hash": "ad05d48df07b0b657ed5ab52c62dcf25799d85a2a9132cf00d28081d178e7a08", "fetched_at": "2026-08-29T12:49:26.968866+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/2.11.0.html"}, {"content_hash": "96bf201cac6193501cc490a02bbb32c5ed282934ff247534a5c0329ace37278a", "fetched_at": "2026-08-29T12:49:26.972639+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/index.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-01T02:13:59.122886+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:46:17.939453+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34c0ed29e32d36ea3ff60dc090643a3852b112d5dba784d2ad526cf808b79a66", "fetched_at": "2026-09-01T02:13:59.122886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/azuyalabs/yasumi"}, {"content_hash": "3cda80d53646325fd8426697d49cbbd30f47307024aea358863cb6eb1cf13828", "fetched_at": "2026-08-29T12:49:26.959855+00:00", "kind": "homepage", "missing": false, "url": "https://www.yasumi.dev"}, {"content_hash": "584af3dc7644a61504c5a3cf9a87bbc76fd936c4bfb235f1a6c0ebb3e0dd136a", "fetched_at": "2026-08-29T12:49:26.970990+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/getting-started.html"}, {"content_hash": "ad05d48df07b0b657ed5ab52c62dcf25799d85a2a9132cf00d28081d178e7a08", "fetched_at": "2026-08-29T12:49:26.968866+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/2.11.0.html"}, {"content_hash": "96bf201cac6193501cc490a02bbb32c5ed282934ff247534a5c0329ace37278a", "fetched_at": "2026-08-29T12:49:26.972639+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/index.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:46:17.939453+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34c0ed29e32d36ea3ff60dc090643a3852b112d5dba784d2ad526cf808b79a66", "fetched_at": "2026-09-01T02:13:59.122886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/azuyalabs/yasumi"}, {"content_hash": "3cda80d53646325fd8426697d49cbbd30f47307024aea358863cb6eb1cf13828", "fetched_at": "2026-08-29T12:49:26.959855+00:00", "kind": "homepage", "missing": false, "url": "https://www.yasumi.dev"}, {"content_hash": "584af3dc7644a61504c5a3cf9a87bbc76fd936c4bfb235f1a6c0ebb3e0dd136a", "fetched_at": "2026-08-29T12:49:26.970990+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/getting-started.html"}, {"content_hash": "ad05d48df07b0b657ed5ab52c62dcf25799d85a2a9132cf00d28081d178e7a08", "fetched_at": "2026-08-29T12:49:26.968866+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/2.11.0.html"}, {"content_hash": "96bf201cac6193501cc490a02bbb32c5ed282934ff247534a5c0329ace37278a", "fetched_at": "2026-08-29T12:49:26.972639+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/index.html"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-01T02:13:59.122886+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-01T02:13:59.122886+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-01T02:13:59.122886+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:46:17.939453+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34c0ed29e32d36ea3ff60dc090643a3852b112d5dba784d2ad526cf808b79a66", "fetched_at": "2026-09-01T02:13:59.122886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/azuyalabs/yasumi"}, {"content_hash": "3cda80d53646325fd8426697d49cbbd30f47307024aea358863cb6eb1cf13828", "fetched_at": "2026-08-29T12:49:26.959855+00:00", "kind": "homepage", "missing": false, "url": "https://www.yasumi.dev"}, {"content_hash": "584af3dc7644a61504c5a3cf9a87bbc76fd936c4bfb235f1a6c0ebb3e0dd136a", "fetched_at": "2026-08-29T12:49:26.970990+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/getting-started.html"}, {"content_hash": "ad05d48df07b0b657ed5ab52c62dcf25799d85a2a9132cf00d28081d178e7a08", "fetched_at": "2026-08-29T12:49:26.968866+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/2.11.0.html"}, {"content_hash": "96bf201cac6193501cc490a02bbb32c5ed282934ff247534a5c0329ace37278a", "fetched_at": "2026-08-29T12:49:26.972639+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/index.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-01T02:13:59.122886+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-01T02:13:59.122886+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:46:17.939453+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34c0ed29e32d36ea3ff60dc090643a3852b112d5dba784d2ad526cf808b79a66", "fetched_at": "2026-09-01T02:13:59.122886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/azuyalabs/yasumi"}, {"content_hash": "3cda80d53646325fd8426697d49cbbd30f47307024aea358863cb6eb1cf13828", "fetched_at": "2026-08-29T12:49:26.959855+00:00", "kind": "homepage", "missing": false, "url": "https://www.yasumi.dev"}, {"content_hash": "584af3dc7644a61504c5a3cf9a87bbc76fd936c4bfb235f1a6c0ebb3e0dd136a", "fetched_at": "2026-08-29T12:49:26.970990+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/getting-started.html"}, {"content_hash": "ad05d48df07b0b657ed5ab52c62dcf25799d85a2a9132cf00d28081d178e7a08", "fetched_at": "2026-08-29T12:49:26.968866+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/2.11.0.html"}, {"content_hash": "96bf201cac6193501cc490a02bbb32c5ed282934ff247534a5c0329ace37278a", "fetched_at": "2026-08-29T12:49:26.972639+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/index.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-01T02:13:59.122886+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-01T02:13:59.122886+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-01T02:13:59.122886+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:46:17.939453+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34c0ed29e32d36ea3ff60dc090643a3852b112d5dba784d2ad526cf808b79a66", "fetched_at": "2026-09-01T02:13:59.122886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/azuyalabs/yasumi"}, {"content_hash": "3cda80d53646325fd8426697d49cbbd30f47307024aea358863cb6eb1cf13828", "fetched_at": "2026-08-29T12:49:26.959855+00:00", "kind": "homepage", "missing": false, "url": "https://www.yasumi.dev"}, {"content_hash": "584af3dc7644a61504c5a3cf9a87bbc76fd936c4bfb235f1a6c0ebb3e0dd136a", "fetched_at": "2026-08-29T12:49:26.970990+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/getting-started.html"}, {"content_hash": "ad05d48df07b0b657ed5ab52c62dcf25799d85a2a9132cf00d28081d178e7a08", "fetched_at": "2026-08-29T12:49:26.968866+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/2.11.0.html"}, {"content_hash": "96bf201cac6193501cc490a02bbb32c5ed282934ff247534a5c0329ace37278a", "fetched_at": "2026-08-29T12:49:26.972639+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/index.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-01T02:13:59.122886+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-01T02:13:59.122886+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:46:17.939453+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34c0ed29e32d36ea3ff60dc090643a3852b112d5dba784d2ad526cf808b79a66", "fetched_at": "2026-09-01T02:13:59.122886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/azuyalabs/yasumi"}, {"content_hash": "3cda80d53646325fd8426697d49cbbd30f47307024aea358863cb6eb1cf13828", "fetched_at": "2026-08-29T12:49:26.959855+00:00", "kind": "homepage", "missing": false, "url": "https://www.yasumi.dev"}, {"content_hash": "584af3dc7644a61504c5a3cf9a87bbc76fd936c4bfb235f1a6c0ebb3e0dd136a", "fetched_at": "2026-08-29T12:49:26.970990+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/getting-started.html"}, {"content_hash": "ad05d48df07b0b657ed5ab52c62dcf25799d85a2a9132cf00d28081d178e7a08", "fetched_at": "2026-08-29T12:49:26.968866+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/2.11.0.html"}, {"content_hash": "96bf201cac6193501cc490a02bbb32c5ed282934ff247534a5c0329ace37278a", "fetched_at": "2026-08-29T12:49:26.972639+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/index.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:46:17.939453+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34c0ed29e32d36ea3ff60dc090643a3852b112d5dba784d2ad526cf808b79a66", "fetched_at": "2026-09-01T02:13:59.122886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/azuyalabs/yasumi"}, {"content_hash": "3cda80d53646325fd8426697d49cbbd30f47307024aea358863cb6eb1cf13828", "fetched_at": "2026-08-29T12:49:26.959855+00:00", "kind": "homepage", "missing": false, "url": "https://www.yasumi.dev"}, {"content_hash": "584af3dc7644a61504c5a3cf9a87bbc76fd936c4bfb235f1a6c0ebb3e0dd136a", "fetched_at": "2026-08-29T12:49:26.970990+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/getting-started.html"}, {"content_hash": "ad05d48df07b0b657ed5ab52c62dcf25799d85a2a9132cf00d28081d178e7a08", "fetched_at": "2026-08-29T12:49:26.968866+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/2.11.0.html"}, {"content_hash": "96bf201cac6193501cc490a02bbb32c5ed282934ff247534a5c0329ace37278a", "fetched_at": "2026-08-29T12:49:26.972639+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/index.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:46:17.939453+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34c0ed29e32d36ea3ff60dc090643a3852b112d5dba784d2ad526cf808b79a66", "fetched_at": "2026-09-01T02:13:59.122886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/azuyalabs/yasumi"}, {"content_hash": "3cda80d53646325fd8426697d49cbbd30f47307024aea358863cb6eb1cf13828", "fetched_at": "2026-08-29T12:49:26.959855+00:00", "kind": "homepage", "missing": false, "url": "https://www.yasumi.dev"}, {"content_hash": "584af3dc7644a61504c5a3cf9a87bbc76fd936c4bfb235f1a6c0ebb3e0dd136a", "fetched_at": "2026-08-29T12:49:26.970990+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/getting-started.html"}, {"content_hash": "ad05d48df07b0b657ed5ab52c62dcf25799d85a2a9132cf00d28081d178e7a08", "fetched_at": "2026-08-29T12:49:26.968866+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/2.11.0.html"}, {"content_hash": "96bf201cac6193501cc490a02bbb32c5ed282934ff247534a5c0329ace37278a", "fetched_at": "2026-08-29T12:49:26.972639+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/index.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:46:17.939453+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34c0ed29e32d36ea3ff60dc090643a3852b112d5dba784d2ad526cf808b79a66", "fetched_at": "2026-09-01T02:13:59.122886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/azuyalabs/yasumi"}, {"content_hash": "3cda80d53646325fd8426697d49cbbd30f47307024aea358863cb6eb1cf13828", "fetched_at": "2026-08-29T12:49:26.959855+00:00", "kind": "homepage", "missing": false, "url": "https://www.yasumi.dev"}, {"content_hash": "584af3dc7644a61504c5a3cf9a87bbc76fd936c4bfb235f1a6c0ebb3e0dd136a", "fetched_at": "2026-08-29T12:49:26.970990+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/getting-started.html"}, {"content_hash": "ad05d48df07b0b657ed5ab52c62dcf25799d85a2a9132cf00d28081d178e7a08", "fetched_at": "2026-08-29T12:49:26.968866+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/2.11.0.html"}, {"content_hash": "96bf201cac6193501cc490a02bbb32c5ed282934ff247534a5c0329ace37278a", "fetched_at": "2026-08-29T12:49:26.972639+00:00", "kind": "site_page", "missing": false, "url": "https://www.yasumi.dev/releases/index.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 65}, "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": 4180, "days_push": 4, "days_rel": 156, "gap_med": 67, "n_releases_24m": 4}, "score": 88, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 5, "stale_scrape": false}}