Fascinating. This reminds me of the WWII novel All The Light We Cannot See where the young German soldier is tasked with locating illegal radio transmissions by placing receivers at different places and using trigonometry calculations to estimate the distance and direction of the source. Of course, the culprits would invariably be killed when found, leaving the boy with a deep sense of guilt.
I love the tip about using the python debugger "pdb". This reminds me of the similar Ansible debug feature (e.g. "debugger: on_failed") which let's you jump into an in-flight playbook.
I remember using OCaml a bit and it has a time-travelling debugger. You launch the program with the debugger, it crashes and then you can inspect the program as you wish. I was really impressed by this.
Someone wrote a time-travel debugger for Python, but it seems like a one-off project and I'm not sure if there's an actively maintained/developed tool. https://github.com/TomOnTime/timetravelpdb
Banks aren't in the business of offering APIs because there's little incentive to do so. Even if there were a lack of talented technology-based employees, that likely wouldn't prevent APIs from being developed.
The issue of incentive boils down to the fact that business clients, being the main source of revenue for retail banks, simply aren't making enough noise about their desire for APIs.