{"adoption": {"forks": 54, "observed_at": "2026-08-28T04:04:36.263352+00:00", "stars": 1393}, "canonical_url": "https://ross.abutalabs.com/products/amoffat-snake", "card": {"archived": true, "artifact_type": "plugin", "description": "Full Python Scripting in Vim", "domain": ["text-editors", "developer-tools"], "enriched": true, "function": ["plugin-system", "developer-tools"], "health_score": 10, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["amoffat/snake"], "name": "amoffat/snake", "platform": ["windows", "editor-plugin", "python"], "pushed_at": "2022-03-29T04:11:05+00:00", "repo": "amoffat/snake", "stars": 1393, "tags": ["vim", "vim-plugin", "python-scripting", "editor-automation", "keybindings", "automation", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["write vim plugins in python", "bind a python function to a vim key mapping", "toggle word under cursor between snake-case and camel-case", "run python code when opening a specific filetype buffer", "expand dynamic abbreviations in insert mode", "simulate arbitrary key presses in vim from python"], "what_it_is": "Snake is a Python module for Vim that lets you write Vim plugins and editor enhancements entirely in Python. It provides decorators for key mappings, abbreviations, and filetype hooks, plus helpers for manipulating buffers and simulating keystrokes.", "when_to_avoid": ["your Vim lacks +python support", "you prefer Neovim's native Lua/Python remote plugin APIs", "you need an actively maintained plugin with a license"], "when_to_choose": ["you want to extend Vim using Python instead of Vimscript", "you need dynamic, programmable keymaps, abbreviations, or filetype hooks", "your Vim build includes +python support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/amoffat-snake", "repo": "amoffat/snake", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.263352+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:39:28.633984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8e1f45827a9e01954a8a4c57096ed7159a66549259c5db317f0e48c09692af39", "fetched_at": "2026-08-28T04:04:36.263352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/amoffat/snake"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.263352+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:39:28.633984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8e1f45827a9e01954a8a4c57096ed7159a66549259c5db317f0e48c09692af39", "fetched_at": "2026-08-28T04:04:36.263352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/amoffat/snake"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:39:28.633984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8e1f45827a9e01954a8a4c57096ed7159a66549259c5db317f0e48c09692af39", "fetched_at": "2026-08-28T04:04:36.263352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/amoffat/snake"}], "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:36.263352+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.263352+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.263352+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:39:28.633984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8e1f45827a9e01954a8a4c57096ed7159a66549259c5db317f0e48c09692af39", "fetched_at": "2026-08-28T04:04:36.263352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/amoffat/snake"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.263352+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.263352+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:39:28.633984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8e1f45827a9e01954a8a4c57096ed7159a66549259c5db317f0e48c09692af39", "fetched_at": "2026-08-28T04:04:36.263352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/amoffat/snake"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.263352+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.263352+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.263352+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:39:28.633984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8e1f45827a9e01954a8a4c57096ed7159a66549259c5db317f0e48c09692af39", "fetched_at": "2026-08-28T04:04:36.263352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/amoffat/snake"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.263352+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.263352+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:39:28.633984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8e1f45827a9e01954a8a4c57096ed7159a66549259c5db317f0e48c09692af39", "fetched_at": "2026-08-28T04:04:36.263352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/amoffat/snake"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:39:28.633984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8e1f45827a9e01954a8a4c57096ed7159a66549259c5db317f0e48c09692af39", "fetched_at": "2026-08-28T04:04:36.263352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/amoffat/snake"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:39:28.633984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8e1f45827a9e01954a8a4c57096ed7159a66549259c5db317f0e48c09692af39", "fetched_at": "2026-08-28T04:04:36.263352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/amoffat/snake"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:39:28.633984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8e1f45827a9e01954a8a4c57096ed7159a66549259c5db317f0e48c09692af39", "fetched_at": "2026-08-28T04:04:36.263352+00:00", "kind": "readme", "missing": false, "url": "https://github.com/amoffat/snake"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4252, "days_push": 1618, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}