skillfed

neovim

Transition packgage for pynvim

neovim v0.3.1 86.5K downloads/30d#13,861 on PyPI1,703
Permissive license Apache Active released

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

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

neovim on PyPI

pip

pip install neovim

uv

uv add neovim

poetry

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

neovim python clientpython plugins for nvimneovim remote pluginsnvim scripting librarypython neovim apivim python integrationneovim rpc client
editor-automationplugin-development

More Terminals packages