{"adoption": {"forks": 369, "observed_at": "2026-08-28T04:06:30.240200+00:00", "stars": 2248}, "canonical_url": "https://ross.abutalabs.com/products/turn", "card": {"archived": false, "artifact_type": "library", "description": "Pion TURN, an API for building TURN clients and servers", "domain": ["networking", "web-development"], "enriched": true, "function": ["networking", "http-server", "middleware"], "health_score": 99, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["pion/turn"], "name": "pion/turn", "platform": ["go", "cross-platform", "windows"], "pushed_at": "2026-08-20T00:47:44+00:00", "repo": "pion/turn", "stars": 2248, "tags": ["turn", "stun", "webrtc", "nat-traversal", "relay", "ice", "pion", "real-time", "linux", "macos"], "topics": ["go", "turn", "webrtc", "pion", "golang", "turn-servers", "turn-server", "stun", "nat", "traversal", "turn-client"], "urls": [], "use_cases": ["build a TURN server for WebRTC media relay", "embed NAT traversal relay in my Go application", "implement a TURN client in Go", "help WebRTC connections through restrictive NATs", "customize TURN allocation behavior programmatically", "self-host a STUN/TURN relay for video calls"], "what_it_is": "Pion TURN is a Go library providing an API for building TURN (Traversal Using Relays around NAT) clients and servers, part of the Pion WebRTC ecosystem. It is designed to be embedded in applications rather than deployed as a standalone configured binary.", "when_to_avoid": ["you just want a ready-made TURN server binary with config files", "your stack is not Go and you cannot embed a Go library", "you need a full production media server rather than relay primitives"], "when_to_choose": ["you need TURN/STUN functionality embedded in a Go application", "you want programmatic control over allocations and relay state", "you need a portable, cross-platform relay without config files", "you are building RTC infrastructure and want an extendable API"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/turn", "repo": "pion/turn", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.240200+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.240151+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c19d4d77569bb3daff66e4e82cb720abb4968159fc5bc4fc25d7f2546c9df8e", "fetched_at": "2026-08-28T04:06:30.240200+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pion/turn"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.240200+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.240151+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c19d4d77569bb3daff66e4e82cb720abb4968159fc5bc4fc25d7f2546c9df8e", "fetched_at": "2026-08-28T04:06:30.240200+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pion/turn"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.240151+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c19d4d77569bb3daff66e4e82cb720abb4968159fc5bc4fc25d7f2546c9df8e", "fetched_at": "2026-08-28T04:06:30.240200+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pion/turn"}], "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:30.240200+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.240200+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.240200+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.240151+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c19d4d77569bb3daff66e4e82cb720abb4968159fc5bc4fc25d7f2546c9df8e", "fetched_at": "2026-08-28T04:06:30.240200+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pion/turn"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.240200+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.240200+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.240151+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c19d4d77569bb3daff66e4e82cb720abb4968159fc5bc4fc25d7f2546c9df8e", "fetched_at": "2026-08-28T04:06:30.240200+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pion/turn"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.240200+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.240200+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.240200+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.240151+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c19d4d77569bb3daff66e4e82cb720abb4968159fc5bc4fc25d7f2546c9df8e", "fetched_at": "2026-08-28T04:06:30.240200+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pion/turn"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.240200+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.240200+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.240151+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c19d4d77569bb3daff66e4e82cb720abb4968159fc5bc4fc25d7f2546c9df8e", "fetched_at": "2026-08-28T04:06:30.240200+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pion/turn"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.240151+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c19d4d77569bb3daff66e4e82cb720abb4968159fc5bc4fc25d7f2546c9df8e", "fetched_at": "2026-08-28T04:06:30.240200+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pion/turn"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.240151+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c19d4d77569bb3daff66e4e82cb720abb4968159fc5bc4fc25d7f2546c9df8e", "fetched_at": "2026-08-28T04:06:30.240200+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pion/turn"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.240151+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1c19d4d77569bb3daff66e4e82cb720abb4968159fc5bc4fc25d7f2546c9df8e", "fetched_at": "2026-08-28T04:06:30.240200+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pion/turn"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 98}, "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": 3056, "days_push": 14, "days_rel": 18, "gap_med": 11.5, "n_releases_24m": 21}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}