{"adoption": {"forks": 234, "observed_at": "2026-08-28T04:04:51.907096+00:00", "stars": 1486}, "canonical_url": "https://ross.abutalabs.com/products/smd", "card": {"archived": false, "artifact_type": "application", "description": "Spotify Music Downloader", "domain": ["media", "audio"], "enriched": true, "function": ["cli", "gui", "web-scraping", "audio-processing"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["artyshko/smd"], "name": "artyshko/smd", "platform": ["python", "cli"], "pushed_at": "2023-02-12T23:57:11+00:00", "repo": "artyshko/smd", "stars": 1486, "tags": ["spotify-downloader", "music-downloader", "telegram-bot", "youtube-dl", "apple-music", "deezer", "shazam", "dmca-frozen", "command-line", "automation", "linux", "desktop", "telegram"], "topics": ["spotify", "spotify-playlist", "spotify-api", "spotipy", "music", "music-downloader", "high-quality-music", "freemusic", "telegram-bot", "bot", "music-bot", "youtube", "youtube-dl", "youtube-downloader", "apple-music", "apple-music-downloader", "shazam-downloader", "shazam", "linux", "free-software"], "urls": [], "use_cases": ["download a spotify playlist as mp3 files", "download music from apple music links", "grab audio from a youtube music track", "run a telegram bot that fetches songs on request", "bulk download an album from a deezer link", "search and download a song by name from the command line"], "what_it_is": "A Python application that downloads high-quality music from Spotify playlists, albums, and songs by fetching audio from sources like YouTube, with CLI, desktop GUI, and Telegram bot interfaces. It also supports Deezer, YouTube Music, Apple Music, and Shazam links.", "when_to_avoid": ["you need a maintained tool - the project is frozen due to DMCA issues and the telegram bot is down", "you want legal, licensed music downloads", "you need support for streaming services beyond those listed"], "when_to_choose": ["you want a free, self-hosted way to save spotify playlists as local audio files", "you need both a desktop GUI and a CLI for music downloading", "you want a telegram bot that downloads music for you"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/smd", "repo": "artyshko/smd", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.907096+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:33:50.428035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2ded18ca435e02f6dc8eff215e50ddfded68cfe9dedff5fec63177cf4b32930", "fetched_at": "2026-08-28T04:04:51.907096+00:00", "kind": "readme", "missing": false, "url": "https://github.com/artyshko/smd"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.907096+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:33:50.428035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2ded18ca435e02f6dc8eff215e50ddfded68cfe9dedff5fec63177cf4b32930", "fetched_at": "2026-08-28T04:04:51.907096+00:00", "kind": "readme", "missing": false, "url": "https://github.com/artyshko/smd"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:33:50.428035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2ded18ca435e02f6dc8eff215e50ddfded68cfe9dedff5fec63177cf4b32930", "fetched_at": "2026-08-28T04:04:51.907096+00:00", "kind": "readme", "missing": false, "url": "https://github.com/artyshko/smd"}], "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:04:51.907096+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.907096+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.907096+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:33:50.428035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2ded18ca435e02f6dc8eff215e50ddfded68cfe9dedff5fec63177cf4b32930", "fetched_at": "2026-08-28T04:04:51.907096+00:00", "kind": "readme", "missing": false, "url": "https://github.com/artyshko/smd"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.907096+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.907096+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:33:50.428035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2ded18ca435e02f6dc8eff215e50ddfded68cfe9dedff5fec63177cf4b32930", "fetched_at": "2026-08-28T04:04:51.907096+00:00", "kind": "readme", "missing": false, "url": "https://github.com/artyshko/smd"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.907096+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.907096+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.907096+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:33:50.428035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2ded18ca435e02f6dc8eff215e50ddfded68cfe9dedff5fec63177cf4b32930", "fetched_at": "2026-08-28T04:04:51.907096+00:00", "kind": "readme", "missing": false, "url": "https://github.com/artyshko/smd"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.907096+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.907096+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:33:50.428035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2ded18ca435e02f6dc8eff215e50ddfded68cfe9dedff5fec63177cf4b32930", "fetched_at": "2026-08-28T04:04:51.907096+00:00", "kind": "readme", "missing": false, "url": "https://github.com/artyshko/smd"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:33:50.428035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2ded18ca435e02f6dc8eff215e50ddfded68cfe9dedff5fec63177cf4b32930", "fetched_at": "2026-08-28T04:04:51.907096+00:00", "kind": "readme", "missing": false, "url": "https://github.com/artyshko/smd"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:33:50.428035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2ded18ca435e02f6dc8eff215e50ddfded68cfe9dedff5fec63177cf4b32930", "fetched_at": "2026-08-28T04:04:51.907096+00:00", "kind": "readme", "missing": false, "url": "https://github.com/artyshko/smd"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:33:50.428035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f2ded18ca435e02f6dc8eff215e50ddfded68cfe9dedff5fec63177cf4b32930", "fetched_at": "2026-08-28T04:04:51.907096+00:00", "kind": "readme", "missing": false, "url": "https://github.com/artyshko/smd"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 2770, "days_push": 1298, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}