# Uses of Most popular Open source Python Libraries

Python Libraries are assembly related functionality of codes which allow them to perform many tasks without writing code from scratch each time. Python libraries are very useful in developing machine learning, data science, data visualization, data and image manipulation applications etc. Presently there are more than 137,000 python libraries. Here are some most popular Open Source Python Libraries one should know about:

**1. NumPy**

NumPy is an open source Python library used for working with arrays, fourier transform, random number capabilities, linear algebra and matrices. NumPy is an efficient multi-dimensional container of generic data. It can be integrated with a wide variety of databases as it contains Arbitrary data-types.

**2. Pandas**

Pandas is a fast, flexible, powerful and easy to use open source data analysis, modeling and manipulation tool, developed in Python programming language. Specifically it provides data structures and operations for manipulating numerical tables and time series. The best way to install Pandas is through Conda installation.

**3. TensorFlow**

TensorFlow is Python's open source math library which is used for high-performance numerical computation for deep learning and machine learning algorithms. This library helped Researchers to build and deploy machine learning algorithms and solve complex mathematical computation.

**4. Keras**

Keras is an open-source software library used for evaluating and developing deep learning models and artificial neural networks. Keras is used as an interface for the TensorFlow library. It is advised to install TensorFlow backend engine before installing Keras.

**5. Matplotlib**

Matplotlib is an open source library in Python used for dimensional plotting using GUI's like wxPython, Qt, Tkinter, GTK+ etc. One can draw graphs, design charts, scatterplots, pie charts, error charts, histograms etc. with writing few lines of code.

**6. Scikit- learn**

Python programming language, Scikit-learn is a free software machine learning library which is used in regression, classification and clustering algorithms including k-means, Naive Bayes, support vector machines, gradient boosting, random forests, and DBSCAN, and is created to use with the Python scientific and numerical libraries SciPy and NumPy. Spotify which is a digital music and video streaming service which gives access to millions of songs is primarily made with The Scikit-learn”

**7. PyTorch**

Developed through Facebook's AI Research lab, PyTorch is an open source machine learning library which is used to execute Deep Learning models with great speed and flexibility. It is also used in applications such as computer vision and natural language processing.

**8. SciPy**

SciPy is a powerful free library used for mathematics, engineering, scientific and data computation in Python. It has various modules for numerical integration and optimization, linear algebra, FFT, interpolation, image and signal processing, ODE solvers etc. for computing engineering and scientific calculations.

**9. Chainer**

Chainer is developed to Bridge the gap between algorithms and implementations of deep learning which provides flexibility of deep learning models. It provides object-oriented high-level APIs to build and train neural networks and automatic differentiation APIs based on the define-by-run approach. Chainer has been efficiently used in early detection of cancer, robotics, automatic driving cars etc.

**10. NuPIC**

The Numenta Platform for Intelligent Computing (NuPIC)is a machine intelligence platform useful in implementing the HTM learning algorithms which store and recall spatial and temporal and spatial patterns. HTM is a computational theory of the neocortex. NuPIC is also used for prediction of streaming data sources and anomaly detection.

**11. Pipenv**

Python's Pipenv is basically a packaging toolkit which is used to provide applications to developers and users with an easy working environment. Pipenv is proposed as it’s a higher-level tool which blends dependency management for common use cases.

**12. Ramp**

It is a Python library with a pandas-based machine learning framework which is used for rapid prototyping of machine learning models. Ramp provides a declarative and an easy syntax for exploring features, transformations and algorithms.

**13. Bob**

Bob is a free signal-processing and machine learning toolbox which is used for image and video processing developed at Idiap Research Institute in Switzerland. The toolkit is written in a mix of C++ and Python and is outlined to reduce development time more efficiently.

**14. PyBrain**

Pybrain is an open-source Machine learning Library of Python which holds algorithms for neural networks .It has many predefined conditions to test and compare algorithms. The library provides simple training algorithms for networks, datasets, and trainers to test and train the network.

**15. Theano**

Theano helps us to define, optimize and evaluate mathematical expressions which includes multi-dimensional arrays effectively. It is mainly used in developing Deep Learning Projects. For handling large volumes of data, coding through C becomes slower. Theano works much faster specially on the Graphics Processing Unit (GPU) rather than on CPU. Another advantage of Theoano is that it can identify unstable expressions and calculate stable algorithms.

**16. SymPy**

SymPy library is used for arbitrary floating point arithmetic and symbolic mathematics which is a powerful assistance for Computer Algebra System (CAS). One can keep the code as simple as possible. SimPy is set down in Python only and can be implanted in other applications and extended with custom functions.

**17. MILK**

Milk is a machine learning library in Python which is mainly used for supervised classification with a range of other classifiers such as random forests, SVMs, decision trees and k-NN. MILK provides support to k-means clustering and affinity propagation for unsupervised learning. Milk is flexible regarding its inputs. It is developed for numpy arrays, but can often handle anything.

**18. Caffe2**

Caffe2 is a Modular and Scalable Deep Learning Framework which is an easy and uncomplicated method to experiment with deep learning which facilitates quick prototyping of ideas and experiments.

**19. NLTK**

NLTK is a Python NLP library which provides processing solutions for categorizing text, numerical and symbolic language processing and analyzing linguistic structure etc.

**20. Seaborn**

Seaborn is a Python data visualization library built on matplotlib and integrated with Pandas data structure. It enables a high-level interface for drawing attractive and informative statistical graphics and models like heat maps.

**21. Dash**

Dash is an Open Source Python library designed for reactive, declarative Web-based applications and data visualization. It is written on Flask, React. js and Plotly. Js. Every aesthetic component of the app such as positioning, sizing, fonts, colors etc. is customizable.

**22. OpenCV Python**

OpenCV is used for image processing, video analysis, advanced robotic vision, optical character recognition, license plate reading, facial recognition and detection, photo editing etc.

**23. Bokeh**

Bokeh is a Data Visualization Python library for generating interactive visualizations for present-time web browsers. Through HTML and Javascript it assists to create magnificent graphics, covering from simple plots to complex dashboards and statistical scenarios with streaming datasets.

**24. Hebel**

Python’s Hebel library is created for deep learning with neural networks using GPU acceleration with CUDA through pyCUDA. It provides a variety of training functions and methods for neural network models such as momentum, Nesterov momentum, early stopping, dropout etc. It also provides feed-forward neural networks for classification and regression.

**25. SQLAlchemy**

SQLAlchemy is the Python SQL library which enhances speed of communication between Databases and Python and provides database access through enterprise-level persistence patterns.