{"adoption": {"forks": 407, "observed_at": "2026-08-28T04:06:53.303737+00:00", "stars": 2457}, "canonical_url": "https://ross.abutalabs.com/products/animationeasingfunctions", "card": {"archived": false, "artifact_type": "library", "description": "Android Animation Easing Functions. Let's make animation more real!", "domain": ["mobile-development", "graphics"], "enriched": true, "function": ["animation"], "health_score": 20, "homepage": null, "language": "Java", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["daimajia/AnimationEasingFunctions"], "name": "daimajia/AnimationEasingFunctions", "platform": ["jvm"], "pushed_at": "2020-08-24T03:29:49+00:00", "repo": "daimajia/AnimationEasingFunctions", "stars": 2457, "tags": ["easing-functions", "view-animation", "interpolators", "android-library", "android", "mobile"], "topics": ["easing-functions", "animation", "android-easing-functions"], "urls": [], "use_cases": ["add bounce easing to android view animations", "make android animations feel more natural", "apply elastic easing curves to objectanimator", "animate views with realistic motion in android app", "use penner easing functions on android", "smooth in-out easing for android ui transitions"], "what_it_is": "An Android library implementing Robert Penner's easing functions for use with Android view animations via a Glider utility. It lets developers apply natural, realistic motion curves (bounce, elastic, sine, etc.) to ObjectAnimator-based animations.", "when_to_avoid": ["you need physics-based or Compose animation systems", "you are not developing for Android", "you need a library under active development with recent updates"], "when_to_choose": ["you want realistic easing curves for Android view animations with a simple Glider API", "your app targets Android API 11+ and uses ObjectAnimator-based animations"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/animationeasingfunctions", "repo": "daimajia/AnimationEasingFunctions", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.303737+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:30:01.816927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90800db7614b0b2a0e26b152f7039218e02891c3d1fd8199f22a28ec27b4653e", "fetched_at": "2026-08-28T04:06:53.303737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/daimajia/AnimationEasingFunctions"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.303737+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:30:01.816927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90800db7614b0b2a0e26b152f7039218e02891c3d1fd8199f22a28ec27b4653e", "fetched_at": "2026-08-28T04:06:53.303737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/daimajia/AnimationEasingFunctions"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:30:01.816927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90800db7614b0b2a0e26b152f7039218e02891c3d1fd8199f22a28ec27b4653e", "fetched_at": "2026-08-28T04:06:53.303737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/daimajia/AnimationEasingFunctions"}], "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:53.303737+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.303737+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.303737+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:30:01.816927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90800db7614b0b2a0e26b152f7039218e02891c3d1fd8199f22a28ec27b4653e", "fetched_at": "2026-08-28T04:06:53.303737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/daimajia/AnimationEasingFunctions"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.303737+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.303737+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:30:01.816927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90800db7614b0b2a0e26b152f7039218e02891c3d1fd8199f22a28ec27b4653e", "fetched_at": "2026-08-28T04:06:53.303737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/daimajia/AnimationEasingFunctions"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.303737+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.303737+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.303737+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:30:01.816927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90800db7614b0b2a0e26b152f7039218e02891c3d1fd8199f22a28ec27b4653e", "fetched_at": "2026-08-28T04:06:53.303737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/daimajia/AnimationEasingFunctions"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.303737+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:53.303737+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:30:01.816927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90800db7614b0b2a0e26b152f7039218e02891c3d1fd8199f22a28ec27b4653e", "fetched_at": "2026-08-28T04:06:53.303737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/daimajia/AnimationEasingFunctions"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:30:01.816927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90800db7614b0b2a0e26b152f7039218e02891c3d1fd8199f22a28ec27b4653e", "fetched_at": "2026-08-28T04:06:53.303737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/daimajia/AnimationEasingFunctions"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:30:01.816927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90800db7614b0b2a0e26b152f7039218e02891c3d1fd8199f22a28ec27b4653e", "fetched_at": "2026-08-28T04:06:53.303737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/daimajia/AnimationEasingFunctions"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:30:01.816927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "90800db7614b0b2a0e26b152f7039218e02891c3d1fd8199f22a28ec27b4653e", "fetched_at": "2026-08-28T04:06:53.303737+00:00", "kind": "readme", "missing": false, "url": "https://github.com/daimajia/AnimationEasingFunctions"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4448, "days_push": 2200, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}