neovim
Transition packgage for pynvim
Decision gist · record as of 2026-08-14
Yes, if you are actively developing Neovim plugins or scripting Neovim from Python. The package is actively maintained and permissively licensed. However, the gap between the latest PyPI release (2018-11-17) and current repository activity creates uncertainty about version currency. Verify that version 0.3.1 is compatible with your Neovim version before committing. Installation requires a pre-existing Neovim binary, which adds friction.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Neovim binary installed on the system and Python 3.10 or later.
- Neovim must be running or launched separately (e.g., `nvim --listen /tmp/nvim.sock`).
- Installation requires a compiled Neovim binary (neovim-0.3.1.tar.gz) as a system dependency, creating high friction.
License · maintenance · safety
Apache (permissive) — Licensed under Apache (permissive), allowing commercial and private use with minimal restrictions. No notable licensing constraints for most use cases.
last release 2018-11-17 (2827 days) · last repo commit 2026-04-10 · 1,703 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 86,455 downloads/mo, #13,861 on PyPI
Alternatives
Verify before relying
# Install: requires Neovim binary already installed
pip install neovim
# Connect to running Neovim instance
import pynvim
nvim = pynvim.attach('socket', path='/tmp/nvim.sock')
buffer = nvim.current.buffer
buffer[0] = 'replace first line'- Whether the 2018-11-17 release date reflects actual staleness or if PyPI metadata is outdated given active repository commits through 2026.
- Compatibility and feature parity between version 0.3.1 and current Neovim releases.
- Whether uv or pipx installation paths are recommended over standard pip installation.
What it is and what it does
This package bridges Python and Neovim, enabling two main workflows: writing Python remote plugins that integrate with Neovim's plugin system, and scripting Neovim from Python by connecting to a running instance or embedding one. It exposes Neovim's msgpack-rpc API to Python, allowing access to buffers, windows, variables, and Vimscript/Lua functions. The package has no runtime dependencies beyond Neovim itself, but requires the Neovim binary to be installed separately on your system.
The library supports both synchronous and asynchronous operations, thread-safe requests, and can be used interactively from the Python REPL or embedded in larger applications. It also enables the `:python3` Vim feature in Neovim, allowing Vimscript to call Python code. A known limitation exists: Vimscript dictionaries accessed from Python are copies, not references, so modifications must be reassigned as whole objects rather than mutated in place.
Use it for
- Write Python remote plugins for Neovim that handle Vimscript function calls, define commands, and run asynchronously.
- Automate Neovim from Python scripts by connecting to a running instance and manipulating buffers and editor state.
- Embed Neovim as a headless text editor component in a Python application using child process attachment.
- Interactively explore and test Neovim's API from the Python REPL by attaching to a running instance.
- Call Lua functions and Vimscript functions from Python code via exec_lua and funcs interfaces.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are actively developing Neovim plugins or scripting Neovim from Python.
The package is actively maintained and permissively licensed. However, the gap between the latest PyPI release (2018-11-17) and current repository activity creates uncertainty about version currency. Verify that version 0.3.1 is compatible with your Neovim version before committing. Installation requires a pre-existing Neovim binary, which adds friction.
Install
neovim on PyPI
Before you install
Installation requires a compiled Neovim binary (neovim-0.3.1.tar.gz) as a system dependency, creating high friction. The repository is actively maintained with recent commits, but the latest PyPI release dates to 2018-11-17, creating uncertainty about version currency despite ongoing repository activity.
Requires Neovim binary installed on the system and Python 3.10 or later. Neovim must be running or launched separately (e.g., `nvim --listen /tmp/nvim.sock`).
License in practice
Licensed under Apache (permissive), allowing commercial and private use with minimal restrictions. No notable licensing constraints for most use cases.
Quickstart
# Install: requires Neovim binary already installed
pip install neovim
# Connect to running Neovim instance
import pynvim
nvim = pynvim.attach('socket', path='/tmp/nvim.sock')
buffer = nvim.current.buffer
buffer[0] = 'replace first line'
Verify before relying
- Whether the 2018-11-17 release date reflects actual staleness or if PyPI metadata is outdated given active repository commits through 2026.
- Compatibility and feature parity between version 0.3.1 and current Neovim releases.
- Whether uv or pipx installation paths are recommended over standard pip installation.
Package facts
| License | Apache permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Actively maintained 2,827 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 86,455 / month, #13,861 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: neovim-0.3.1.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “neovim python client”
- neovimA Python client library that enables Python plugins in Neovim and…
- pynvimPynvim is a Python client library that enables Python plugins for…
- ruff-lspProvides a Language Server Protocol bridge to Ruff, enabling linting,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Terminals packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Rich renders styled text, tables, progress bars, syntax highlighting, markdown, and tracebacks to the terminal with minimal code.
Colorama makes ANSI escape sequences for colored terminal text work on Windows by intercepting and converting them to win32 API calls, while passing through unchanged on other platforms.
Install it if you need colored terminal output to work on Windows or want to use ANSI-based libraries portably; skip it only if you target non-Windows platforms…
Measures the displayed width of Unicode strings in terminals, accounting for wide characters, combining marks, and terminal escape sequences that standard Python string functions mishandle.
Install it if your application formats text for terminals and handles non-ASCII characters.
Run a subprocess in a pseudo terminal (pty) and interact with its input and output, enabling automation of interactive programs that require terminal features like password prompts or curses-style interfaces.
However, note that it is aging (last release 2020-12-28) and not actively maintained; it works well for its narrow, well-defined purpose but won't receive updates for…
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
See also pynvim · virtualenv-clone · clang-format · ruff-lsp · tclint · bump-my-version · pynng · tbump · crawlerdetect · pyvim