{"adoption": {"forks": 228, "observed_at": "2026-09-01T02:13:58.869777+00:00", "stars": 1037}, "canonical_url": "https://ross.abutalabs.com/products/servicetalk", "card": {"archived": false, "artifact_type": "framework", "description": "A networking framework that evolves with your application", "domain": ["backend", "microservices", "apis", "networking", "web-development"], "enriched": true, "function": ["http-client", "http-server", "rpc", "websocket", "middleware", "routing", "concurrency"], "health_score": 100, "homepage": "https://docs.servicetalk.io", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["apple/servicetalk"], "name": "apple/servicetalk", "platform": ["jvm", "cross-platform"], "pushed_at": "2026-08-31T23:47:48+00:00", "repo": "apple/servicetalk", "stars": 1037, "tags": ["reactive-streams", "netty", "grpc", "http2", "java", "async-io", "microservices"], "topics": ["java", "reactive", "reactive-streams", "microservices", "framework", "http", "http2", "rpc", "grpc", "netty"], "urls": [], "use_cases": ["build high-throughput http servers in java", "make async http client calls with backpressure", "serve grpc services on the jvm", "build reactive microservices with reactive streams", "migrate from netty with a higher-level api", "handle http2 streaming workloads"], "what_it_is": "ServiceTalk is a JVM networking framework built on Netty that provides reactive, asynchronous HTTP, gRPC, and other protocol clients and servers. It is designed to evolve with applications, offering composable APIs for building high-performance microservices.", "when_to_avoid": ["you need a simple blocking servlet-style stack", "your team is not comfortable with reactive programming", "you are outside the JVM ecosystem"], "when_to_choose": ["you need a reactive, backpressure-aware networking layer on the JVM", "you want Netty-level performance with friendlier APIs", "you are building microservices with HTTP/2 or gRPC"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/servicetalk", "repo": "apple/servicetalk", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.869777+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:04:29.344441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ca67517a72c9c72ff34ec10deba29b04b516c3d22af3fd7967734f080416f64", "fetched_at": "2026-08-29T13:05:20.265052+00:00", "kind": "homepage", "missing": false, "url": "https://docs.servicetalk.io"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.869777+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:04:29.344441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ca67517a72c9c72ff34ec10deba29b04b516c3d22af3fd7967734f080416f64", "fetched_at": "2026-08-29T13:05:20.265052+00:00", "kind": "homepage", "missing": false, "url": "https://docs.servicetalk.io"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:04:29.344441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ca67517a72c9c72ff34ec10deba29b04b516c3d22af3fd7967734f080416f64", "fetched_at": "2026-08-29T13:05:20.265052+00:00", "kind": "homepage", "missing": false, "url": "https://docs.servicetalk.io"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.869777+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.869777+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.869777+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:04:29.344441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ca67517a72c9c72ff34ec10deba29b04b516c3d22af3fd7967734f080416f64", "fetched_at": "2026-08-29T13:05:20.265052+00:00", "kind": "homepage", "missing": false, "url": "https://docs.servicetalk.io"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.869777+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.869777+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:04:29.344441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ca67517a72c9c72ff34ec10deba29b04b516c3d22af3fd7967734f080416f64", "fetched_at": "2026-08-29T13:05:20.265052+00:00", "kind": "homepage", "missing": false, "url": "https://docs.servicetalk.io"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.869777+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.869777+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.869777+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:04:29.344441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ca67517a72c9c72ff34ec10deba29b04b516c3d22af3fd7967734f080416f64", "fetched_at": "2026-08-29T13:05:20.265052+00:00", "kind": "homepage", "missing": false, "url": "https://docs.servicetalk.io"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.869777+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.869777+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:04:29.344441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ca67517a72c9c72ff34ec10deba29b04b516c3d22af3fd7967734f080416f64", "fetched_at": "2026-08-29T13:05:20.265052+00:00", "kind": "homepage", "missing": false, "url": "https://docs.servicetalk.io"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:04:29.344441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ca67517a72c9c72ff34ec10deba29b04b516c3d22af3fd7967734f080416f64", "fetched_at": "2026-08-29T13:05:20.265052+00:00", "kind": "homepage", "missing": false, "url": "https://docs.servicetalk.io"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:04:29.344441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ca67517a72c9c72ff34ec10deba29b04b516c3d22af3fd7967734f080416f64", "fetched_at": "2026-08-29T13:05:20.265052+00:00", "kind": "homepage", "missing": false, "url": "https://docs.servicetalk.io"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:04:29.344441+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ca67517a72c9c72ff34ec10deba29b04b516c3d22af3fd7967734f080416f64", "fetched_at": "2026-08-29T13:05:20.265052+00:00", "kind": "homepage", "missing": false, "url": "https://docs.servicetalk.io"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 87}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_readme"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2918, "days_push": 2, "days_rel": 7, "gap_med": 37, "n_releases_24m": 18}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 5, "stale_scrape": false}}