By populating your current namespace run is much like the import command. However, unlike when you use import if modifications are made to the code that you brought in using run you do not have to use a different command (like reload) to update your namespace, you just need to execute run again and you are current.

These three commands make developing code libraries in IPython relatively easy. You can now write and test code in your notebook, save it to disk and use it in other notebooks. This is particularly useful when the point of the notebook is not to share code but rather the results.