Python Landscape and Introduction

Sophia Yang, Ph.D.
4 min readNov 13, 2019

Python Landscape

Python ecosystem. Source: Jake Vanderplas 2017 PyCon Keynote.

Python is the fundamental language surrounded by many packages built on top of Python. These packages then built on top of each other and work collaboratively form the Python ecosystem.

The first layer of packages on top of the Python language consists some of the fundamental tools. IPython and Jupyter Notebook are interactive interface for people to write and test code in. Numpy is the foundation of lots of Python packages. Numpy stores data in an N-dimensional array data structure and supports computations with its N-dimensional array objects. Cython, Dask, and Numba are all about making Python code run faster. Cython is the C-extensions for Python. Dask provides parallel computing across clusters and threads. Numba compiles Python codes to optimized machine code. Those libraries are especially useful if you care about your code performance or if your code just takes too long to run. Finding options in Dask or Numba might save you lots of time.

The second layer of packages are our every day use packages built on top of the fundamental packages we just talked about. Pandas is probably everyone’s favorite for data manipulation. Matplotlib and Bokeh are low-level visualization packages. If you want to learn more about Python visualization packages, check out my other post on Python visualization landscape.

Then we have some computational and analytical packages built on top of the second layer packages. And finally we have more specialized packages for different industries and use cases. Of course, there are many many more packages built for different usage. The fact is whatever you want to do, there will be likely a package there in Python already. If not, you can always easily implement your own functions or even write up your own packages and contribute to the Python ecosystem.


The most popular method for installing Python is to use Anaconda Distribution or Miniconda.

Anaconda Distribution

If you are new to Python, Anaconda distribution is your best friend.

Anaconda is a package manager, an environment manager, a Python/R data science distribution, and a collection of over 1,500+ open source…

Sophia Yang, Ph.D.