{"adoption": {"forks": 356, "observed_at": "2026-08-28T04:06:21.525625+00:00", "stars": 2168}, "canonical_url": "https://ross.abutalabs.com/products/sdrtrunk", "card": {"archived": false, "artifact_type": "application", "description": "A cross-platform java application for decoding, monitoring, recording and streaming trunked mobile and related radio protocols using Software Defined Radios (SDR).  Website:", "domain": ["media", "cross-platform", "developer-tools"], "enriched": true, "function": ["audio-processing", "gui", "streaming"], "health_score": 87, "homepage": null, "language": "Java", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["DSheirer/sdrtrunk"], "name": "DSheirer/sdrtrunk", "platform": ["windows", "cross-platform", "jvm"], "pushed_at": "2026-08-01T12:26:06+00:00", "repo": "DSheirer/sdrtrunk", "stars": 2168, "tags": ["sdr", "software-defined-radio", "radio-scanner", "trunked-radio", "signal-decoding", "p25", "dmr", "recording", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["decode trunked radio traffic with an SDR dongle", "monitor and record P25 or DMR digital voice channels", "stream decoded radio audio to an audio server", "follow trunked radio talkgroups automatically", "log radio calls and channel activity", "build a software-based police/fire scanner"], "what_it_is": "sdrtrunk is a cross-platform Java application for decoding, monitoring, recording, and streaming trunked mobile and related radio protocols using Software Defined Radios (SDR). It provides a GUI for tuning, decoding digital voice protocols like P25 and DMR, and streaming audio.", "when_to_avoid": ["you need a command-line-only or headless decoding pipeline", "you want to decode analog-only signals with no digital protocol support", "you need real-time low-latency signal analysis or spectrum research tools"], "when_to_choose": ["you have an SDR tuner (RTL-SDR, etc.) and want a ready-made GUI scanner application", "you need to decode trunked digital radio protocols like P25 Phase I/II or DMR", "you want cross-platform support on Windows, Linux, or macOS without writing code"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sdrtrunk", "repo": "DSheirer/sdrtrunk", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.525625+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:49:29.141754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9dea853e672bc5c6768a3d8b70c90895e11a314b7e1f1ddf6c11e51e7e5a75b", "fetched_at": "2026-08-28T04:06:21.525625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DSheirer/sdrtrunk"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.525625+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:49:29.141754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9dea853e672bc5c6768a3d8b70c90895e11a314b7e1f1ddf6c11e51e7e5a75b", "fetched_at": "2026-08-28T04:06:21.525625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DSheirer/sdrtrunk"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:49:29.141754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9dea853e672bc5c6768a3d8b70c90895e11a314b7e1f1ddf6c11e51e7e5a75b", "fetched_at": "2026-08-28T04:06:21.525625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DSheirer/sdrtrunk"}], "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:21.525625+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.525625+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.525625+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:49:29.141754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9dea853e672bc5c6768a3d8b70c90895e11a314b7e1f1ddf6c11e51e7e5a75b", "fetched_at": "2026-08-28T04:06:21.525625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DSheirer/sdrtrunk"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.525625+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.525625+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:49:29.141754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9dea853e672bc5c6768a3d8b70c90895e11a314b7e1f1ddf6c11e51e7e5a75b", "fetched_at": "2026-08-28T04:06:21.525625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DSheirer/sdrtrunk"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.525625+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.525625+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.525625+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:49:29.141754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9dea853e672bc5c6768a3d8b70c90895e11a314b7e1f1ddf6c11e51e7e5a75b", "fetched_at": "2026-08-28T04:06:21.525625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DSheirer/sdrtrunk"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.525625+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.525625+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:49:29.141754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9dea853e672bc5c6768a3d8b70c90895e11a314b7e1f1ddf6c11e51e7e5a75b", "fetched_at": "2026-08-28T04:06:21.525625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DSheirer/sdrtrunk"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:49:29.141754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9dea853e672bc5c6768a3d8b70c90895e11a314b7e1f1ddf6c11e51e7e5a75b", "fetched_at": "2026-08-28T04:06:21.525625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DSheirer/sdrtrunk"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:49:29.141754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9dea853e672bc5c6768a3d8b70c90895e11a314b7e1f1ddf6c11e51e7e5a75b", "fetched_at": "2026-08-28T04:06:21.525625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DSheirer/sdrtrunk"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:49:29.141754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9dea853e672bc5c6768a3d8b70c90895e11a314b7e1f1ddf6c11e51e7e5a75b", "fetched_at": "2026-08-28T04:06:21.525625+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DSheirer/sdrtrunk"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 8}, "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": 4027, "days_push": 32, "days_rel": 638, "gap_med": null, "n_releases_24m": 1}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}