plenary.nvim is a Lua utility library for Neovim that provides reusable functions to avoid duplicating common code across plugins.
The library solves the problem of repetitive utility code in Neovim plugin development by offering a collection of Lua modules built on Neovim's native functions and libuv. Its core modules include async programming support via coroutines, job control for system processes, filesystem operations modeled after Python's pathlib, fast recursive directory scanning, and string manipulation utilities. The async module abstracts away callback complexity by using coroutines to enable straightforward asynchronous I/O and cooperative concurrency.
Developers building Neovim plugins should adopt this library if they need async operations, process management, or filesystem utilities without writing these abstractions themselves. It is usable with any recent version of Neovim but has no value outside that editor. The library is particularly suited for plugins that perform file operations or system calls, as demonstrated by its use in several established plugins like telescope.nvim and neo-tree.nvim.
The project is no longer actively maintained and will be archived, with critical bug fixes addressed only until mid-2026 and no new features planned. Development activity has ceased beyond maintenance of existing functionality.