{"adoption": {"forks": 373, "observed_at": "2026-08-28T04:05:01.881302+00:00", "stars": 1548}, "canonical_url": "https://ross.abutalabs.com/products/python-midi", "card": {"archived": false, "artifact_type": "library", "description": "Python MIDI library", "domain": ["audio", "developer-tools"], "enriched": true, "function": ["audio-processing", "parser", "serialization"], "health_score": 63, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["vishnubob/python-midi"], "name": "vishnubob/python-midi", "platform": ["python", "cross-platform"], "pushed_at": "2026-03-08T21:28:46+00:00", "repo": "vishnubob/python-midi", "stars": 1548, "tags": ["midi", "music", "audio-files", "sequencing", "audio"], "topics": [], "urls": [], "use_cases": ["parse midi files in python", "generate midi tracks programmatically", "read and write .mid files", "manipulate midi events and tempo maps", "build midi files from scratch", "dump midi file contents for inspection"], "what_it_is": "A Python library for reading, writing, and manipulating MIDI files and event streams. It provides high-level object-oriented abstractions for MIDI events, multi-track patterns, tempo maps, and file I/O independent of hardware.", "when_to_avoid": ["you need real-time MIDI hardware input/output or live performance control", "you need audio synthesis or playback of MIDI to sound", "you need a maintained library with broad community support"], "when_to_choose": ["you need to programmatically create, edit, or analyze MIDI files in Python", "you want hardware-independent MIDI event manipulation with tempo tracking", "you need a high-level object model for MIDI patterns and tracks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/python-midi", "repo": "vishnubob/python-midi", "role": "main", "score": 64}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:01.881302+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:30:26.921816+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "984975a80202bc1e1f84fa0a46633dbbf98d490ff32dea804eb46d4187b2aeea", "fetched_at": "2026-08-28T04:05:01.881302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vishnubob/python-midi"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:01.881302+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:30:26.921816+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "984975a80202bc1e1f84fa0a46633dbbf98d490ff32dea804eb46d4187b2aeea", "fetched_at": "2026-08-28T04:05:01.881302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vishnubob/python-midi"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:30:26.921816+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "984975a80202bc1e1f84fa0a46633dbbf98d490ff32dea804eb46d4187b2aeea", "fetched_at": "2026-08-28T04:05:01.881302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vishnubob/python-midi"}], "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:05:01.881302+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:01.881302+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:01.881302+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:30:26.921816+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "984975a80202bc1e1f84fa0a46633dbbf98d490ff32dea804eb46d4187b2aeea", "fetched_at": "2026-08-28T04:05:01.881302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vishnubob/python-midi"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:01.881302+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:01.881302+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:30:26.921816+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "984975a80202bc1e1f84fa0a46633dbbf98d490ff32dea804eb46d4187b2aeea", "fetched_at": "2026-08-28T04:05:01.881302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vishnubob/python-midi"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:01.881302+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:01.881302+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:01.881302+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:30:26.921816+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "984975a80202bc1e1f84fa0a46633dbbf98d490ff32dea804eb46d4187b2aeea", "fetched_at": "2026-08-28T04:05:01.881302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vishnubob/python-midi"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:01.881302+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:01.881302+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:30:26.921816+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "984975a80202bc1e1f84fa0a46633dbbf98d490ff32dea804eb46d4187b2aeea", "fetched_at": "2026-08-28T04:05:01.881302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vishnubob/python-midi"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:30:26.921816+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "984975a80202bc1e1f84fa0a46633dbbf98d490ff32dea804eb46d4187b2aeea", "fetched_at": "2026-08-28T04:05:01.881302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vishnubob/python-midi"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:30:26.921816+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "984975a80202bc1e1f84fa0a46633dbbf98d490ff32dea804eb46d4187b2aeea", "fetched_at": "2026-08-28T04:05:01.881302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vishnubob/python-midi"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:30:26.921816+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "984975a80202bc1e1f84fa0a46633dbbf98d490ff32dea804eb46d4187b2aeea", "fetched_at": "2026-08-28T04:05:01.881302+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vishnubob/python-midi"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 71, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5614, "days_push": 178, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 64, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}