Thanks for the definitions =)...
I've not used emacs for python, but could give it a spin for this!
Bit unfortunate that you need to restart the process for re-evaluating classes though.
Yeah. There are a quite few niggles like that. Even though you can get quite close by (automatically) sending code to the repl, Python is simply not set up for interactive development.
It's one of the main reasons why I love Common Lisp so much.
Still, it's not too bad and IMO a lot better then restarting the process on every single change
One important thing to keep in mind though is that it is not as dynamic as Lisp, so things like re-evaluating a class definition does not update existing objects. I end up restarting the python process and evaluating the buffers I'm working on often enough that I've bound it to its own key.
[1] https://pastebin.com/ctz5erD4