people are increasingly finding is that python is suitable language not only for doing research and prototyping but also building the production systemstoo believe that more and more companies will go down this path as there are often significant organizational benefits to having both scientists and technologists using the same set of programmatic tools why not pythonwhile python is an excellent environment for building computationally-intensive scientific applications and building most kinds of general purpose systemsthere are number of uses for which python may be less suitable as python is an interpreted programming languagein general most python code will run substantially slower than code written in compiled language like java or +as programmer time is typically more valuable than cpu timemany are happy to make this tradeoff howeverin an application with very low latency requirements (for examplea high frequency trading system)the time spent programming in lower-levellower-productivity language like +to achieve the maximum possible performance might be time well spent python is not an ideal language for highly concurrentmultithreaded applicationsparticularly applications with many cpu-bound threads the reason for this is that it has what is known as the global interpreter lock (gil) mechanism which prevents the interpreter from executing more than one python bytecode instruction at time the technical reasons for why the gil exists are beyond the scope of this bookbut as of this writing it does not seem likely that the gil will disappear anytime soon while it is true that in many big data processing applicationsa cluster of computers may be required to process data set in reasonable amount of timethere are still situations where single-processmultithreaded system is desirable this is not to say that python cannot execute truly multithreadedparallel codethat code just cannot be executed in single python process as an examplethe cython project features easy integration with openmpa framework for parallel computingin order to to parallelize loops and thus significantly speed up numerical algorithms essential python libraries for those who are less familiar with the scientific python ecosystem and the libraries used throughout the booki present the following overview of each library essential python libraries www it-ebooks info