{"adoption": {"forks": 200, "observed_at": "2026-08-28T04:04:08.026921+00:00", "stars": 1250}, "canonical_url": "https://ross.abutalabs.com/products/onthespot", "card": {"archived": false, "artifact_type": "application", "description": "qt based music downloader written in python", "domain": ["media", "desktop-applications", "cross-platform"], "enriched": true, "function": ["audio-processing", "gui", "cli"], "health_score": 37, "homepage": null, "language": "Python", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["casualsnek/onthespot"], "name": "casualsnek/onthespot", "platform": ["windows", "python", "cross-platform"], "pushed_at": "2025-06-14T10:00:28+00:00", "repo": "casualsnek/onthespot", "stars": 1250, "tags": ["music-downloader", "qt", "spotify-downloader", "ffmpeg", "audio-player", "audio", "linux", "macos"], "topics": ["audio-player", "python", "python3"], "urls": [], "use_cases": ["download music tracks to mp3 or other local formats", "batch download songs with a desktop gui", "convert streamed music to local audio files with ffmpeg", "run a portable music downloader on windows without installing", "install a music downloader from the AUR on arch linux"], "what_it_is": "Onthespot is a Qt-based GUI music downloader written in Python that downloads and converts tracks to local audio files. It ships as prebuilt binaries for Linux and Windows and can also be run from source.", "when_to_avoid": ["you need a headless or CLI-only downloader for servers", "you want a lightweight tool without Qt or ffmpeg dependencies", "downloading copyrighted music may be illegal in your jurisdiction"], "when_to_choose": ["you want a graphical, cross-platform music downloader with prebuilt binaries", "you prefer a Python-based tool you can run from source or customize", "you need ffmpeg-based conversion bundled or configurable"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/onthespot", "repo": "casualsnek/onthespot", "role": "main", "score": 34}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.026921+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.876799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d55dda45da7cbedb91590fc09e6b3c20a36867c2d09576bb98851f1be7467a9d", "fetched_at": "2026-08-28T04:04:08.026921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casualsnek/onthespot"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.026921+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.876799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d55dda45da7cbedb91590fc09e6b3c20a36867c2d09576bb98851f1be7467a9d", "fetched_at": "2026-08-28T04:04:08.026921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casualsnek/onthespot"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.876799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d55dda45da7cbedb91590fc09e6b3c20a36867c2d09576bb98851f1be7467a9d", "fetched_at": "2026-08-28T04:04:08.026921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casualsnek/onthespot"}], "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:08.026921+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.026921+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.026921+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.876799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d55dda45da7cbedb91590fc09e6b3c20a36867c2d09576bb98851f1be7467a9d", "fetched_at": "2026-08-28T04:04:08.026921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casualsnek/onthespot"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.026921+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.026921+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.876799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d55dda45da7cbedb91590fc09e6b3c20a36867c2d09576bb98851f1be7467a9d", "fetched_at": "2026-08-28T04:04:08.026921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casualsnek/onthespot"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.026921+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.026921+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.026921+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.876799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d55dda45da7cbedb91590fc09e6b3c20a36867c2d09576bb98851f1be7467a9d", "fetched_at": "2026-08-28T04:04:08.026921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casualsnek/onthespot"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.026921+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.026921+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.876799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d55dda45da7cbedb91590fc09e6b3c20a36867c2d09576bb98851f1be7467a9d", "fetched_at": "2026-08-28T04:04:08.026921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casualsnek/onthespot"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.876799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d55dda45da7cbedb91590fc09e6b3c20a36867c2d09576bb98851f1be7467a9d", "fetched_at": "2026-08-28T04:04:08.026921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casualsnek/onthespot"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.876799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d55dda45da7cbedb91590fc09e6b3c20a36867c2d09576bb98851f1be7467a9d", "fetched_at": "2026-08-28T04:04:08.026921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casualsnek/onthespot"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.876799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d55dda45da7cbedb91590fc09e6b3c20a36867c2d09576bb98851f1be7467a9d", "fetched_at": "2026-08-28T04:04:08.026921+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casualsnek/onthespot"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 26, "longevity": 100, "rhythm": 8}, "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": 1436, "days_push": 445, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 34, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}