{"adoption": {"forks": 98, "observed_at": "2026-08-28T04:03:15.265885+00:00", "stars": 1020}, "canonical_url": "https://ross.abutalabs.com/products/thirtyinch", "card": {"archived": true, "artifact_type": "library", "description": "a MVP library for Android favoring a stateful Presenter", "domain": ["mobile-development", "android-tools", "developer-tools"], "enriched": true, "function": ["state-management", "testing"], "health_score": 10, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["GCX-HCI/ThirtyInch"], "name": "GCX-HCI/ThirtyInch", "platform": ["jvm"], "pushed_at": "2021-03-16T13:38:42+00:00", "repo": "GCX-HCI/ThirtyInch", "stars": 1020, "tags": ["mvp", "presenter", "mvvm", "rxjava2", "kotlin-coroutines", "deprecated", "architecture", "android"], "topics": ["mvp", "android", "mvvm", "rxjava", "library", "activity", "fragment", "rxjava2", "architecture"], "urls": [], "use_cases": ["implement mvp architecture in android apps", "make presenters survive configuration changes", "keep activities and fragments free of business logic", "unit test android presentation logic easily", "use rxjava2 or coroutines with a presenter pattern", "separate view events from data fetching in android"], "what_it_is": "ThirtyInch is an MVP (Model-View-Presenter) library for Android that adds stateful Presenters to Activities and Fragments. Presenters survive configuration changes while Views stay dumb, sending user events and receiving data without owning logic.", "when_to_avoid": ["starting a new Android project - the library is deprecated and unmaintained", "you prefer modern recommended architectures like MVVM with Jetpack ViewModel and Compose", "you need ongoing updates, bug fixes, or compatibility with the latest Android SDK versions"], "when_to_choose": ["maintaining a legacy Android codebase already built on ThirtyInch", "you specifically want a stateful, testable MVP pattern with RxJava2 or coroutines support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/thirtyinch", "repo": "GCX-HCI/ThirtyInch", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.265885+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:08:53.465376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9bc53e3f7d9cc13c71c7c318f5818a3dff5a711d74dac9bb3cfc2ec9469c4b42", "fetched_at": "2026-08-28T04:03:15.265885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GCX-HCI/ThirtyInch"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.265885+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:08:53.465376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9bc53e3f7d9cc13c71c7c318f5818a3dff5a711d74dac9bb3cfc2ec9469c4b42", "fetched_at": "2026-08-28T04:03:15.265885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GCX-HCI/ThirtyInch"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:08:53.465376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9bc53e3f7d9cc13c71c7c318f5818a3dff5a711d74dac9bb3cfc2ec9469c4b42", "fetched_at": "2026-08-28T04:03:15.265885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GCX-HCI/ThirtyInch"}], "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:15.265885+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.265885+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.265885+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:08:53.465376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9bc53e3f7d9cc13c71c7c318f5818a3dff5a711d74dac9bb3cfc2ec9469c4b42", "fetched_at": "2026-08-28T04:03:15.265885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GCX-HCI/ThirtyInch"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.265885+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.265885+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:08:53.465376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9bc53e3f7d9cc13c71c7c318f5818a3dff5a711d74dac9bb3cfc2ec9469c4b42", "fetched_at": "2026-08-28T04:03:15.265885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GCX-HCI/ThirtyInch"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.265885+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.265885+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.265885+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:08:53.465376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9bc53e3f7d9cc13c71c7c318f5818a3dff5a711d74dac9bb3cfc2ec9469c4b42", "fetched_at": "2026-08-28T04:03:15.265885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GCX-HCI/ThirtyInch"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.265885+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.265885+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:08:53.465376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9bc53e3f7d9cc13c71c7c318f5818a3dff5a711d74dac9bb3cfc2ec9469c4b42", "fetched_at": "2026-08-28T04:03:15.265885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GCX-HCI/ThirtyInch"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:08:53.465376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9bc53e3f7d9cc13c71c7c318f5818a3dff5a711d74dac9bb3cfc2ec9469c4b42", "fetched_at": "2026-08-28T04:03:15.265885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GCX-HCI/ThirtyInch"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:08:53.465376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9bc53e3f7d9cc13c71c7c318f5818a3dff5a711d74dac9bb3cfc2ec9469c4b42", "fetched_at": "2026-08-28T04:03:15.265885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GCX-HCI/ThirtyInch"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:08:53.465376+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9bc53e3f7d9cc13c71c7c318f5818a3dff5a711d74dac9bb3cfc2ec9469c4b42", "fetched_at": "2026-08-28T04:03:15.265885+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GCX-HCI/ThirtyInch"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3663, "days_push": 1996, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}