{"adoption": {"forks": 117, "observed_at": "2026-08-28T04:04:21.184685+00:00", "stars": 1319}, "canonical_url": "https://ross.abutalabs.com/products/music-metadata", "card": {"archived": false, "artifact_type": "library", "description": "Metadata parser for audio and video media files. Supports file and stream inputs in Node.js and browser environments, extracting format, tag, and duration information.", "domain": ["media", "developer-tools", "files"], "enriched": true, "function": ["parser", "file-system", "audio-processing"], "health_score": 100, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Borewit/music-metadata"], "name": "Borewit/music-metadata", "platform": ["browser", "cross-platform"], "pushed_at": "2026-08-25T06:04:19+00:00", "repo": "Borewit/music-metadata", "stars": 1319, "tags": ["audio-metadata", "id3", "music-library", "streaming-parser", "typescript", "audio", "nodejs", "javascript"], "topics": ["metadata", "musicbrainz", "picard", "tag", "tags", "id3", "flac", "mp3", "mp4", "vorbis", "ogg", "aiff", "ape", "asf", "wav", "opus", "audio", "m4a", "musepack", "dsd"], "urls": [], "use_cases": ["read id3 tags from mp3 files in node", "extract duration and format info from audio files", "parse flac vorbis metadata in the browser", "build a music library app that reads track tags", "scan large audio files for metadata via streams", "get album art and artist info from m4a files"], "what_it_is": "A TypeScript library for parsing metadata from audio and video media files, extracting format, tag, and duration information. It supports file and stream inputs and works in both Node.js and browser environments.", "when_to_avoid": ["you need to write or edit tags rather than just read them", "you work outside the JavaScript/Node.js ecosystem", "you need CommonJS-only environments without ESM support"], "when_to_choose": ["you need to read audio/video metadata in JavaScript or TypeScript", "you must handle large files efficiently via streaming", "you need broad format coverage like MP3, FLAC, MP4, Ogg, WAV", "you want a promise-based API for async workflows"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/music-metadata", "repo": "Borewit/music-metadata", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.184685+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:47:52.336731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4be47e80a549036f0e22adfa2aae00de6bf72ff3421dda82314ff9140b2d1e84", "fetched_at": "2026-08-28T04:04:21.184685+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Borewit/music-metadata"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.184685+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:47:52.336731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4be47e80a549036f0e22adfa2aae00de6bf72ff3421dda82314ff9140b2d1e84", "fetched_at": "2026-08-28T04:04:21.184685+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Borewit/music-metadata"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:47:52.336731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4be47e80a549036f0e22adfa2aae00de6bf72ff3421dda82314ff9140b2d1e84", "fetched_at": "2026-08-28T04:04:21.184685+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Borewit/music-metadata"}], "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:21.184685+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.184685+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.184685+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:47:52.336731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4be47e80a549036f0e22adfa2aae00de6bf72ff3421dda82314ff9140b2d1e84", "fetched_at": "2026-08-28T04:04:21.184685+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Borewit/music-metadata"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.184685+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.184685+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:47:52.336731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4be47e80a549036f0e22adfa2aae00de6bf72ff3421dda82314ff9140b2d1e84", "fetched_at": "2026-08-28T04:04:21.184685+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Borewit/music-metadata"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.184685+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.184685+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.184685+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:47:52.336731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4be47e80a549036f0e22adfa2aae00de6bf72ff3421dda82314ff9140b2d1e84", "fetched_at": "2026-08-28T04:04:21.184685+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Borewit/music-metadata"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.184685+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:21.184685+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:47:52.336731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4be47e80a549036f0e22adfa2aae00de6bf72ff3421dda82314ff9140b2d1e84", "fetched_at": "2026-08-28T04:04:21.184685+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Borewit/music-metadata"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:47:52.336731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4be47e80a549036f0e22adfa2aae00de6bf72ff3421dda82314ff9140b2d1e84", "fetched_at": "2026-08-28T04:04:21.184685+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Borewit/music-metadata"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:47:52.336731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4be47e80a549036f0e22adfa2aae00de6bf72ff3421dda82314ff9140b2d1e84", "fetched_at": "2026-08-28T04:04:21.184685+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Borewit/music-metadata"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:47:52.336731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4be47e80a549036f0e22adfa2aae00de6bf72ff3421dda82314ff9140b2d1e84", "fetched_at": "2026-08-28T04:04:21.184685+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Borewit/music-metadata"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 98}, "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": 3589, "days_push": 8, "days_rel": 15, "gap_med": 5.0, "n_releases_24m": 59}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}