We have decided to use this instead of jupyter notebooks.
Issue: When using multiple files, you need to restart your instance to pick up changes made in other files.
Fix: Use autoreload. https://ipython.readthedocs.io/en/stable/config/extensions/autoreload.html
Please explain how to avoid having to restart the kernel to have the changes in some_function() be reflected when executing the cell again.
from foo import some_function
some_function()
Out[4]: 42
# open foo.py in an editor and change some_function to return 43
some_function()
Out[6]: 42 # still 42!! We need to restart the Kernel
?
%load_ext autoreload
%autoreload 2
from foo import some_function
some_function()
Out[4]: 42
# open foo.py in an editor and change some_function to return 43
some_function()
Out[6]: 43 # No need to restart the kernel
Yes it is possible to only reload certain functions. Check the documentation if that is necessary.