A Neovim plugin that automatically refactors Python imports when files or directories are moved or renamed.
Pymple.nvim is a Neovim plugin that automates Python import management. It automatically updates import statements when files or directories are moved or renamed, and provides a code-action-like feature to resolve missing imports for symbols under the cursor. This eliminates the manual effort of fixing broken imports after refactoring, a common pain point in Python development.
Python developers who use Neovim as their primary editor and want IDE-like import refactoring capabilities without leaving the editor. It's particularly useful for those working on larger projects where file structure changes are frequent.
Developers choose Pymple.nvim because it seamlessly integrates with popular Neovim file explorers, provides an interactive preview of changes before applying them, and works automatically with project discovery. It brings PyCharm-like import refactoring to the lightweight, customizable Neovim environment.
Refactor Python imports on file move/rename in Neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically hooks into popular Neovim file explorers like neo-tree and oil.nvim to trigger import updates on file moves, as shown in the example videos and supported list.
Resolves missing imports by searching workspace, virtual environments, and stdlib for symbols under cursor, then adds them with a keymap, reducing manual effort.
Provides a confirmation prompt and preview window before applying changes, allowing users to review and discard individual updates, ensuring precision.
Discovers Python project roots and virtual environments using configurable markers like pyproject.toml, scoping import operations correctly without manual setup.
Requires manual event forwarding for neo-tree in LazyVim setups, as detailed in the README snippet, adding extra steps beyond basic installation.
Full automatic updates only work with supported file explorers; otherwise, users must resort to manual commands, limiting seamless integration.
Exclusively handles Python imports, making it ineffective for polyglot projects where import management might be needed across languages.