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.

--

--