Visual debugger · Python 3.14+

See your program as it really runs.

yathaavat is a visual debugger for Python that lives in your terminal — stack, source, locals, exceptions, and asyncio tasks in one cockpit. Launch it, connect to it, or safely attach. Keyboard-first, at home over SSH.

$curl -fsSL https://yathaavat.pages.dev/install | sh
read the docs
yathaavat · demo_target.py · PAUSED
yathaavat paused at a breakpoint: stack, source, and locals in one view An exception stop showing the traceback tree Connected to a running asyncio service, paused inside a coroutine

Stack

Every frame, and exactly where you are.

Source

Live gutter markers — — and your current line.

Locals & watches

Real values, expanded inline, tracked as they change.

Console

Evaluate any expression, with tab-completion.

The hard parts, made legible

The states that usually send you back to print() — exceptions and async — rendered so you can actually read them.

Exception stop
Traceback tree with a chained cause

Exceptions, read like a story

On every exception stop, yathaavat draws the traceback as a tree — chained causes labelled ↳ caused by, full ExceptionGroup support, the failing frame highlighted.

Enter jump to frame y copy a break at raise

Every value, no guessing

Expand locals and globals inline, watch expressions across steps, and evaluate anything in a console with real DAP tab-completion. Edit a value in place and keep going.

Enter expand e edit Ctrl+W watch g scope
Locals · expanded inline
Expandable locals showing real values: an InspectorBox with answer, label, tags, and a long items list

How you steer

Drive execution at the speed of thought

Stepping is a transport control, not a menu. Your hands never leave the keyboard — continue, step, run-to-cursor, and you're three frames deeper before a mouse would have found the button.

Source view with the execution line and gutter markers
cContinue
nStep over
sStep in
uStep out
EnterRun to cursor
Ctrl+EJump to line
Sessions
Ctrl+RLaunch a script
Ctrl+KConnect to a server
Ctrl+AAttach to a process
Ctrl+PCommand palette
Inspect
bToggle breakpoint
Ctrl+FFind in source
Ctrl+GGo to line
F2Zoom a pane

Three ways into a running program

However the code is running, yathaavat can reach it — with fuzzy discovery and history at every door.

Ctrl+R launch

Launch a script

Start any Python file under debugpy. Fuzzy file discovery and ~ expansion get you running in two keystrokes.

Ctrl+K connect

Connect to a server

Attach to a debugpy endpoint by host and port. The picker scans for live servers so you rarely type an address.

Ctrl+A attach

Attach to a process

Attach to a live PID. On Python 3.14, attach safely to a process that never imported debugpy.


Why

The terminal you already live in

The truth of a running program shouldn't cost you a GUI you can't SSH into, or a litter of print() you'll forget to delete. yathaavat renders the whole runtime where you already work — no browser, no daemon, no ceremony.

Runtime
Python 3.14+ on CPython, via debugpy and the Debug Adapter Protocol
Ways in
Launch, connect, attach, and safe attach on 3.14
Interface
A Textual TUI — keyboard-first, mouse-optional
At home in
SSH sessions, tmux panes, the terminal you trust
License
MIT — install with uv, no account required

Questions, answered

Do I have to change my code? +

No. Launch any script as-is, connect to a debugpy server, or on Python 3.14 attach to a process that never imported debugpy via safe attach.

Does it work over SSH and tmux? +

Yes. yathaavat is keyboard-first and mouse-optional, designed from the start for remote sessions and split panes.

What do I need to run it? +

Python 3.14+ and uv. Install in one line — no PyPI account, no browser, no build step.

How is this different from pdb or an IDE debugger? +

pdb shows one line at a time; an IDE debugger needs the IDE. yathaavat gives you the whole frame at once, in the terminal.

Is it actually open source? +

MIT-licensed, end to end. Install with uvx --from git+https://github.com/indrasvat/yathaavat yathaavat.


Nothing hidden. Nothing assumed.

Install yathaavat and watch your next breakpoint exactly as it is.

$curl -fsSL https://yathaavat.pages.dev/install | sh
Read the docs