{"adoption": {"forks": 1545, "observed_at": "2026-08-28T04:10:00.616038+00:00", "stars": 7537}, "canonical_url": "https://ross.abutalabs.com/products/androidasync", "card": {"archived": false, "artifact_type": "library", "description": "Asynchronous socket, http(s) (client+server) and websocket library for android. Based on nio, not threads.", "domain": ["mobile-development", "web-development", "networking", "developer-tools"], "enriched": true, "function": ["http-client", "http-server", "websocket", "networking", "concurrency"], "health_score": 20, "homepage": null, "language": "Java", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["koush/AndroidAsync"], "name": "koush/AndroidAsync", "platform": ["jvm"], "pushed_at": "2022-11-23T15:20:07+00:00", "repo": "koush/AndroidAsync", "stars": 7537, "tags": ["async", "nio", "sockets", "callback-driven", "android"], "topics": [], "urls": [], "use_cases": ["make async http requests from android apps", "run an embedded http server on android", "implement websocket client and server communication on android", "handle raw tcp socket connections asynchronously", "download urls to strings, , or files with cancellable futures"], "what_it_is": "AndroidAsync is a low-level asynchronous network protocol library for Android built on Java NIO, providing socket client/server, HTTP(S) client/server, and WebSocket client/server in a single-threaded, callback-driven model. It is the foundation for the higher-level Ion HTTP request library.", "when_to_avoid": ["you just want an easy high-level http request library - use Ion instead", "you need a general-purpose networking library outside android", "you prefer coroutine or rxjava-style async APIs over callbacks"], "when_to_choose": ["you need low-level socket, http, or websocket control on android without thread overhead", "you want a nio-based, single-threaded callback-driven networking stack", "you are building a higher-level networking library on android"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/androidasync", "repo": "koush/AndroidAsync", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:00.616038+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:37:26.442455+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edd782b4bbac462f6fa6dc8c76f68c6f257208ce94c929ccda114e12215e9b09", "fetched_at": "2026-08-28T04:10:00.616038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koush/AndroidAsync"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:00.616038+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:37:26.442455+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edd782b4bbac462f6fa6dc8c76f68c6f257208ce94c929ccda114e12215e9b09", "fetched_at": "2026-08-28T04:10:00.616038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koush/AndroidAsync"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:37:26.442455+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edd782b4bbac462f6fa6dc8c76f68c6f257208ce94c929ccda114e12215e9b09", "fetched_at": "2026-08-28T04:10:00.616038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koush/AndroidAsync"}], "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:10:00.616038+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:00.616038+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:00.616038+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:37:26.442455+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edd782b4bbac462f6fa6dc8c76f68c6f257208ce94c929ccda114e12215e9b09", "fetched_at": "2026-08-28T04:10:00.616038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koush/AndroidAsync"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:00.616038+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:00.616038+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:37:26.442455+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edd782b4bbac462f6fa6dc8c76f68c6f257208ce94c929ccda114e12215e9b09", "fetched_at": "2026-08-28T04:10:00.616038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koush/AndroidAsync"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:00.616038+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:00.616038+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:00.616038+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:37:26.442455+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edd782b4bbac462f6fa6dc8c76f68c6f257208ce94c929ccda114e12215e9b09", "fetched_at": "2026-08-28T04:10:00.616038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koush/AndroidAsync"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:00.616038+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:00.616038+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:37:26.442455+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edd782b4bbac462f6fa6dc8c76f68c6f257208ce94c929ccda114e12215e9b09", "fetched_at": "2026-08-28T04:10:00.616038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koush/AndroidAsync"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:37:26.442455+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edd782b4bbac462f6fa6dc8c76f68c6f257208ce94c929ccda114e12215e9b09", "fetched_at": "2026-08-28T04:10:00.616038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koush/AndroidAsync"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:37:26.442455+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edd782b4bbac462f6fa6dc8c76f68c6f257208ce94c929ccda114e12215e9b09", "fetched_at": "2026-08-28T04:10:00.616038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koush/AndroidAsync"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:37:26.442455+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "edd782b4bbac462f6fa6dc8c76f68c6f257208ce94c929ccda114e12215e9b09", "fetched_at": "2026-08-28T04:10:00.616038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/koush/AndroidAsync"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5122, "days_push": 1379, "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}}