Spud
A cross-platform, Spigot plugin manager that adheres to the Unix philosophy and Python best practices.
Some focuses of the project are:
-
Easy and simple commands (updating all your plugins is as simple as
spud update
) -
Unlike other options like pluGET, it adheres to Unix conventions and doesn't force you to use a GUI, making it easy to use in scripts.
-
Insisting upon readability, static type hinting, test-driven development, and consistent styling in the codebase.
-
Descriptive output and actionable error messages
Installation
Python 3.8 or later is required
Install with python -m pip install spud-mc
Run spud -h
to see all the options.
Example usages
-
Install a plugin:
spud install PluginName
-
Install a plugin without prompting for input:
spud -n install PluginName
-
Update all plugins in the working directory:
spud update
-
Update all plugins in
~/server/plugins
:spud -d ~/server/plugins update
-
Update plugin
myplugin.jar
:spud update myplugin.jar
Known Issues
-
Some resources have lots of filler in the title. e.g.
[1.8-1.17] ยท PluginName | ๐ ๐ ๐ | Epic Gaming Moments
. Spud tries its best to extract the plugin name, but it will fail if there is copious amounts of garbage in the title -
Spud can't update plugins it has not installed. Make sure to install the plugin with Spud first, so it can save a metadata file to the jar.
-
Spud can't install resources not listed on https://spigotmc.org
-
Spud can't install premium resources
Acknowledgements
Logo created by zach_can_draw