osteele / callgraph Python 78 8 Magic to display dynamic call graphs of Python function calls jupyter-notebook-extension ipython-magic python education