Overview scientific Python packages

Overview scientific Python packages
Photo by Mitchell Luo / Unsplash

There are lots of Python packages available on the internet. The aim of this post is to give you an overview of scientifically oriented Python packages, sorted per topic. The list will be updated regularly. If you have any recommendations, feel free to give your addition in the comments!


  • NumPy – Powerful computational framework.
  • pandas – Data structures and data analysis.
  • A great basic tutorial can be found here.
  • matplotlib – Plotting and visualization tools.
  • A basic tutorial on Matplotlib is found here.
  • SymPy – For working with symbolic mathematics.
  • Numba – High performance mathematical toolkit.


  • emcee – Monte Chain Monte Carlo sampling.

Machine Learning

  • Scikit learn – Machine Learning toolkit.
  • A tutorial on Scikit learn is found here.
  • BayesPy – For building Bayesian Networks.

Text Mining

  • Scikit learn – Machine Learning toolkit.
  • NLTK – Working with human language data.

Image processing

Speed improvements

  • Nuitka – Python compiler.
  • Cython – C-extensions for Python.
  • PyPy – Improves speed and memory.



  • Anaconda – A bundle of the most used Python libraries.
  • SciPy – A bundle of the most used scientific Python libraries.