I've shared this on here before, but another trick that I like with breakpoint() is to add this function to my Python projects so that I can drop into pdb by sending a signal:
import signal
def sigusr1_handler(signum, stack):
breakpoint()
signal.signal(signal.SIGUSR1, sigusr1_handler)
And then I can drop into pdb by sending a signal: $ kill -s sigusr1 $PID
It's especially useful for getting a backtrace out of your program when it's hanging, and poking around a bit to figure out why.