Surely, someone is working on a tool to expand the abstracted code into a flat code - obviously, controlling the level of expansion, i.e. expand functions only from a given list of libs/imports/projects.
My other would-be-amazing-to-have-tool is a tool which records an execution path, like profilers do, and dumps just that code, removing any “branches” that didn’t get executed, so that it could be read and even executed. That would make understanding a complicated code a breeze. This would make debuging simple too in certain situations.
I’m on emacs and there are quite a few different ways to jump around the code abstractions. I can share if there are emacs users here that need it.
I’m a bit confused. Are you giving tips on how to write code or on how to read other code? Copying all methods into the child class seems redundant, so I assume that this is for making the code easier to read.
As you say, I simply jump through the code in PyCharm (e.g. by ctrl+clicking a method name). After a while this may lead to a rabbit hole - but that in itself might be a good sign that your code needs some refactoring and simplification.