# amoffat/snake

Full Python Scripting in Vim

Repository: https://github.com/amoffat/snake
Canonical: https://ross.abutalabs.com/products/amoffat-snake
Language: Python
License Family: other
Archived: true
Last push: 2022-03-29T04:11:05+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 4252, "days_push": 1618, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, archived, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1393, forks 54 (observed 2026-08-28T04:04:36.263352+00:00)

## 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.

## 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

## 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

## 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

## Facets
- artifact type: plugin
- maturity: maintenance
- function: plugin-system, developer-tools
- domain: text-editors, developer-tools
- platform: windows, editor-plugin, python
- tags: vim, vim-plugin, python-scripting, editor-automation, keybindings, automation, linux, macos

## Member repositories
- amoffat/snake (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:36.263352+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:39:28.633984+00:00, confidence not recorded.
  - readme: https://github.com/amoffat/snake (fetched 2026-08-28T04:04:36.263352+00:00, sha 8e1f45827a9e)
- Data as of 2026-08-30T08:39:29.467469+00:00.
