{"adoption": {"forks": 144, "observed_at": "2026-08-28T04:04:45.766043+00:00", "stars": 1450}, "canonical_url": "https://ross.abutalabs.com/products/pyo", "card": {"archived": false, "artifact_type": "library", "description": "Python DSP module", "domain": ["media", "developer-tools"], "enriched": true, "function": ["audio-processing", "sdk"], "health_score": 76, "homepage": null, "language": "Python", "license": "LGPL-3.0", "license_family": "copyleft", "maturity": "stable", "member_repos": ["belangeo/pyo"], "name": "belangeo/pyo", "platform": ["python", "windows", "cross-platform"], "pushed_at": "2026-07-20T17:13:45+00:00", "repo": "belangeo/pyo", "stars": 1450, "tags": ["dsp", "synthesis", "music", "real-time-audio", "osc", "midi", "granular-synthesis", "sound-design", "audio", "macos", "linux"], "topics": ["pyo", "signal-processing", "radio-pyo", "sound", "python", "dsp", "c", "audio", "music", "synthesis"], "urls": [], "use_cases": ["generate and process audio in real time from Python scripts", "build synthesis and effects chains for music production", "create granular sound textures and creative audio manipulations", "control audio parameters via MIDI or OSC", "build sound stimuli for psychology and neuroscience experiments", "prototype DSP algorithms interactively in the Python interpreter"], "what_it_is": "Pyo is a Python module written in C providing classes for a wide variety of audio digital signal processing, usable directly in Python scripts with real-time manipulation via the interpreter. It includes primitives like filters, delays, and synthesis generators, plus advanced algorithms such as sound granulation, with OSC and MIDI support.", "when_to_avoid": ["you need offline-only audio file editing rather than real-time processing", "you require a non-Python environment or a DAW plugin format", "you need a pure-Python dependency-free solution"], "when_to_choose": ["you need real-time audio DSP embedded in Python", "you want synthesis, filtering, and granulation primitives with OSC/MIDI support", "you're building interactive music or sound art applications in Python"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pyo", "repo": "belangeo/pyo", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.766043+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:35:54.767597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3d9834935d9bd7fcee5f7ca017d4586d1195ade0ae83224178f7b9febc596d2", "fetched_at": "2026-08-28T04:04:45.766043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/belangeo/pyo"}, {"content_hash": "15cfa2d40b84de7eebfd87aa4b8f836d142e0187e4a7befd1dc40ee393a1524b", "fetched_at": "2026-08-29T11:45:22.317044+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pyo/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.766043+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:35:54.767597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3d9834935d9bd7fcee5f7ca017d4586d1195ade0ae83224178f7b9febc596d2", "fetched_at": "2026-08-28T04:04:45.766043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/belangeo/pyo"}, {"content_hash": "15cfa2d40b84de7eebfd87aa4b8f836d142e0187e4a7befd1dc40ee393a1524b", "fetched_at": "2026-08-29T11:45:22.317044+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pyo/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:35:54.767597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3d9834935d9bd7fcee5f7ca017d4586d1195ade0ae83224178f7b9febc596d2", "fetched_at": "2026-08-28T04:04:45.766043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/belangeo/pyo"}, {"content_hash": "15cfa2d40b84de7eebfd87aa4b8f836d142e0187e4a7befd1dc40ee393a1524b", "fetched_at": "2026-08-29T11:45:22.317044+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pyo/json"}], "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:45.766043+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.766043+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.766043+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:35:54.767597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3d9834935d9bd7fcee5f7ca017d4586d1195ade0ae83224178f7b9febc596d2", "fetched_at": "2026-08-28T04:04:45.766043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/belangeo/pyo"}, {"content_hash": "15cfa2d40b84de7eebfd87aa4b8f836d142e0187e4a7befd1dc40ee393a1524b", "fetched_at": "2026-08-29T11:45:22.317044+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pyo/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.766043+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.766043+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:35:54.767597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3d9834935d9bd7fcee5f7ca017d4586d1195ade0ae83224178f7b9febc596d2", "fetched_at": "2026-08-28T04:04:45.766043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/belangeo/pyo"}, {"content_hash": "15cfa2d40b84de7eebfd87aa4b8f836d142e0187e4a7befd1dc40ee393a1524b", "fetched_at": "2026-08-29T11:45:22.317044+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pyo/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.766043+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.766043+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.766043+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:35:54.767597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3d9834935d9bd7fcee5f7ca017d4586d1195ade0ae83224178f7b9febc596d2", "fetched_at": "2026-08-28T04:04:45.766043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/belangeo/pyo"}, {"content_hash": "15cfa2d40b84de7eebfd87aa4b8f836d142e0187e4a7befd1dc40ee393a1524b", "fetched_at": "2026-08-29T11:45:22.317044+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pyo/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.766043+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.766043+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:35:54.767597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3d9834935d9bd7fcee5f7ca017d4586d1195ade0ae83224178f7b9febc596d2", "fetched_at": "2026-08-28T04:04:45.766043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/belangeo/pyo"}, {"content_hash": "15cfa2d40b84de7eebfd87aa4b8f836d142e0187e4a7befd1dc40ee393a1524b", "fetched_at": "2026-08-29T11:45:22.317044+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pyo/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:35:54.767597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3d9834935d9bd7fcee5f7ca017d4586d1195ade0ae83224178f7b9febc596d2", "fetched_at": "2026-08-28T04:04:45.766043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/belangeo/pyo"}, {"content_hash": "15cfa2d40b84de7eebfd87aa4b8f836d142e0187e4a7befd1dc40ee393a1524b", "fetched_at": "2026-08-29T11:45:22.317044+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pyo/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:35:54.767597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3d9834935d9bd7fcee5f7ca017d4586d1195ade0ae83224178f7b9febc596d2", "fetched_at": "2026-08-28T04:04:45.766043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/belangeo/pyo"}, {"content_hash": "15cfa2d40b84de7eebfd87aa4b8f836d142e0187e4a7befd1dc40ee393a1524b", "fetched_at": "2026-08-29T11:45:22.317044+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pyo/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:35:54.767597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3d9834935d9bd7fcee5f7ca017d4586d1195ade0ae83224178f7b9febc596d2", "fetched_at": "2026-08-28T04:04:45.766043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/belangeo/pyo"}, {"content_hash": "15cfa2d40b84de7eebfd87aa4b8f836d142e0187e4a7befd1dc40ee393a1524b", "fetched_at": "2026-08-29T11:45:22.317044+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/pyo/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4026, "days_push": 44, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}