As a programmer (or sysadmin, IT professional, cluster maintenance worker, scrum leader, etc) there will absolutely be times that a debugger isn’t powerful enough or optimal enough or simple enough. For some classes of problems, whether they be visual (graphs, animations), size (too much stuff changing too quickly), security (only munged objects come with this module) etc, a debugger will only hinder your ability to work. We inevitably go to data logging for these classes of problems, as it’s quite simple to learn and generally the first method that we’re taught. Unfortunately, it’s also the most lackluster and limited method of debugging information that we have. However, it doesn’t have to be. I’m going to be highlighting a super simple but powerful idea that may just change the way you debug. Debug logs that are fully executable Python programs. Read on for more info and some examples.