Python is one of the trending programming languages with rapid growth in Artificial Intelligence and Machine learning python has gained too much popularity in the past few years. Its simple syntax helps developers to implement the complex algorithms with ease. Python popularity is not only because it is used in Machine learning or data science, but it also has an insane number of libraries which opens the use of python for any type of development, with python we can do web development, scripting, game development, Data Science stuff and so many extra things. Here in this article we have provides the top 10 Python libraries that you should know or you could explore in 2020.

**What is a Library?**

A library is a collection of pre-written code which you can import in your code to add some extra functionality. We use libraries so we do not have to write code from the scratch, instead, we use a library so we could use the pre-written code, functions or classes and use its functionality to enhance our code.

Python has a large number of libraries and for different development, we have different libraries in python. Here all the libraries we have provided here belongs to the Python 3 version because Python 2 is not in use anymore.

**Top 10 Python Libraries:**

- TensorFlow
- Pandas
- Scipy
- Matplotlib
- Numpy
- Pytorch
- Requests
- Beautifulsoup
- Pygame
- Pillow

**TensorFlow**

TensorFlow is one of the famous libraries of python which is used for Machine Learning Algorithms. It was developed by Google Brains (An Artificial Intelligence Team at google), and python is blessed with this library. Even Java which is the competitor of Python does not have direct support for the TensorFlow library. TensorFlow was released in 2015, and since then Google has used this library for its many Machine Learning Projects and even now the TensorFlow is used by many developers for their Machine learning Projects.

**Features of TensorFlow**

- It is an Open-source library, so everyone is free to download it.
- Used by Google itself.
- It can visualize graph better than Numpy or Scikit Library
- A huge community of developer support TensorFlow
- Used for Neural network models

**Pandas**

Panda is an Open source python library which is used by data scientist and analyser for data manipulation and analysis. It contains many inbuilt complex data structures for manipulating numerical tables and time series. Data Structures provided by Pandas also used to implement Machine Learning Algorithm.

It is a third-party library, standard python does not come with built-in pandas library so to use pandas in the project you need to install it with pip command.

pip install pandas

**Features of Pandas Library**

- Open-source library
- Fast and efficient library for data manipulation.
- It provides tools for reading and writing data between different file formats such as CVS, Text, SQL, and HDF5 format.
- There are various fields where Pandas used include finance, Neuroscience, Economics, Statics, Web Analytics, etc.

**SciPy**

SciPy which is pronounced as “Sigh Pie” is another python library that is highly used for machine learning projects. It is an open-source library that focuses on software related to mathematics, science, and engineering. This library contains various methods for mathematical computation which include numerical integration, interpolation, optimization, of linear algebra and statistics.

You can check the latest source of SciPy at:

https://github.com/scipy/scipy.git scipy

**Features of SciPy:**

- It is an open-source library
- Its function built on the NumPy extension
- It makes python powerful to build sophisticated programs and specialized application.

**Matplotlib:**

Matplotlib is a python library which is used to produce 2D graphs. It can be used in Python scripts, ipython shells, Jupyter notebook, web application server, and four graphical user interface toolkits. This library often used along with pandas and numpy so the visualization of data can be represented using a graph.

The only main purpose of Matplotlib library to visualize your data as easy as possible, and with all necessary control.

**Features of Matplotlib:**

- Open Source library.
- Work along Numpy, pandas and other Data Science libraries.
- Represent visual graphs.
- Easy to implement.
- All types of graphs present in matplotlib.

**NumPy:**

After TensorFlow NumPy is the second most popular library of Python for machine learning and Data Science. Python does not have standard support for Array data structure but with NumPy fill this limitation of Python with robust NumPy arrays. It contains all the mathematic concept and multidimensional arrays.

It is also a third-party library so standard python does not come with in-built NumPy support so you have to pip install it if you want to import numpy features in your program.

pip install numpy

**Features of NumPy:**

- It is easy to use this library.
- Open Source.
- Contain complex mathematical methods.
- Provide powerful multidimensional array.
- Sophisticated functions
- It also provides tools for integrating C/C++ and Fortran Code.

**PyTorch:**

It is an open-source Machine Learning Library of Python developed by Facebook, it a direct competitor of TensorFlow. PyTorch was originally written in Python, C++ and CUDA, that why apart from Python it is also supported by C++.

Many big tech companies such as Uber, Hugging Face, Facebook etc, have used PyTorch for Deep Learning Software. For Neural networks, Facebook also uses this Python library to build real-world projects.

**Features of PyTorch:**

- Strong accelerated tensor computing using Graphics Processing Unit (GPU).
- Used to build Deep Neural Networks.
- Distributed under the Anaconda system.

**Requests:**

The python requests library is used to make HTTP requests using Python, instead of using complex API requests library provide a simple approach to extract data from the web pages.

To install requests library, we can use pip install command in our shell:

pip install requests.

**Requests Features:**

- Request international domain and URLs.
- Browser-style SSL verification.
- Give HTTP(s) proxy Support.
- Open Source.

**BeautifulSoup:**

Beautifulsoup library is used to scrape information from a web page, to make HTTP request beautifulsoup library work along with requests library and retrieve data from a web page in the form of HTML or XML parser. It can also retrieve API data if API data is present on the web page. This library is fun to use so we suggest you, go through this library documentation and explore it.

pip install bs4

**Beautifulsoup Features:**

- Use the API of a website.
- It can access the HTML of a web page to extract the useful information.

**PyGame:**

Using python, we can build desktop games and for this, we have to use PyGame library, as its name suggest this library can be used to build desktop games. This library is capable of building graphical games with sound.

PyGame was developed by Lenard Lindstrom, René Dudfield, Pete Shinners, Nicholas Dudfield, and Thomas Kluyver. This library was written in Python, C, Cython and Assembly language.

**Features of PyGame:**

- PyGame Application can run on Android phones and tablets
- It uses the Simple DirectMedia Layer(SDL) library.

**Pillow:**

It also stands for Python Image Library(PIL), which is developed by Alex Clark and team. This library helps to add support for opening, manipulating and saving of different image file format. Many Python libraries and frameworks use this library if they handle and image file.

With `pip install pillow `

shell command we can install pillow in our system.

**Features of Pillow:**

- Open-source library.
- Deal with images
- It can handle any image format.
- Filter image
- Create thumbnail
- Blur an Image