{"adoption": {"forks": 50, "observed_at": "2026-08-28T04:03:11.296321+00:00", "stars": 1003}, "canonical_url": "https://ross.abutalabs.com/products/tubifarry", "card": {"archived": false, "artifact_type": "plugin", "description": "Tubifarry is a Lidarr plugin that enhances your music library by fetching music from YouTube, integrating with Slskd for Soulseek access, automating Spotify playlist imports, converting files, and retrieving soundtracks from Radarr and Sonarr.", "domain": ["audio", "media", "self-hosted", "developer-tools"], "enriched": true, "function": ["plugin-system", "web-scraping", "audio-processing", "search-engine", "file-upload", "workflow-automation"], "health_score": 100, "homepage": null, "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["TypNull/Tubifarry"], "name": "TypNull/Tubifarry", "platform": ["self-hosted", "windows", "cross-platform"], "pushed_at": "2026-08-25T08:28:11+00:00", "repo": "TypNull/Tubifarry", "stars": 1003, "tags": ["lidarr", "arr-stack", "soulseek", "slskd", "spotify", "youtube-downloader", "music-library", "ffmpeg", "soundtracks", "radarr", "sonarr", "automation", "docker", "linux", "macos"], "topics": ["lidarr", "arr-services", "spotify", "youtube-dl", "soulseek"], "urls": [], "use_cases": ["download music from youtube into lidarr", "use spotify playlists as lidarr indexer", "download music from soulseek via slskd", "import movie and tv soundtracks into lidarr", "convert audio files to different formats with ffmpeg", "fetch lyrics for my music library", "automate spotify playlist imports"], "what_it_is": "Tubifarry is a Lidarr plugin that adds extra music sources to your library management, using Spotify as an indexer and YouTube or Soulseek (via Slskd) as downloaders. It also imports soundtracks from Radarr and Sonarr, converts audio formats with FFmpeg, and fetches lyrics.", "when_to_avoid": ["you don't use Lidarr or the *arr ecosystem", "you need a standalone music downloader outside Lidarr", "you only want legal streaming without downloading files"], "when_to_choose": ["you run Lidarr and want YouTube or Soulseek as music sources", "you want to import Spotify playlists into your Lidarr library", "you want to collect soundtracks from your Radarr and Sonarr libraries", "you need audio format conversion integrated into Lidarr"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tubifarry", "repo": "TypNull/Tubifarry", "role": "main", "score": 87}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.296321+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:13:49.355850+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "887c1969780d8355e890e45a7b8a8400577fadae6e657760483695a12af99a26", "fetched_at": "2026-08-28T04:03:11.296321+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypNull/Tubifarry"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.296321+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:13:49.355850+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "887c1969780d8355e890e45a7b8a8400577fadae6e657760483695a12af99a26", "fetched_at": "2026-08-28T04:03:11.296321+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypNull/Tubifarry"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:13:49.355850+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "887c1969780d8355e890e45a7b8a8400577fadae6e657760483695a12af99a26", "fetched_at": "2026-08-28T04:03:11.296321+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypNull/Tubifarry"}], "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:03:11.296321+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.296321+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.296321+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:13:49.355850+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "887c1969780d8355e890e45a7b8a8400577fadae6e657760483695a12af99a26", "fetched_at": "2026-08-28T04:03:11.296321+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypNull/Tubifarry"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.296321+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.296321+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:13:49.355850+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "887c1969780d8355e890e45a7b8a8400577fadae6e657760483695a12af99a26", "fetched_at": "2026-08-28T04:03:11.296321+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypNull/Tubifarry"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.296321+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.296321+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.296321+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:13:49.355850+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "887c1969780d8355e890e45a7b8a8400577fadae6e657760483695a12af99a26", "fetched_at": "2026-08-28T04:03:11.296321+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypNull/Tubifarry"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.296321+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:11.296321+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:13:49.355850+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "887c1969780d8355e890e45a7b8a8400577fadae6e657760483695a12af99a26", "fetched_at": "2026-08-28T04:03:11.296321+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypNull/Tubifarry"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:13:49.355850+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "887c1969780d8355e890e45a7b8a8400577fadae6e657760483695a12af99a26", "fetched_at": "2026-08-28T04:03:11.296321+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypNull/Tubifarry"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:13:49.355850+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "887c1969780d8355e890e45a7b8a8400577fadae6e657760483695a12af99a26", "fetched_at": "2026-08-28T04:03:11.296321+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypNull/Tubifarry"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:13:49.355850+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "887c1969780d8355e890e45a7b8a8400577fadae6e657760483695a12af99a26", "fetched_at": "2026-08-28T04:03:11.296321+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TypNull/Tubifarry"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 43, "rhythm": 98}, "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": 609, "days_push": 8, "days_rel": 12, "gap_med": 4.0, "n_releases_24m": 51}, "score": 87, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}