SpdIU is a collection of Invoke tasks that manage Shattered Pixel Dungeon game data.
It's a library of tricks to make your SPD CLI experience as comfortable as the rest of your awesome terminal!
- Run common tasks out of the box from your console
- Hook up your own Python tasks, leveraging the
spdiulibrary
SpdIU keeps a directory of save slots, containing copies of the game's full data folder.
siu saveandloadare all the commands you need to save-scum your way to 9-challenge- Safety backups give you a chance to un-wreck your save if you fat-finger it
On github releases, just pick your version.
Create an issue if you know of an SPD fork hosted elsewhere, and we'll try to enable that platform, too!
With just a bit of configuration, you can use SpdIU to download any of the SPD forks available in the wild!
Get overviews of every single thing stored in your save data.
Βless your next run with one out of a selection of care packages, or downright edit in that upgraded armor you wanted.
It's your game, after all!
The project uses Semantic Versioning and roughly tries to abide with Keep a Changelog 1.1.0.
...and currently a work in progress.
- Full pytest coverage on the current collections
- slots
- get (hrm)
- display
- cheats
- A bit of logo n stuff
- Game entity summaries
- Better templates for tasks and config
- More doc
-
spdiu.stylescontains emojis and ascii string bits for output. They can be overridden by configuring fields in thec.config.spdiu.iand.sdicts. - Task lists now make use of those emojis.
- Prompt color setup, named hex colors go in
styles.colors(orc)
-
siu display/display.slotargument handling - PyPi front page README.md links correctly point to github now
0.1.0 2025-12-26
ho ho ho: first release
- The
s[pd]iuexecutable, customized wrapper forinv[oke] - The SpdIU task collections:
slotsmanages saved statesdisplayallows inspecting game datagetdownloads and installs the game or forkscheatsidentifies consumables, edits gold and energy, sets bones
tasks.pydeployment allows custom user tasks per gamespdiu.yamllocal config allows customizing every single bit of state- pre-commit: ruff lint and format, whitespace fixes, REUSE
- pytest: Smoke test, classes and low level functions covered