Python Libraries You Can’t Live Without!
Decided to use python for your program. Learned core python programming. Now, what?
Python Community has built a wide range of libraries and frameworks for us to get into a different domain with ease. Here are some must-have libraries to get started. For scientific computing, machine learning, and data science:
NumPy
Numpy is the backbone for most scientific programming. It provides some advanced math functionalities for python to work with large matrices.
SciPy
When we talk about NumPy, we have to talk about SciPy as it forms the Scientific Python or SciPy ecosystem. It is a library of algorithms and mathematical tools for python and has caused many scientists to switch to python.
Matplotlib
Matplotlib is the plotting library that you must learn which produces publication quality figures in a variety of formats and interactive environments across platforms. It is very useful for any data scientist or any data analyzer.
Pandas
Pandas is an open source library providing high-performance, easy-to-use data structures (Series and DataFrames) and data analysis tools. Pandas provide easy to use functions to merge, join, concatenate, reshape large DataFrame, work with text data, categorical data, handle missing data, and perform grouping and analysis on those data.
Scikit-learn
A simple and efficient set of tools for data mining and data analysis built to work with NumPy, SciPy, and matplotlib. If you are planning to use off-the-shelf Machine Learning algorithms, this is your tool.
Natural Language Toolkit (NLTK)
NLTK provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, semantic reasoning, and wrappers for industrial-strength NLP libraries.
Pytorch
PyTorch is an open-source machine learning library for Python, based on Torch and is developed by Facebook. PyTorch implements dynamic computational graphs, that lets you define or manipulate your graph on-the-go. This is particularly helpful while using variable length inputs in RNNs. PyTorch is more pythonic and building ML models in this feels more intuitive.
Tensorflow
Tensorflow is another more popular open-source machine learning library for Python, based on Theano and is developed by Google. Tensorflow implements static computational graphs, which means you first have to define the entire computation graph of the model and then run your ML model.
Tensorflow has a more steep learning curve than PyTorch. However, it has a much bigger community, so getting help is easier. Also, Tensorflow has TensorBoard which is a brilliant tool that enables visualizing your ML models directly in your browser.
Keras
Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling easy experimentation and fast prototyping through user friendliness, modularity, and extensibility.
SymPy
SymPy can do an algebraic evaluation, differentiation, expansion, complex numbers, etc. It is contained in a pure Python distribution, i.e it does not require external libraries to run. It aims to become a full-featured computer algebra system that can compete directly with commercial alternatives such as Mathematica or Maple while keeping the code as simple as possible in order to be comprehensible and easily extensible.
Requests
http://www.python-requests.org
The most famous HTTP library written by Kenneth Reitz. It’s a must-have for every python developer.
Scrapy
Scrapy is a free and open-source web-crawling framework. If you are involved in web scraping then this is a must-have library for you.
BeautifulSoup
https://www.crummy.com/software/BeautifulSoup/
Beautiful Soup provides a few simple methods and Pythonic idioms for navigating, searching, and modifying a parse tree: a toolkit for dissecting a document and extracting what you need. It doesn’t take much code to write an application
OpenCV
OpenCV is an open source computer vision and machine learning library used to build applications and to accelerate the use of machine perception in commercial products. OpenCV provides libraries for C++ as well as a wrapper for python to perform Image processing to Object Detection.
Django
https://www.djangoproject.com/
Django is an open source, high-level Python Web framework that encourages rapid development and clean, pragmatic design. It takes care of much of the hassle of Web development as it implements standard procedures. Such that, you can focus on writing your app without needing to reinvent the wheel.
wxPython
wxPython is the cross-platform GUI toolkit for the Python language. With wxPython software developers, we can create truly native user interfaces for the Python applications that run with little or no modifications on Windows, Macs, and Linux or other Unix-like systems. There is other GUI toolkit for python such as PyQT, Tkinter as well.