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.
- add import inspector to your program
- run your program
- run the inspector with python inspector.py
- 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.