A CLI Spigot plugin manager that adheres to Unix conventions and Python best practices.
GPL-3.0 License
The 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
)
Adherence to Unix conventions and no forced interactivity, which unlike other options like pluGET, makes Spud easy to use in scripts.
Readability, static type hinting, test-driven development, and consistent styling in the codebase.
Descriptive and greppable output with actionable error messages
Python 3.8 or later is required
Install with python -m pip install spud-mc
Run spud -h
to see all the options.
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
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
git clone [email protected]:exciteabletom/spud
cd spud
python3 -m venv .venv
Bash: . .venv/bin/activate
Windows PowerShell: .venv\bin\activate.ps1
python3 -m pip install -r requirements.txt -r requirements-dev.txt
pre-commit install
Logo created by zach_can_draw