{"adoption": {"forks": 634, "observed_at": "2026-08-28T04:09:45.328318+00:00", "stars": 6573}, "canonical_url": "https://ross.abutalabs.com/products/tautulli", "card": {"archived": false, "artifact_type": "application", "description": "A Python based monitoring and tracking tool for Plex Media Server.", "domain": ["media", "self-hosted", "analytics", "monitoring", "web-development"], "enriched": true, "function": ["monitoring", "analytics", "alerting", "data-visualization", "webhook", "self-hosted"], "health_score": 100, "homepage": "https://tautulli.com", "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["Tautulli/Tautulli"], "name": "Tautulli/Tautulli", "platform": ["python", "cross-platform", "self-hosted"], "pushed_at": "2026-08-26T18:31:05+00:00", "repo": "Tautulli/Tautulli", "stars": 6573, "tags": ["plex", "plex-media-server", "media-server-monitoring", "watch-history", "notifications", "statistics", "streaming-analytics", "docker", "web-server"], "topics": ["plex", "plexpy", "python", "monitoring", "notifications", "statistics", "stats", "analytics", "tautulli"], "urls": [], "use_cases": ["monitor who is currently streaming from my Plex server", "track watch history and statistics for Plex users", "get notified when someone starts streaming on my Plex server", "view graphs of Plex server streaming trends", "see statistics about my Plex library contents", "manage and delete synced content from Plex users", "send newsletters about recently added Plex media"], "what_it_is": "Tautulli is a Python-based self-hosted web application for monitoring, tracking, and analyzing activity on a Plex Media Server. It provides real-time activity monitoring, watch history, user and library statistics, graphs, and customizable notifications.", "when_to_avoid": ["you use a media server other than Plex, such as Jellyfin or Emby", "you only need basic playback without statistics or notifications", "you cannot run a companion Python application alongside your media server"], "when_to_choose": ["you run a Plex Media Server and want detailed activity monitoring and analytics", "you need customizable notifications triggered by Plex server events", "you want to track per-user watch history, devices, and sync data", "you want a self-hosted tool with a web UI, Docker support, and cross-platform Python deployment"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tautulli", "repo": "Tautulli/Tautulli", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.328318+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:43:37.955968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c39e986584c978534195ad542a03bf5bc8dccacd4d6de11c8b8abc022acde56", "fetched_at": "2026-08-28T04:09:45.328318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tautulli/Tautulli"}, {"content_hash": "74278d7dd40b25cf6185a8b6d4f5ac8c14a6a44311a997fdc8332968b5faf0b8", "fetched_at": "2026-08-29T08:40:10.027147+00:00", "kind": "homepage", "missing": false, "url": "https://tautulli.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.328318+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:43:37.955968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c39e986584c978534195ad542a03bf5bc8dccacd4d6de11c8b8abc022acde56", "fetched_at": "2026-08-28T04:09:45.328318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tautulli/Tautulli"}, {"content_hash": "74278d7dd40b25cf6185a8b6d4f5ac8c14a6a44311a997fdc8332968b5faf0b8", "fetched_at": "2026-08-29T08:40:10.027147+00:00", "kind": "homepage", "missing": false, "url": "https://tautulli.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:43:37.955968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c39e986584c978534195ad542a03bf5bc8dccacd4d6de11c8b8abc022acde56", "fetched_at": "2026-08-28T04:09:45.328318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tautulli/Tautulli"}, {"content_hash": "74278d7dd40b25cf6185a8b6d4f5ac8c14a6a44311a997fdc8332968b5faf0b8", "fetched_at": "2026-08-29T08:40:10.027147+00:00", "kind": "homepage", "missing": false, "url": "https://tautulli.com"}], "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:09:45.328318+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.328318+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.328318+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:43:37.955968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c39e986584c978534195ad542a03bf5bc8dccacd4d6de11c8b8abc022acde56", "fetched_at": "2026-08-28T04:09:45.328318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tautulli/Tautulli"}, {"content_hash": "74278d7dd40b25cf6185a8b6d4f5ac8c14a6a44311a997fdc8332968b5faf0b8", "fetched_at": "2026-08-29T08:40:10.027147+00:00", "kind": "homepage", "missing": false, "url": "https://tautulli.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.328318+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.328318+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:43:37.955968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c39e986584c978534195ad542a03bf5bc8dccacd4d6de11c8b8abc022acde56", "fetched_at": "2026-08-28T04:09:45.328318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tautulli/Tautulli"}, {"content_hash": "74278d7dd40b25cf6185a8b6d4f5ac8c14a6a44311a997fdc8332968b5faf0b8", "fetched_at": "2026-08-29T08:40:10.027147+00:00", "kind": "homepage", "missing": false, "url": "https://tautulli.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.328318+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.328318+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.328318+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:43:37.955968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c39e986584c978534195ad542a03bf5bc8dccacd4d6de11c8b8abc022acde56", "fetched_at": "2026-08-28T04:09:45.328318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tautulli/Tautulli"}, {"content_hash": "74278d7dd40b25cf6185a8b6d4f5ac8c14a6a44311a997fdc8332968b5faf0b8", "fetched_at": "2026-08-29T08:40:10.027147+00:00", "kind": "homepage", "missing": false, "url": "https://tautulli.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.328318+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.328318+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:43:37.955968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c39e986584c978534195ad542a03bf5bc8dccacd4d6de11c8b8abc022acde56", "fetched_at": "2026-08-28T04:09:45.328318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tautulli/Tautulli"}, {"content_hash": "74278d7dd40b25cf6185a8b6d4f5ac8c14a6a44311a997fdc8332968b5faf0b8", "fetched_at": "2026-08-29T08:40:10.027147+00:00", "kind": "homepage", "missing": false, "url": "https://tautulli.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:43:37.955968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c39e986584c978534195ad542a03bf5bc8dccacd4d6de11c8b8abc022acde56", "fetched_at": "2026-08-28T04:09:45.328318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tautulli/Tautulli"}, {"content_hash": "74278d7dd40b25cf6185a8b6d4f5ac8c14a6a44311a997fdc8332968b5faf0b8", "fetched_at": "2026-08-29T08:40:10.027147+00:00", "kind": "homepage", "missing": false, "url": "https://tautulli.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:43:37.955968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c39e986584c978534195ad542a03bf5bc8dccacd4d6de11c8b8abc022acde56", "fetched_at": "2026-08-28T04:09:45.328318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tautulli/Tautulli"}, {"content_hash": "74278d7dd40b25cf6185a8b6d4f5ac8c14a6a44311a997fdc8332968b5faf0b8", "fetched_at": "2026-08-29T08:40:10.027147+00:00", "kind": "homepage", "missing": false, "url": "https://tautulli.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:43:37.955968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8c39e986584c978534195ad542a03bf5bc8dccacd4d6de11c8b8abc022acde56", "fetched_at": "2026-08-28T04:09:45.328318+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tautulli/Tautulli"}, {"content_hash": "74278d7dd40b25cf6185a8b6d4f5ac8c14a6a44311a997fdc8332968b5faf0b8", "fetched_at": "2026-08-29T08:40:10.027147+00:00", "kind": "homepage", "missing": false, "url": "https://tautulli.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 87}, "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": 4210, "days_push": 7, "days_rel": 8, "gap_med": 42, "n_releases_24m": 12}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}