I think the notebook is great for prototyping things, it's so nice to see the output inline with the code.
Once the code is mature enough, I copy/paste it into a python module and check it into version control. Then in a notebook I just import my function to generate plots or analysis without cluttering up the notebook.
Once the code is mature enough, I copy/paste it into a python module and check it into version control. Then in a notebook I just import my function to generate plots or analysis without cluttering up the notebook.