Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/exciteabletom/spud
A CLI Spigot plugin manager that adheres to Unix conventions and Python best practices.
https://github.com/exciteabletom/spud
cli minecraft plugin python spigot unix
Last synced: 2 months ago
JSON representation
A CLI Spigot plugin manager that adheres to Unix conventions and Python best practices.
- Host: GitHub
- URL: https://github.com/exciteabletom/spud
- Owner: exciteabletom
- License: gpl-3.0
- Created: 2021-07-14T06:21:25.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-03-31T10:45:10.000Z (over 1 year ago)
- Last Synced: 2024-09-30T07:23:13.875Z (3 months ago)
- Topics: cli, minecraft, plugin, python, spigot, unix
- Language: Python
- Homepage:
- Size: 461 KB
- Stars: 11
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Spud
![spudman logo](https://raw.githubusercontent.com/exciteabletom/spud/master/logo/spudman_tiny.png)[![GPLv3 License](https://www.gnu.org/graphics/gplv3-88x31.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
[![GitHub Release](https://img.shields.io/github/release/exciteabletom/spud.svg?style=flat)](https://github.com/exciteabletom/spud/releases)
[![PyPI downloads](https://img.shields.io/pypi/dm/spud-mc.svg)](https://pypistats.org/packages/spud-mc)
[![Code style: Black](https://img.shields.io/badge/code%20style-Black-000000.svg)](https://github.com/psf/black)The cross-platform, [Spigot](https://www.spigotmc.org/) plugin manager that adheres to the
[Unix philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) and Python best practices.Some focuses of the project are:
1. Easy and simple commands (updating all your plugins is as simple as `spud update`)
1. Adherence to Unix conventions and no forced interactivity, which unlike other options like [pluGET](https://github.com/Neocky/pluGET), makes Spud easy to use in scripts.
1. Readability, static type hinting, test-driven development, and consistent styling in the codebase.
1. Descriptive and greppable output with actionable error messages
## Installation
Python 3.8 or later is requiredInstall 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
## Setting up a dev environment
`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`
## Acknowledgements
Logo created by [zach_can_draw](https://instagram.com/zach_can_draw/)