Analyzing and visualizing data requires several software tools: a text editor to write the code (preferably syntax highlighted), Python and additional libraries to run and test the code, and perhaps a tool to present the results. There are two categories of software tools: general-purpose software tools and specific software components.
The general-purpose software tool is an integrated development environment (IDE), which is an application that has all the productivity tools within one package. These IDEs are usually very convenient from the standpoint of handling the Python libraries. More details about these IDE tools will be discussed in the following chapter. In this chapter, we'll limit our discussion to a brief introduction to Canopy from Enthought and Anaconda from Continuum Analytics.
The specific software component are Python plotting libraries such as Bokeh
, IPython
, matplotlib
, NetworkX
, SciPy
and NumPy
, Scikit-learn
, and Seaborn
. Both the IDEs have a very convenient way to handle the adding, removing, and updating to later versions of these plotting libraries.
Enthought Canopy has a free version that is released under the BSD-style license, and comes with GraphCanvas, SciMath, and Chaco as plotting tools, among several other libraries. It has an advanced text editor, integrated IPython console, graphics package manager, and online documentation links. The Canopy analysis environment streamlines data analysis, visualization, algorithm design, and application development for scientists, engineers, and analysts.
Anaconda IDE is based on the conda application. Conda is an application for finding and installing software packages. A conda package is a binary tarball containing system-level libraries, Python modules, executable programs, or other components. Conda keeps track of the dependencies between packages and platform specifics, making it simple to create working environments from different sets of packages.
Anaconda has sypder-app, a scientific Python development environment, which has an IPython viewer as well. In addition to this, IPython can be launched as a GUI or a web-based notebook. The most convenient thing is that you can install Python in the home directory without touching the system-installed Python. Not all packages are ready to work with Python 3 as yet; therefore, it is better to use Python 2 with these IDEs.
IPython (http://ipython.scipy.org/) provides an enhanced, interactive Python shell, and is highly recommended mostly because data analysis and visualization is interactive in nature. IPython is supported on most platforms. Some additional features that come with IPython are as follows: