Show HN: Seapie – a Python debugger where breakpoints drop into a REPL

https://news.ycombinator.com/rss Hits: 1
Summary

Why seapie? 1. Debugging for humans seapie comes with a user experience focused on discoverability: helpful error messages and built-in help you can reach from anywhere 2. Debug by describing what you want All debuggers let you step. seapie lets Python expressions walk without magic syntax: ”stop when myfunc returns None, and call stack contains myhelper” >>> !walk (_event_ == "return") and (_return_ is None) and ("myhelper" in _callstack_) 3. REPL-first by design >>> Checking a variable is print(myvar) changing it is myvar = None . Debugging !commands work in the REPL and inspecting state is just python: > >> _magic_ { '_line_' : 8 , '_source_' : ' return round(total_with_tax, 2)' , '_path_' : '/home/hirsimak/seapie/test/demo.py' , '_return_' : 35.64 , '_exception_' : None , '_event_' : 'return' , '_callstack_' : [ '<module>' , 'checkout' ]} > >> Hands on example myscript.py print ( "script says hello!" ) import seapie ; seapie . breakpoint () # execution pauses here, you get >>> do_stuff ( myvariable ) terminal user@system: ~ /$ python myscript.py script says hello ! 🔗 Attaching seapie seapie 4.0.0 (Python 3.13.3) [GCC 13.3.0] on linux Type " !help " for seapie help >>> seapie.breakpoint() gives you >>> . Try it out terminal > >> print ( locals ()) { 'x' : 1 , 'myvariable' : None } > >> >> > myvariable = x > >> >> > _magic_ . keys () dict_keys ([ '_line_' , '_source_' , '_path_' , '_return_' , '_exception_' , '_event_' , '_callstack_' ]) > >> >> > _line_ , _source_ ( 18 , ' while True:' ) >> > >> > !b ad - command 💀 Unknown command !b ad - command ⚡ !c ommand quicklist ( example : >> > !l ocation ) !( h ) elp Show help !( l ) ocation Show source code around currently executing line !( t ) raceback Show callstack with current frame highlighted !( f ) rame Move up and down in callstack !( k ) eep Constantly show any Python expression at the top of the terminal !( s ) tep Step through code execution !( e ) vent Step until a specific event type !( u ) ntil Step until ...

First seen: 2026-01-14 12:09

Last seen: 2026-01-14 12:09