a Python server and shell for inspecting Python processes
Inspector is a re-implementation of Andrew Moffat’s Inspect-Shell (https://github.com/amoffat/Inspect-Shell).
What it does
Inspector allows you to read, change or add global variables of your Python program from another process (a shell) while your program is running.
You could, for example, add a whole class to your program from the shell and rewrite some function so that it starts using your newly-created class. All that while your program continues to run! Yes, that’s pretty cool.
How it works
Inspector has 2 modes; server mode and shell mode. Server mode is run by your Python program (in a separate thread), while the shell mode is run by the inspector itself.
import inspectorto your program
- run your program
- run the inspector with
- type code into the shell
Inspector also supports tab completion for your program’s variables.
After you’re done, exit the shell by pressing Ctrl-D or Ctrl-C, or typing
exit. You program will continue to run with all the changes made. You can run
the inspector again anytime you want.
You can also import the inspector from a Python shell if you just want to see how it works.
Inspector works with Python 2 and 3. See https://github.com/jzib/inspector for more information.