{"adoption": {"forks": 463, "observed_at": "2026-08-28T04:06:44.098874+00:00", "stars": 2405}, "canonical_url": "https://ross.abutalabs.com/products/android-ble-library", "card": {"archived": false, "artifact_type": "library", "description": "A library that makes working with Bluetooth LE on Android a pleasure. Seriously.", "domain": ["android-tools", "developer-tools", "cross-platform"], "enriched": true, "function": ["sdk", "developer-tools"], "health_score": 90, "homepage": null, "language": "Java", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "stable", "member_repos": ["nordicsemi/Android-BLE-Library"], "name": "nordicsemi/Android-BLE-Library", "platform": ["jvm"], "pushed_at": "2026-07-10T08:05:18+00:00", "repo": "nordicsemi/Android-BLE-Library", "stars": 2405, "tags": ["bluetooth-low-energy", "ble", "android", "iot", "connectivity", "gatt"], "topics": [], "urls": [], "use_cases": ["connect to a BLE heart rate sensor from an Android app", "read and write GATT characteristics on Android", "handle Bluetooth bonding and service discovery reliably", "build an Android app for Nordic Semiconductor devices", "scan and communicate with BLE peripherals", "implement BLE notifications and indications on Android"], "what_it_is": "An Android library by Nordic Semiconductor that simplifies working with Bluetooth Low Energy, handling connection, service discovery, bonding, and GATT operations. It wraps Android's error-prone BLE APIs into a reliable BleManager with retries and request queuing.", "when_to_avoid": ["you want a fully Kotlin coroutines/Flow-based API (consider the new Kotlin BLE Library 2.0)", "you target platforms other than Android", "you need Bluetooth Classic (BR/EDR) rather than BLE"], "when_to_choose": ["you are building an Android app that talks to BLE peripherals", "you want battle-tested handling of Android BLE quirks like retries and bonding", "you need GATT operations with request queuing and callbacks or LiveData"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/android-ble-library", "repo": "nordicsemi/Android-BLE-Library", "role": "main", "score": 73}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:44.098874+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:34:08.889089+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b95801e2e4d5e541ec91038aec1084ca6be70cb5f42a2987dfe4c66da5d1505e", "fetched_at": "2026-08-28T04:06:44.098874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nordicsemi/Android-BLE-Library"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:44.098874+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:34:08.889089+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b95801e2e4d5e541ec91038aec1084ca6be70cb5f42a2987dfe4c66da5d1505e", "fetched_at": "2026-08-28T04:06:44.098874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nordicsemi/Android-BLE-Library"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:34:08.889089+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b95801e2e4d5e541ec91038aec1084ca6be70cb5f42a2987dfe4c66da5d1505e", "fetched_at": "2026-08-28T04:06:44.098874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nordicsemi/Android-BLE-Library"}], "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:44.098874+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:44.098874+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:44.098874+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:34:08.889089+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b95801e2e4d5e541ec91038aec1084ca6be70cb5f42a2987dfe4c66da5d1505e", "fetched_at": "2026-08-28T04:06:44.098874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nordicsemi/Android-BLE-Library"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:44.098874+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:44.098874+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:34:08.889089+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b95801e2e4d5e541ec91038aec1084ca6be70cb5f42a2987dfe4c66da5d1505e", "fetched_at": "2026-08-28T04:06:44.098874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nordicsemi/Android-BLE-Library"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:44.098874+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:44.098874+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:44.098874+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:34:08.889089+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b95801e2e4d5e541ec91038aec1084ca6be70cb5f42a2987dfe4c66da5d1505e", "fetched_at": "2026-08-28T04:06:44.098874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nordicsemi/Android-BLE-Library"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:44.098874+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:44.098874+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:34:08.889089+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b95801e2e4d5e541ec91038aec1084ca6be70cb5f42a2987dfe4c66da5d1505e", "fetched_at": "2026-08-28T04:06:44.098874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nordicsemi/Android-BLE-Library"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:34:08.889089+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b95801e2e4d5e541ec91038aec1084ca6be70cb5f42a2987dfe4c66da5d1505e", "fetched_at": "2026-08-28T04:06:44.098874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nordicsemi/Android-BLE-Library"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:34:08.889089+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b95801e2e4d5e541ec91038aec1084ca6be70cb5f42a2987dfe4c66da5d1505e", "fetched_at": "2026-08-28T04:06:44.098874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nordicsemi/Android-BLE-Library"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:34:08.889089+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b95801e2e4d5e541ec91038aec1084ca6be70cb5f42a2987dfe4c66da5d1505e", "fetched_at": "2026-08-28T04:06:44.098874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nordicsemi/Android-BLE-Library"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 91, "longevity": 100, "rhythm": 35}, "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": 3180, "days_push": 54, "days_rel": 356, "gap_med": 49.0, "n_releases_24m": 7}, "score": 73, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}