{"adoption": {"forks": 91, "observed_at": "2026-08-28T04:03:21.258895+00:00", "stars": 1044}, "canonical_url": "https://ross.abutalabs.com/products/onetagger", "card": {"archived": false, "artifact_type": "application", "description": "Music tagger for Windows, MacOS and Linux with Beatport, Discogs, Musicbrainz, Spotify, Traxsource and many other platforms support. ", "domain": ["media", "audio", "desktop-applications"], "enriched": true, "function": ["audio-processing", "gui", "developer-tools"], "health_score": 62, "homepage": "https://onetagger.github.io/", "language": "Rust", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["Marekkon5/onetagger"], "name": "Marekkon5/onetagger", "platform": ["windows", "cross-platform"], "pushed_at": "2026-02-13T21:39:53+00:00", "repo": "Marekkon5/onetagger", "stars": 1044, "tags": ["music-tagger", "dj-tools", "id3-tags", "beatport", "discogs", "spotify", "shazam", "audio-metadata", "rust", "vuejs", "automation", "macos", "linux", "desktop"], "topics": ["dj", "music", "music-tagger", "music-tagging", "rust"], "urls": [], "use_cases": ["automatically tag my DJ music library from Beatport and Discogs", "fetch Spotify audio features like energy and mood for my tracks", "identify unknown tracks with Shazam and tag them", "quickly tag songs with genre and mood using keyboard shortcuts", "batch rename music files based on their tags", "fix missing metadata on MP3, FLAC, AIFF and M4A files", "tag a large music library before importing into Rekordbox or Serato"], "what_it_is": "OneTagger is a free, open-source, cross-platform desktop music tagger for DJs built with Rust and Vue.js. It automatically fetches metadata from platforms like Beatport, Traxsource, Juno Download, Discogs, MusicBrainz, iTunes, Beatsource, and Spotify, and includes manual quick-tagging, audio features, and file renaming tools.", "when_to_avoid": ["you only need a lightweight command-line tag editor for simple scripts", "you need tagging for video files or unsupported audio formats", "you require a mobile or web-based tagging solution", "you need a music player or library manager rather than a tagger"], "when_to_choose": ["you are a DJ or collector with a large local music library needing accurate metadata", "you want free cross-platform tagging with multiple online metadata sources", "you need Spotify audio features (energy, mood, danceability) written into tags", "you want fast keyboard-driven manual tagging alongside automatic tagging"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/onetagger", "repo": "Marekkon5/onetagger", "role": "main", "score": 53}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.258895+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.865860+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47e17847f23e4276d709cf1544a25ca426c1ca203c346e1c59225f7f7f75742e", "fetched_at": "2026-08-28T04:03:21.258895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Marekkon5/onetagger"}, {"content_hash": "bf4d2272f8c63d2bad2a15dfd733670ca704efaf875c8e29706221b96ec297ba", "fetched_at": "2026-08-29T13:03:07.200239+00:00", "kind": "homepage", "missing": false, "url": "https://onetagger.github.io/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.258895+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.865860+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47e17847f23e4276d709cf1544a25ca426c1ca203c346e1c59225f7f7f75742e", "fetched_at": "2026-08-28T04:03:21.258895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Marekkon5/onetagger"}, {"content_hash": "bf4d2272f8c63d2bad2a15dfd733670ca704efaf875c8e29706221b96ec297ba", "fetched_at": "2026-08-29T13:03:07.200239+00:00", "kind": "homepage", "missing": false, "url": "https://onetagger.github.io/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.865860+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47e17847f23e4276d709cf1544a25ca426c1ca203c346e1c59225f7f7f75742e", "fetched_at": "2026-08-28T04:03:21.258895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Marekkon5/onetagger"}, {"content_hash": "bf4d2272f8c63d2bad2a15dfd733670ca704efaf875c8e29706221b96ec297ba", "fetched_at": "2026-08-29T13:03:07.200239+00:00", "kind": "homepage", "missing": false, "url": "https://onetagger.github.io/"}], "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:21.258895+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.258895+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.258895+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.865860+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47e17847f23e4276d709cf1544a25ca426c1ca203c346e1c59225f7f7f75742e", "fetched_at": "2026-08-28T04:03:21.258895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Marekkon5/onetagger"}, {"content_hash": "bf4d2272f8c63d2bad2a15dfd733670ca704efaf875c8e29706221b96ec297ba", "fetched_at": "2026-08-29T13:03:07.200239+00:00", "kind": "homepage", "missing": false, "url": "https://onetagger.github.io/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.258895+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.258895+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.865860+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47e17847f23e4276d709cf1544a25ca426c1ca203c346e1c59225f7f7f75742e", "fetched_at": "2026-08-28T04:03:21.258895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Marekkon5/onetagger"}, {"content_hash": "bf4d2272f8c63d2bad2a15dfd733670ca704efaf875c8e29706221b96ec297ba", "fetched_at": "2026-08-29T13:03:07.200239+00:00", "kind": "homepage", "missing": false, "url": "https://onetagger.github.io/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.258895+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.258895+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.258895+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.865860+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47e17847f23e4276d709cf1544a25ca426c1ca203c346e1c59225f7f7f75742e", "fetched_at": "2026-08-28T04:03:21.258895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Marekkon5/onetagger"}, {"content_hash": "bf4d2272f8c63d2bad2a15dfd733670ca704efaf875c8e29706221b96ec297ba", "fetched_at": "2026-08-29T13:03:07.200239+00:00", "kind": "homepage", "missing": false, "url": "https://onetagger.github.io/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.258895+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.258895+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.865860+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47e17847f23e4276d709cf1544a25ca426c1ca203c346e1c59225f7f7f75742e", "fetched_at": "2026-08-28T04:03:21.258895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Marekkon5/onetagger"}, {"content_hash": "bf4d2272f8c63d2bad2a15dfd733670ca704efaf875c8e29706221b96ec297ba", "fetched_at": "2026-08-29T13:03:07.200239+00:00", "kind": "homepage", "missing": false, "url": "https://onetagger.github.io/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.865860+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47e17847f23e4276d709cf1544a25ca426c1ca203c346e1c59225f7f7f75742e", "fetched_at": "2026-08-28T04:03:21.258895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Marekkon5/onetagger"}, {"content_hash": "bf4d2272f8c63d2bad2a15dfd733670ca704efaf875c8e29706221b96ec297ba", "fetched_at": "2026-08-29T13:03:07.200239+00:00", "kind": "homepage", "missing": false, "url": "https://onetagger.github.io/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.865860+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47e17847f23e4276d709cf1544a25ca426c1ca203c346e1c59225f7f7f75742e", "fetched_at": "2026-08-28T04:03:21.258895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Marekkon5/onetagger"}, {"content_hash": "bf4d2272f8c63d2bad2a15dfd733670ca704efaf875c8e29706221b96ec297ba", "fetched_at": "2026-08-29T13:03:07.200239+00:00", "kind": "homepage", "missing": false, "url": "https://onetagger.github.io/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:02:10.865860+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47e17847f23e4276d709cf1544a25ca426c1ca203c346e1c59225f7f7f75742e", "fetched_at": "2026-08-28T04:03:21.258895+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Marekkon5/onetagger"}, {"content_hash": "bf4d2272f8c63d2bad2a15dfd733670ca704efaf875c8e29706221b96ec297ba", "fetched_at": "2026-08-29T13:03:07.200239+00:00", "kind": "homepage", "missing": false, "url": "https://onetagger.github.io/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 67, "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": 1987, "days_push": 201, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 53, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}