Skip to content

mgierada/pybumper.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pybumper.nvim

A wrapper around the poetry commands for nvim 🔌

Lua

License Status Neovim

✨ Features

  • ✨ Display latest dependency versions as virtual text.
  • ✨ Install any available dependency from a drop down list based on a current line.
  • ✨ Add any new valid dependency.
  • ✨ Upgrade dependency on a current line.
  • ✨ Remove any dependency.
  • 🏗 Automatic package manager detection (poetry supported at this moment. Support for requirements.txt would be added later.).
  • 🏗 Loading animation hook (to be placed in status bar or anywhere else).

🔌 Available commands

Display virtual_text with info about the latest versions of dependencies.

Click to expand

Hide or show available version on demand

Click to expand

Install any valid dependency

Click to expand

Delete any dependency for the current line

Click to expand

Change version of any dependency from the current line

Click to expand

⚡️Requirements

It should work with any fairly modern python tech stack. I tested that for the following:

  • neovim >= 0.9 and nightly 0.10-dev releases
  • poetry >= 1.5.1
  • python >= 3.10.8
  • pip >= 23.2.1

💻 Installation

Install with your favourite package manager

Lazy

  -- Pybumper
  {
    "mgierada/pybumber.nvim",
    dependencies = { "MunifTanjim/nui.nvim" },
    config = function() require("pybumper").setup {} end,
    event = "BufRead",
  },

⚙️ Configuration

The pybumper.nvim comes up with the following configuration. Any of of those can be easily overridden by providing a config to setup function.

{
	colors = {
		up_to_date = "#3C4048",
		outdated = "#d19a66",
	},
	icons = {
		enable = true,
		style = {
			up_to_date = "|  ",
			outdated = "|  ",
		},
	},
	autostart = true,
	package_manager = constants.PACKAGE_MANAGERS.poetry,
	hide_up_to_date = false,
	hide_unstable_versions = false,
},

💡 Inspiration

This plugin is inspired by package.info.nvim which is designed to work in the JavaScript/TypeScript environment.

About

📦 Packages bumper for python projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages