A Python library is a reusable chunk of code that you may want to include in your programs/ projects. Compared to languages like C++ or C, a Python libraries do not pertain to any specific context in Python.
List of Python Libraries
Sys: A simple, but important built-in library that deals with several commands related to the os and system. Has several useful functions that deal with learning more about your target PC.
Os: A simple, but important built-in library that deals with several commands related to the os and system. Comes with several useful functions for walking through directories, changing file names, manipulating the current working directory, and more.
Datetime: Another time-related library, but with a simpler concept and syntax, and more focused on manipulating and displaying dates.
Time: A Python library focused heavily on time. Utilizes the epoch system as a point of reference to tell the time.
Random: A library used to introduce random elements into your code. Can produce random numbers in a variety of different ways.
Numpy: Numpy is considered as one of the most popular machine learning library in Python.TensorFlow and other libraries uses Numpy internally for performing multiple operations on Tensors. Array interface is the best and the most important feature of Numpy. It is famed for its use in Scientific Computing. Brings multi-dimensional Arrays to the table along with the appropriate tools to manipulate them.
Regex: Often referred to as a programming language of its own. Regex is a powerful tool when it comes to finding patterns and sorting through a large number of objects.
Matplotlib: The most well-known library for statistics and data representation in Python. Bar Charts, Pie Charts, Histograms, Trend-lines, scatter-plots, and more.
Tkinter: The GUI or Graphical User interface is a form of user interface that includes graphical elements, such as windows, icons and buttons. These allow the average user to communicate with an electronic device. Tkinter is a popular python GUI library that helps you build interactive and beautiful GUI’s.
PyQt5: Qt is another very popular GUI Library used across many languages and major software due to it’s modern and refined look. It’s a very popular alternative to Tkinter which is regarded as slightly outdated and old fashioned in comparison.
SimpleDialog: The SimpleDialog module is used to create dialog boxes to take input from the user in a variety of ways. SimpleDialog allows us to take input of varying datatypes from the user, such as float, string and integer. Works in co-relation with the Tkinter GUI library.
FileDialog: A library that helps you activate the “open/save file” window. Useful when you are creating a GUI application and want to give the user the option where to save his files or where to load them from. Works in co-relation with the Tkinter GUI library.
Message Box: A simple library used for creating GUI prompts that show up in a user-friendly way. These prompts have a variety of functions ranging from confirmation messages to simple warnings.
Openpyxl: A Library used to communicate between Microsoft Excel and Python. Very useful for automating tasks for those who use Excel often. With this library you can create excel sheets, store, read and change the data within the Excel file.
Shutil: The Python shutil module is used to perform high level operations on files or collections of files. The shutil module specializes in obtaining information from these collections of files as well as moving and copying them. The python os module has similar functions, but unlike shutil, they are focused on single files.
Logging: One of the lesser known Python Libraries. Teaches you the concept of creating system logs to track your program activities and events that occur. All these are saved to a single file, which we call, a “log” file. This file can be used for troubleshooting or debugging later on.
Selenium: The Python Selenium library can be thought as a web automation library. If you’ve heard of pyautogui, a library that can automate the movements of a mouse and keyboard, Selenium is the web equivalent of this. Selenium is able to take the place of the user while accessing web pages.
Pyautogui: A useful python library that allows you to automate your mouse movements and keyboard strokes. Simple and easy to learn. This library is designed to use the mouse and keyboard just like a regular human would. This makes it great for automating everyday tasks.
Beautiful soup: A library that is used for web scraping. Web scraping is the act of extracting data from the internet for use in your programs. Very useful in creating bots to automatically pull data from the internet routinely for specific tasks.
Scrapy: The more advanced, all in one web scraping library, Scrapy. Scrapy comes with all kinds of advanced feature that it’s weaker counterpart BeautifulSoup lacks. Link following, link extraction, proxies and rotating IP’s are just a few things that Scrapy can do.
Webbrowser: A library that provides a high-level interface to allow displaying Web-based documents to users. Basically, used to establish a connection between your python program and a website. Creating such a connection is important before carrying out other web related tasks, like web-scraping.
Requests: The Python requests module lets you easily download files from the Web without having to worry about many complicated issues such as network errors, connection problems, and data compression. The requests module was created as a better alternative to the Python urllib2 module, which has unnecessary complexity and lack of features when compared to the requests library.
Cfscrape: A rather unknown, but useful python library that can help you bypass certain “bot checks” on websites. Helpful when accessing sites who don’t allow bots. Use with caution.
Pyperclip: A Library that helps you manipulate your clip board. Send data to and from the clip-board with this Library.
Pyinstaller: The python pyinstaller library is used to translate your high level source code into low level compiled code. This helps to protect your software against piracy when distributing software.
Zipfile: A small library used to teach your program how to create zipfiles automatically. Useful in making custom backup scripts that use less space.
Send2trash: A library that can come in handy during file handling. Python by default, if ordered to, will delete any file permanently. Send2trash however, gives you the option to send it to the recycle bin instead.
Pygame: A python library designed for creating games. The Pygame library brings in support for many features required to build a game such as recording keyboard presses and mouse input, graphics, audio and drawing etc. It’s not the fastest or most efficient, but it’s one of the easier gaming libraries to learn.
Threading: A very complex library that introduces multi-threading to your program. Multi-threading is the concept of using multiple threads/cores on your PC to execute a task. This library is difficult to learn and implement properly, but if mastered, will dramatically improve program performance. Recommended for those working in resource intensive projects.
PyTorch:PyTorch is the largest machine learning library that allow developers to perform tensor computations wan ith acceleration of GPU, creates dynamic computational graphs, and calculate gradients automatically. Other than this, PyTorch offers rich APIs for solving application issues related to neural networks.
LightGBM:Gradient Boosting is one of the best and most popular machine learning library, which helps developers in building new algorithms by using redefined elementary models and namely decision trees. Therefore, there are special libraries which are available for fast and efficient implementation of this method.
SciPy:SciPy is a machine learning library for application developers and engineers. However, you still need to know the difference between SciPy library and SciPy stack. SciPy library contains modules for optimization, linear algebra, integration, and statistics.
Theano:Theano is a computational framework machine learning library in Python for computing multidimensional arrays. Theano works similar to TensorFlow, but it not as efficient as TensorFlow. Because of its inability to fit into production environments.
Pandas:Pandas is a machine learning library in Python that provides data structures of high-level and a wide variety of tools for analysis. One of the great feature of this library is the ability to translate complex operations with data using one or two commands. Pandas have so many inbuilt methods for grouping, combining data, and filtering, as well as time-series functionality.
Scikit-Learn:It is a Python library is associated with NumPy and SciPy. It is considered as one of the best libraries for working with complex data.
There are a lot of changes being made in this library. One modification is the cross-validation feature, providing the ability to use more than one metric. Lots of training methods like logistics regression and nearest neighbors have received some little improvements.
TensorFlow: It is a library that was developed by Google in collaboration with Brain Team. TensorFlow is a part of almost every Google application for machine learning.
TensorFlow works like a computational library for writing new algorithms that involve a large number of tensor operations, since neural networks can be easily expressed as computational graphs they can be implemented using TensorFlow as a series of operations on Tensors. Plus, tensors are N-dimensional matrices that represent your data.