"Step through code execution, inspect variables over time, capture traces, and export insights - all from Jupyter, CLI, or your IDE"
Project description
pydebugviz
Visual Time-Travel Debugging for Python
Trace everything. Watch everything. Export everything.
Overview
pydebugviz captures your Python function’s execution step-by-step and lets you explore it in:
- Jupyter
- Terminal (CLI)
- IDEs
Now in v1.0.0:
- ✅
DebugSessioninteractive navigator - ✅
live_watch()for real-time variable display - ✅
show_summary()for CLI/Jupyter-friendly overview - ✅
export_html()for trace visualization - ✅ Validation tools, safe evaluation, and large var protection
Installation
pip install pydebugviz
Feature Matrix
| Feature | Jupyter | CLI | IDE |
|---|---|---|---|
debug() |
✅ | ✅ | ✅ |
DebugSession |
✅ | ✅ | ✅ |
show_summary() |
✅ | ✅ | ✅ |
export_html() |
✅ | ✅ | ✅ |
live_watch() |
✅ | ✅ | ✅ |
validate_trace() |
✅ | ✅ | ✅ |
Quick Start
from pydebugviz import debug, show_summary
def test():
x = 0
for i in range(4):
x += i
return x
trace = debug(test, breakpoints=["x > 3"], max_steps=100)
show_summary(trace)
Interactive DebugSession
from pydebugviz import DebugSession
session = DebugSession(trace)
session.jump_to(3)
print(session.current())
session.show_summary()
Live Watch Mode
from pydebugviz import live_watch
def my_function():
x = 1
for i in range(3): x += i
live_watch(my_function, watch=["x", "i"], interval=0.1)
Export HTML
from pydebugviz import export_html
export_html(trace, filepath="trace_output.html")
Validation + Safe Eval
from pydebugviz import validate_expressions, safe_eval
print(validate_expressions(["x > 3", "bad =="])) # syntax check
print(safe_eval("x > 5", {"x": 7})) # safely evaluate
Trace Schema Enforcement
from pydebugviz import normalize_trace, check_trace_schema
normalized = normalize_trace(trace)
issues = check_trace_schema(normalized)
print("Schema issues:", issues)
License
MIT License
(c) 2025 pydebugviz contributors
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pydebugviz-1.0.1.tar.gz.
File metadata
- Download URL: pydebugviz-1.0.1.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f5ca22c1932c17d69d1e0c77263414395719803cbd0de4c436d0665e291fd7e
|
|
| MD5 |
5a90cf1159749029a2d972f20eef20eb
|
|
| BLAKE2b-256 |
149ec3fbebc65c1d3a3d93cc0ef78933bdea9468bb0fc64a37902050edb3aeef
|
File details
Details for the file pydebugviz-1.0.1-py3-none-any.whl.
File metadata
- Download URL: pydebugviz-1.0.1-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0842cc7a7f7cd594e4a3d8eae99e5660294557e6e2b7e332b67c3a9df2beae13
|
|
| MD5 |
c3e16b029e947e899dc67a9e0e622d0d
|
|
| BLAKE2b-256 |
8cb714ca53648c5eda191035e64c0575773875a531d28f05634991729979ff21
|