{"adoption": {"forks": 39, "observed_at": "2026-08-28T04:03:19.765846+00:00", "stars": 1038}, "canonical_url": "https://ross.abutalabs.com/products/semshi", "card": {"archived": false, "artifact_type": "plugin", "description": "🌈 Semantic Highlighting for Python in Neovim", "domain": ["developer-tools", "text-editors", "programming-languages"], "enriched": true, "function": ["editor", "developer-tools"], "health_score": 20, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["numirias/semshi"], "name": "numirias/semshi", "platform": ["editor-plugin", "cli", "cross-platform"], "pushed_at": "2022-09-19T06:55:24+00:00", "repo": "numirias/semshi", "stars": 1038, "tags": ["neovim", "semantic-highlighting", "python", "syntax-highlighting", "static-analysis", "vim-plugin"], "topics": ["python", "neovim-plugin", "syntax-highlighting", "neovim", "nvim", "vim"], "urls": [], "use_cases": ["highlight python code semantically in neovim", "distinguish locals, globals, and attributes by color in vim", "find unresolved names and missing imports while editing python", "rename variables scope-aware in neovim", "jump between function and class definitions in python files", "see unused function parameters highlighted in the editor"], "what_it_is": "Semshi is a Neovim plugin that provides semantic highlighting for Python code. It performs static analysis as you type, building syntax trees and symbol tables to highlight names based on scope and context, and supports scope-aware renaming and navigation.", "when_to_avoid": ["you use Vim instead of Neovim, since it requires Neovim remote plugins and Python 3 support", "you need an actively maintained tool - the latest release dates to 2022", "you already rely on an LSP-based semantic highlighting setup"], "when_to_choose": ["you edit Python in Neovim and want richer, scope-aware highlighting than regex-based syntax", "you want visual cues for unused parameters, unresolved globals, or syntax errors", "you need scope-aware renaming and navigation for Python names"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/semshi", "repo": "numirias/semshi", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.765846+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.979944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "74ebe9e602ce87774881364d9d58fedb359a74bd4dd0c93d69d9273fc0f0e010", "fetched_at": "2026-08-28T04:03:19.765846+00:00", "kind": "readme", "missing": false, "url": "https://github.com/numirias/semshi"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.765846+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.979944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "74ebe9e602ce87774881364d9d58fedb359a74bd4dd0c93d69d9273fc0f0e010", "fetched_at": "2026-08-28T04:03:19.765846+00:00", "kind": "readme", "missing": false, "url": "https://github.com/numirias/semshi"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.979944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "74ebe9e602ce87774881364d9d58fedb359a74bd4dd0c93d69d9273fc0f0e010", "fetched_at": "2026-08-28T04:03:19.765846+00:00", "kind": "readme", "missing": false, "url": "https://github.com/numirias/semshi"}], "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:19.765846+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.765846+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.765846+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.979944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "74ebe9e602ce87774881364d9d58fedb359a74bd4dd0c93d69d9273fc0f0e010", "fetched_at": "2026-08-28T04:03:19.765846+00:00", "kind": "readme", "missing": false, "url": "https://github.com/numirias/semshi"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.765846+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.765846+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.979944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "74ebe9e602ce87774881364d9d58fedb359a74bd4dd0c93d69d9273fc0f0e010", "fetched_at": "2026-08-28T04:03:19.765846+00:00", "kind": "readme", "missing": false, "url": "https://github.com/numirias/semshi"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.765846+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.765846+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.765846+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.979944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "74ebe9e602ce87774881364d9d58fedb359a74bd4dd0c93d69d9273fc0f0e010", "fetched_at": "2026-08-28T04:03:19.765846+00:00", "kind": "readme", "missing": false, "url": "https://github.com/numirias/semshi"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.765846+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.765846+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.979944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "74ebe9e602ce87774881364d9d58fedb359a74bd4dd0c93d69d9273fc0f0e010", "fetched_at": "2026-08-28T04:03:19.765846+00:00", "kind": "readme", "missing": false, "url": "https://github.com/numirias/semshi"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.979944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "74ebe9e602ce87774881364d9d58fedb359a74bd4dd0c93d69d9273fc0f0e010", "fetched_at": "2026-08-28T04:03:19.765846+00:00", "kind": "readme", "missing": false, "url": "https://github.com/numirias/semshi"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.979944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "74ebe9e602ce87774881364d9d58fedb359a74bd4dd0c93d69d9273fc0f0e010", "fetched_at": "2026-08-28T04:03:19.765846+00:00", "kind": "readme", "missing": false, "url": "https://github.com/numirias/semshi"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:04:17.979944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "74ebe9e602ce87774881364d9d58fedb359a74bd4dd0c93d69d9273fc0f0e010", "fetched_at": "2026-08-28T04:03:19.765846+00:00", "kind": "readme", "missing": false, "url": "https://github.com/numirias/semshi"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3122, "days_push": 1444, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}