{"adoption": {"forks": 1, "observed_at": "2026-08-28T04:06:51.094631+00:00", "stars": 2431}, "canonical_url": "https://ross.abutalabs.com/products/aimeos-macro", "card": {"archived": false, "artifact_type": "library", "description": "Customize code using closures", "domain": ["developer-tools", "web-development", "programming-languages"], "enriched": true, "function": ["middleware", "plugin-system", "developer-tools"], "health_score": 57, "homepage": "https://php-macro.org", "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["aimeos/macro"], "name": "aimeos/macro", "platform": ["php"], "pushed_at": "2026-01-12T16:12:07+00:00", "repo": "aimeos/macro", "stars": 2431, "tags": ["macros", "closures", "dependency-injection", "trait", "extensibility", "method-overriding"], "topics": ["php", "macro", "macros", "dynamic", "extend", "class", "inherit", "closure", "customize", "custom"], "urls": [], "use_cases": ["let users customize framework behavior without extending classes", "add extension points to library methods using closures", "override method results in base classes via registered macros", "allow macros to access private class properties", "inherit and overwrite macros from parent classes", "lightweight alternative to class-based dependency injection for small hooks"], "what_it_is": "A PHP library providing a Macroable trait that lets developers add closure-based extension points to their classes, allowing users to override or extend methods without subclassing. It uses pure PHP methods with no reflection and supports macro inheritance and access to class properties.", "when_to_avoid": ["you need strict static analysis or interface contracts on injected behavior", "you require full class-based dependency injection with type-safe implementations"], "when_to_choose": ["you build an application, framework, or library meant for user customization", "you need simple extension points where full DI with interfaces is overkill", "you want closures that behave like inherited, overridable methods"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/aimeos-macro", "repo": "aimeos/macro", "role": "main", "score": 60}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.094631+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:31:25.330035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0555e8c88dd37c464b89e4cba50dc0031cfc6bc9e765e4a20c47a2c32fc7bf75", "fetched_at": "2026-08-28T04:06:51.094631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aimeos/macro"}, {"content_hash": "b1a00b7292d594c42d81ae11e83b1c401e2e0b0b951a1390c82ec9a1536bb81a", "fetched_at": "2026-08-29T10:12:37.785314+00:00", "kind": "homepage", "missing": false, "url": "https://php-macro.org"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.094631+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:31:25.330035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0555e8c88dd37c464b89e4cba50dc0031cfc6bc9e765e4a20c47a2c32fc7bf75", "fetched_at": "2026-08-28T04:06:51.094631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aimeos/macro"}, {"content_hash": "b1a00b7292d594c42d81ae11e83b1c401e2e0b0b951a1390c82ec9a1536bb81a", "fetched_at": "2026-08-29T10:12:37.785314+00:00", "kind": "homepage", "missing": false, "url": "https://php-macro.org"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:31:25.330035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0555e8c88dd37c464b89e4cba50dc0031cfc6bc9e765e4a20c47a2c32fc7bf75", "fetched_at": "2026-08-28T04:06:51.094631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aimeos/macro"}, {"content_hash": "b1a00b7292d594c42d81ae11e83b1c401e2e0b0b951a1390c82ec9a1536bb81a", "fetched_at": "2026-08-29T10:12:37.785314+00:00", "kind": "homepage", "missing": false, "url": "https://php-macro.org"}], "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:06:51.094631+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.094631+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.094631+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:31:25.330035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0555e8c88dd37c464b89e4cba50dc0031cfc6bc9e765e4a20c47a2c32fc7bf75", "fetched_at": "2026-08-28T04:06:51.094631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aimeos/macro"}, {"content_hash": "b1a00b7292d594c42d81ae11e83b1c401e2e0b0b951a1390c82ec9a1536bb81a", "fetched_at": "2026-08-29T10:12:37.785314+00:00", "kind": "homepage", "missing": false, "url": "https://php-macro.org"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.094631+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.094631+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:31:25.330035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0555e8c88dd37c464b89e4cba50dc0031cfc6bc9e765e4a20c47a2c32fc7bf75", "fetched_at": "2026-08-28T04:06:51.094631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aimeos/macro"}, {"content_hash": "b1a00b7292d594c42d81ae11e83b1c401e2e0b0b951a1390c82ec9a1536bb81a", "fetched_at": "2026-08-29T10:12:37.785314+00:00", "kind": "homepage", "missing": false, "url": "https://php-macro.org"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.094631+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.094631+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.094631+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:31:25.330035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0555e8c88dd37c464b89e4cba50dc0031cfc6bc9e765e4a20c47a2c32fc7bf75", "fetched_at": "2026-08-28T04:06:51.094631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aimeos/macro"}, {"content_hash": "b1a00b7292d594c42d81ae11e83b1c401e2e0b0b951a1390c82ec9a1536bb81a", "fetched_at": "2026-08-29T10:12:37.785314+00:00", "kind": "homepage", "missing": false, "url": "https://php-macro.org"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.094631+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:51.094631+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:31:25.330035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0555e8c88dd37c464b89e4cba50dc0031cfc6bc9e765e4a20c47a2c32fc7bf75", "fetched_at": "2026-08-28T04:06:51.094631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aimeos/macro"}, {"content_hash": "b1a00b7292d594c42d81ae11e83b1c401e2e0b0b951a1390c82ec9a1536bb81a", "fetched_at": "2026-08-29T10:12:37.785314+00:00", "kind": "homepage", "missing": false, "url": "https://php-macro.org"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:31:25.330035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0555e8c88dd37c464b89e4cba50dc0031cfc6bc9e765e4a20c47a2c32fc7bf75", "fetched_at": "2026-08-28T04:06:51.094631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aimeos/macro"}, {"content_hash": "b1a00b7292d594c42d81ae11e83b1c401e2e0b0b951a1390c82ec9a1536bb81a", "fetched_at": "2026-08-29T10:12:37.785314+00:00", "kind": "homepage", "missing": false, "url": "https://php-macro.org"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:31:25.330035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0555e8c88dd37c464b89e4cba50dc0031cfc6bc9e765e4a20c47a2c32fc7bf75", "fetched_at": "2026-08-28T04:06:51.094631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aimeos/macro"}, {"content_hash": "b1a00b7292d594c42d81ae11e83b1c401e2e0b0b951a1390c82ec9a1536bb81a", "fetched_at": "2026-08-29T10:12:37.785314+00:00", "kind": "homepage", "missing": false, "url": "https://php-macro.org"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:31:25.330035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0555e8c88dd37c464b89e4cba50dc0031cfc6bc9e765e4a20c47a2c32fc7bf75", "fetched_at": "2026-08-28T04:06:51.094631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aimeos/macro"}, {"content_hash": "b1a00b7292d594c42d81ae11e83b1c401e2e0b0b951a1390c82ec9a1536bb81a", "fetched_at": "2026-08-29T10:12:37.785314+00:00", "kind": "homepage", "missing": false, "url": "https://php-macro.org"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 62, "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": 1735, "days_push": 233, "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}}