{"id":13903008,"url":"https://github.com/exciteabletom/spud","last_synced_at":"2025-04-10T09:47:15.753Z","repository":{"id":47546110,"uuid":"385835538","full_name":"exciteabletom/spud","owner":"exciteabletom","description":"A CLI Spigot plugin manager that adheres to Unix conventions and Python best practices.                                                                  ","archived":false,"fork":false,"pushed_at":"2023-03-31T10:45:10.000Z","size":472,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T16:39:51.037Z","etag":null,"topics":["cli","minecraft","plugin","python","spigot","unix"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exciteabletom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-14T06:21:25.000Z","updated_at":"2024-12-20T08:02:56.000Z","dependencies_parsed_at":"2025-02-16T23:32:14.487Z","dependency_job_id":"b7dfa388-704c-40f0-8ab0-c6e2130b5f95","html_url":"https://github.com/exciteabletom/spud","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exciteabletom%2Fspud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exciteabletom%2Fspud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exciteabletom%2Fspud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exciteabletom%2Fspud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exciteabletom","download_url":"https://codeload.github.com/exciteabletom/spud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248196715,"owners_count":21063490,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","minecraft","plugin","python","spigot","unix"],"created_at":"2024-08-06T22:01:33.477Z","updated_at":"2025-04-10T09:47:15.712Z","avatar_url":"https://github.com/exciteabletom.png","language":"Python","funding_links":[],"categories":["cli"],"sub_categories":[],"readme":"# Spud\n![spudman logo](https://raw.githubusercontent.com/exciteabletom/spud/master/logo/spudman_tiny.png)\n\n\n[![GPLv3 License](https://www.gnu.org/graphics/gplv3-88x31.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)\n[![GitHub Release](https://img.shields.io/github/release/exciteabletom/spud.svg?style=flat)](https://github.com/exciteabletom/spud/releases) \n[![PyPI downloads](https://img.shields.io/pypi/dm/spud-mc.svg)](https://pypistats.org/packages/spud-mc)\n[![Code style: Black](https://img.shields.io/badge/code%20style-Black-000000.svg)](https://github.com/psf/black)\n\n\nThe cross-platform, [Spigot](https://www.spigotmc.org/) plugin manager that adheres to the\n[Unix philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) and Python best practices.\n\nSome focuses of the project are:\n\n1. Easy and simple commands (updating all your plugins is as simple as `spud update`)\n\n1. 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.\n\n1. Readability, static type hinting, test-driven development, and consistent styling in the codebase.\n\n1. Descriptive and greppable output with actionable error messages\n\n\n## Installation\nPython 3.8 or later is required\n\nInstall with `python -m pip install spud-mc`\n\nRun `spud -h` to see all the options.\n\n\n## Example usages\n- Install a plugin: `spud install PluginName`\n\n- Install a plugin without prompting for input: `spud -n install PluginName`\n\n- Update all plugins in the working directory: `spud update`\n\n- Update all plugins in `~/server/plugins`: `spud -d ~/server/plugins update`\n \n- Update plugin `myplugin.jar`: `spud update myplugin.jar`\n\n## Known Issues\n- Some resources have lots of filler in the title. e.g. `[1.8-1.17] · PluginName |\n😃 😃 😃 | Epic Gaming Moments`.\nSpud tries its best to extract the plugin name, but it will fail if there is copious amounts of garbage in the title\n\n\n- 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.\n\n\n- Spud can't install resources not listed on https://spigotmc.org\n\n\n- Spud can't install premium resources\n\n## Setting up a dev environment\n`git clone git@github.com:exciteabletom/spud`\n\n`cd spud`\n\n`python3 -m venv .venv`\n\nBash: `. .venv/bin/activate`\n\nWindows PowerShell: `.venv\\bin\\activate.ps1`\n\n`python3 -m pip install -r requirements.txt -r requirements-dev.txt`\n\n`pre-commit install`\n\n## Acknowledgements\nLogo created by [zach_can_draw](https://instagram.com/zach_can_draw/)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexciteabletom%2Fspud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexciteabletom%2Fspud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexciteabletom%2Fspud/lists"}