See http://kitaev.io/xdbg for more details.
xdbg
provides advanced live coding for Python.
It is best used in combination with the hydrogen package and hydrogen-xdbg plugin for the Atom text editor.
xdbg
extends IPython to allow executing live code at any scope within the running program, including:
- Within any imported module
- Inside function scope (including support for closures)
- Python 3.5+
- IPython
Run pip install git+https://github.com/nikitakit/xdbg
(or clone the repository and use setup.py
)
New features coming soon...
- Better support for live-editing classes
- Allow live-editing modules while execution is paused inside a function
Known issues:
%break ARG
is temporarily broken%break
with no arguments is not useful at module scope
Wishlist
- Support for disabling breakpoints, listing breakpoints, as well as conditional and temporary breakpoints
- Switch to using true breakpoints instead of overriding functions with a proxy object. (Very tricky, or maybe impossible, to implement.
xdbg
allowsreturn
ing from the breakpoint location with a user-specified value, which is unsupported bypdb
or any other Python debugger I know of.)
For more details, see http://kitaev.io/xdbg