{"adoption": {"forks": 509, "observed_at": "2026-08-28T04:04:58.065340+00:00", "stars": 1523}, "canonical_url": "https://ross.abutalabs.com/products/countrycodepickerproject", "card": {"archived": false, "artifact_type": "library", "description": "Country Code Picker (CCP) is an android library which provides an easy way to search and select country or international phone code. Also supports Android EditText phone mask and international phone validation.", "domain": ["mobile-development", "android-tools", "web-development"], "enriched": true, "function": ["ui-components", "form-handling", "internationalization"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["hbb20/CountryCodePickerProject"], "name": "hbb20/CountryCodePickerProject", "platform": ["jvm"], "pushed_at": "2023-12-19T22:01:17+00:00", "repo": "hbb20/CountryCodePickerProject", "stars": 1523, "tags": ["country-picker", "phone-validation", "phone-mask", "libphonenumber", "country-code", "android-edittext", "android", "mobile"], "topics": ["ccp", "android-library", "country-codes", "country-flags", "phonenumber", "country-picker", "country-selector", "andriod-country-spinner", "phonecode-spinner", "country-spinner", "android", "library", "libphonenumber", "country-phone", "android-edittext-phone-mask", "phone-validation", "android-phone-formatting", "international-phone-view", "international-phone", "international-phone-input"], "urls": [], "use_cases": ["add a country code picker to an android signup form", "validate international phone numbers in android", "format phone numbers with country mask in EditText", "let users search and select their country in an app", "add a country spinner with flags to a login screen"], "what_it_is": "An Android library that provides a searchable country and international phone code picker widget, with support for EditText phone masks and international phone number validation. It integrates with libphonenumber for formatting and validation.", "when_to_avoid": ["you are building for platforms other than Android", "you need a Jetpack Compose-native picker rather than a View-based widget", "you need a library under very active development with frequent updates"], "when_to_choose": ["you need a ready-made country/phone-code selector UI in an Android app", "you want built-in phone number formatting and validation via libphonenumber", "you want to avoid boilerplate building a country dialog yourself"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/countrycodepickerproject", "repo": "hbb20/CountryCodePickerProject", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.065340+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:44.806697+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9eb76242dd2933eb50061b32792cf386d5830cf639ca15ddba08e863ae099398", "fetched_at": "2026-08-28T04:04:58.065340+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hbb20/CountryCodePickerProject"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.065340+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:44.806697+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9eb76242dd2933eb50061b32792cf386d5830cf639ca15ddba08e863ae099398", "fetched_at": "2026-08-28T04:04:58.065340+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hbb20/CountryCodePickerProject"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:44.806697+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9eb76242dd2933eb50061b32792cf386d5830cf639ca15ddba08e863ae099398", "fetched_at": "2026-08-28T04:04:58.065340+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hbb20/CountryCodePickerProject"}], "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:04:58.065340+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.065340+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.065340+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:44.806697+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9eb76242dd2933eb50061b32792cf386d5830cf639ca15ddba08e863ae099398", "fetched_at": "2026-08-28T04:04:58.065340+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hbb20/CountryCodePickerProject"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.065340+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.065340+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:44.806697+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9eb76242dd2933eb50061b32792cf386d5830cf639ca15ddba08e863ae099398", "fetched_at": "2026-08-28T04:04:58.065340+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hbb20/CountryCodePickerProject"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.065340+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.065340+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.065340+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:44.806697+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9eb76242dd2933eb50061b32792cf386d5830cf639ca15ddba08e863ae099398", "fetched_at": "2026-08-28T04:04:58.065340+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hbb20/CountryCodePickerProject"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.065340+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.065340+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:44.806697+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9eb76242dd2933eb50061b32792cf386d5830cf639ca15ddba08e863ae099398", "fetched_at": "2026-08-28T04:04:58.065340+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hbb20/CountryCodePickerProject"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:44.806697+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9eb76242dd2933eb50061b32792cf386d5830cf639ca15ddba08e863ae099398", "fetched_at": "2026-08-28T04:04:58.065340+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hbb20/CountryCodePickerProject"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:44.806697+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9eb76242dd2933eb50061b32792cf386d5830cf639ca15ddba08e863ae099398", "fetched_at": "2026-08-28T04:04:58.065340+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hbb20/CountryCodePickerProject"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:44.806697+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9eb76242dd2933eb50061b32792cf386d5830cf639ca15ddba08e863ae099398", "fetched_at": "2026-08-28T04:04:58.065340+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hbb20/CountryCodePickerProject"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 3878, "days_push": 988, "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}}