code refactoring tools
hot reloading and exception capture tools
reloading Change Python code while it’s running without losing state
jurigged Hot reloading for Python
DebugPy can capture every exception at the time it is raised and preserve state (but cannot instruct the frame to continue execution without exception), no matter it is wrapped around some ‘try-except’ or not.
Reloadium requires breakpoints to reload scripts. However, breakpoints can be generated/inferenced and removed at runtime. Currently it only works with pydevd inside pycharm. Reloadium supports line-wise profiling.
pydevd_reload An enhanced hot reload module from PyDev