entering an interactive environment using ipython the python shell works fine for many interactive tasks you've used it extensively in this book howeveryou may have already noted that the default shell has certain deficiencies (and if you haven'tyou'll notice them as you work through more advanced examplesof coursethe biggest deficiency is that the python shell is pure text environment in which you must type commands to perform any given task more advanced shellsuch as ipython (by providing gui features so that you don' have to remember the syntax for odd commands ipython is actually more than just simple shell it provides an environment in which you can interact with python in new wayssuch as by displaying graphics that show the result of formulas you create using python in additionipython is designed as kind of front end that can accommodate other languages the ipython application actually sends commands to the real shell in the backgroundso you can use shells from other languages such as julia and haskell (don' worry if you've never heard of these languages one of the more exciting features of ipython is the ability to work in parallel computing environments normally shell is single threadedwhich means that you can' perform any sort of parallel computing in factyou can' even create multithreaded environment this feature alone makes ipython worthy of trial testing python applications using pyunit at some pointyou need to test your applications to ensure that they work as instructed you can test them by entering in one command at time and verifying the resultor you can automate the process obviouslythe automated approach is better because you really do want to get home for dinner someday and manual testing is reallyreally slow (especially when you make mistakeswhich are guaranteed to happenproducts such as pyunit (