For faster turnaround I wrote a library for an existing retro Python game engine (Pyxel) that adds hot reloading for both code and assets. My library is called ReloadPyxel.
This means that even as your game is running, you can modify the code or graphics, and see the results right away in your running game.
The link has a few animated gifs illustrating what I mean, and you can download and run them yourself if you'd like. There is also a more detailed explanation in the link at the bottom of the linked page.
Since my motivation here is to use this in an educational context, I chose an approach with as little "magic" as reasonable.
This is my first submission - please take a look and enjoy! Feedback is welcome but please be gentle.