This article discusses Hot Reloading and Exception Capture tools like reloading, jurigged, DebugPy, and Reloadium that assist Python developers in efficiently refactoring code by allowing them to quickly modify and test changes without requiring a program restart.

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.

Debug Adapter Protocol

DAP client in neovim

DAP client in python

Official DAP client reference

pydevd_reload An enhanced hot reload module from PyDev

Comments