{"adoption": {"forks": 122, "observed_at": "2026-08-28T04:03:37.507536+00:00", "stars": 1110}, "canonical_url": "https://ross.abutalabs.com/products/aspectd", "card": {"archived": false, "artifact_type": "framework", "description": "AOP for Flutter(Dart)", "domain": ["developer-tools", "mobile-development", "cross-platform"], "enriched": true, "function": ["compiler", "developer-tools", "middleware"], "health_score": 20, "homepage": null, "language": "Dart", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["XianyuTech/aspectd"], "name": "XianyuTech/aspectd", "platform": ["cross-platform"], "pushed_at": "2022-02-17T03:26:40+00:00", "repo": "XianyuTech/aspectd", "stars": 1110, "tags": ["aop", "aspect-oriented-programming", "dart", "flutter", "code-instrumentation", "dill-transformer", "compile-time-weaving"], "topics": [], "urls": [], "use_cases": ["intercept and instrument method calls in flutter apps without modifying source code", "add logging or analytics hooks to dart methods via annotations", "inject code into existing dart functions at compile time", "build custom dill transformers for code manipulation", "apply aspect-oriented patterns like AspectJ in a flutter project"], "what_it_is": "AspectD is an aspect-oriented programming (AOP) framework for Dart and Flutter, providing call/execute interception and code injection via dill (Dart kernel binary) transformation. It works by patching flutter_tools to apply a compile-time transformer, since dart:mirrors is unavailable in Flutter.", "when_to_avoid": ["you are unwilling to patch flutter_tools, since the required patch may break with flutter updates", "your project uses a flutter version not matching the supported stable branch", "you need runtime AOP with reflection, which dart does not support in flutter"], "when_to_choose": ["you need non-invasive cross-cutting concerns (logging, monitoring, performance tracking) in a flutter app", "you want AspectJ-style call/execute/inject semantics for dart", "you need compile-time code transformation on dart kernel files"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/aspectd", "repo": "XianyuTech/aspectd", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.507536+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:43:25.967862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e05bf4858074b9c8f8ff07525a40e6032075fa19778c0f7b84dc6a276f2be1d0", "fetched_at": "2026-08-28T04:03:37.507536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/XianyuTech/aspectd"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.507536+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:43:25.967862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e05bf4858074b9c8f8ff07525a40e6032075fa19778c0f7b84dc6a276f2be1d0", "fetched_at": "2026-08-28T04:03:37.507536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/XianyuTech/aspectd"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:43:25.967862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e05bf4858074b9c8f8ff07525a40e6032075fa19778c0f7b84dc6a276f2be1d0", "fetched_at": "2026-08-28T04:03:37.507536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/XianyuTech/aspectd"}], "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:03:37.507536+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.507536+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.507536+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:43:25.967862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e05bf4858074b9c8f8ff07525a40e6032075fa19778c0f7b84dc6a276f2be1d0", "fetched_at": "2026-08-28T04:03:37.507536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/XianyuTech/aspectd"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.507536+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.507536+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:43:25.967862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e05bf4858074b9c8f8ff07525a40e6032075fa19778c0f7b84dc6a276f2be1d0", "fetched_at": "2026-08-28T04:03:37.507536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/XianyuTech/aspectd"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.507536+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.507536+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.507536+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:43:25.967862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e05bf4858074b9c8f8ff07525a40e6032075fa19778c0f7b84dc6a276f2be1d0", "fetched_at": "2026-08-28T04:03:37.507536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/XianyuTech/aspectd"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.507536+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.507536+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:43:25.967862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e05bf4858074b9c8f8ff07525a40e6032075fa19778c0f7b84dc6a276f2be1d0", "fetched_at": "2026-08-28T04:03:37.507536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/XianyuTech/aspectd"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:43:25.967862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e05bf4858074b9c8f8ff07525a40e6032075fa19778c0f7b84dc6a276f2be1d0", "fetched_at": "2026-08-28T04:03:37.507536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/XianyuTech/aspectd"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:43:25.967862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e05bf4858074b9c8f8ff07525a40e6032075fa19778c0f7b84dc6a276f2be1d0", "fetched_at": "2026-08-28T04:03:37.507536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/XianyuTech/aspectd"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:43:25.967862+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e05bf4858074b9c8f8ff07525a40e6032075fa19778c0f7b84dc6a276f2be1d0", "fetched_at": "2026-08-28T04:03:37.507536+00:00", "kind": "readme", "missing": false, "url": "https://github.com/XianyuTech/aspectd"}], "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": 2674, "days_push": 1658, "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}}