update the running code without halting any running processes
That's more a function of the way you code up the running processes and less a function of the language involved, but I suspect that systems where a language can be combined with, essentially, a VM and an OS (LISP, Smalltalk) can make that a lot easier. Wrangling Python to become LISP is going to be... quite an exercise.
But if all you need is to change the values of some variables and/or what some functions so, that looks doable.
wrapped in a logging function
So basically you want to run your code inside a debugger?
That's more of a function of the way you code up the running processes
Well not necessarily, depending on what kind of transforms you can apply to the source before feeding it to the interpreter, and the degree of fuss you're willing to put up with in terms of defining global functions with special names to handle resurrection of state and so on.
Python wasn't picked specifically because it's ideal for doing this kind of thing but just because it's easy for hacking prototypes together and useful for many things. At the risk of overstating my progress - ...
As an experiment, here's a thread for people to post about things they care about. Specifically, for things that are possible to contribute to, in some way, and preferably, to invite others to join.
Mine is buying and donating highschool textbooks to schools in the 'grey zone' of Ukraine (where the war kinda isn't fought, but few people would be surprised if it started.) I don't deliver them myself, though.
What's yours?