--- id: neovim version: "0.3.1" license: Apache license_treatment: permissive maintenance: active --- # neovim — Transition packgage for pynvim License: permissive · Maintenance: active · Downloads: 86.5K/mo ## 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 above — verify before relying. A Python client library that enables Python plugins in Neovim and allows scripting Neovim processes through its msgpack-rpc API. 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 pip install neovim uv add neovim poetry add neovim ## Installing neovim 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. 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' 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`). 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: unspecified - Install friction: high - Maintenance: active - Downloads: 86.5K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags neovim python client, python plugins for nvim, neovim remote plugins, nvim scripting library, python neovim api, vim python integration, neovim rpc client, editor-automation, plugin-development [View on SkillFed](https://skillfed.io/packages/neovim) · [View on PyPI](https://pypi.org/project/neovim/)