{"adoption": {"forks": 411, "observed_at": "2026-08-28T04:05:44.504739+00:00", "stars": 1852}, "canonical_url": "https://ross.abutalabs.com/products/kryonet", "card": {"archived": false, "artifact_type": "library", "description": " TCP/UDP client/server library for Java, based on Kryo", "domain": ["microservices", "developer-tools"], "enriched": true, "function": ["serialization", "rpc", "networking"], "health_score": 20, "homepage": null, "language": "Java", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["EsotericSoftware/kryonet"], "name": "EsotericSoftware/kryonet", "platform": ["jvm", "cross-platform"], "pushed_at": "2021-02-22T15:27:36+00:00", "repo": "EsotericSoftware/kryonet", "stars": 1852, "tags": ["tcp", "udp", "nio", "kryo", "client-server", "lan-discovery", "rmi", "game-networking", "game-development", "android", "desktop"], "topics": [], "urls": [], "use_cases": ["build a multiplayer game client/server in Java", "send objects between a Java client and server over TCP or UDP", "implement inter-process communication between JVM applications", "discover game servers on a LAN", "efficiently serialize and transfer object graphs over the network", "add remote method invocation to a Java app"], "what_it_is": "KryoNet is a Java library providing a simple API for efficient TCP and UDP client/server communication built on NIO, using the Kryo serialization library to automatically transfer object graphs. It runs on desktop JVMs and Android and is well suited to games and other client/server applications.", "when_to_avoid": ["you need HTTP/REST or WebSocket communication", "you need a maintained library with recent releases and active development", "you are not on the JVM (e.g., need cross-language clients)", "you need enterprise-grade features like TLS, clustering, or service discovery"], "when_to_choose": ["you need simple, efficient TCP/UDP networking in Java or on Android", "you want automatic serialization of object graphs without writing protocol code", "you are building a game or real-time client/server application on the JVM"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kryonet", "repo": "EsotericSoftware/kryonet", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.504739+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.573696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f86c3fa1595606000e032bbfc9961911d28a18d26c660963c19cc7c6597057be", "fetched_at": "2026-08-28T04:05:44.504739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EsotericSoftware/kryonet"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.504739+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.573696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f86c3fa1595606000e032bbfc9961911d28a18d26c660963c19cc7c6597057be", "fetched_at": "2026-08-28T04:05:44.504739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EsotericSoftware/kryonet"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.573696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f86c3fa1595606000e032bbfc9961911d28a18d26c660963c19cc7c6597057be", "fetched_at": "2026-08-28T04:05:44.504739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EsotericSoftware/kryonet"}], "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:05:44.504739+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.504739+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.504739+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.573696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f86c3fa1595606000e032bbfc9961911d28a18d26c660963c19cc7c6597057be", "fetched_at": "2026-08-28T04:05:44.504739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EsotericSoftware/kryonet"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.504739+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.504739+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.573696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f86c3fa1595606000e032bbfc9961911d28a18d26c660963c19cc7c6597057be", "fetched_at": "2026-08-28T04:05:44.504739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EsotericSoftware/kryonet"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.504739+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.504739+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.504739+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.573696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f86c3fa1595606000e032bbfc9961911d28a18d26c660963c19cc7c6597057be", "fetched_at": "2026-08-28T04:05:44.504739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EsotericSoftware/kryonet"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.504739+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.504739+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.573696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f86c3fa1595606000e032bbfc9961911d28a18d26c660963c19cc7c6597057be", "fetched_at": "2026-08-28T04:05:44.504739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EsotericSoftware/kryonet"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.573696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f86c3fa1595606000e032bbfc9961911d28a18d26c660963c19cc7c6597057be", "fetched_at": "2026-08-28T04:05:44.504739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EsotericSoftware/kryonet"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.573696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f86c3fa1595606000e032bbfc9961911d28a18d26c660963c19cc7c6597057be", "fetched_at": "2026-08-28T04:05:44.504739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EsotericSoftware/kryonet"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:16:51.573696+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f86c3fa1595606000e032bbfc9961911d28a18d26c660963c19cc7c6597057be", "fetched_at": "2026-08-28T04:05:44.504739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EsotericSoftware/kryonet"}], "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": 4683, "days_push": 2018, "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}}