1. Python Library
After Modules and Python Packages, we shift our discussion to Python Library. Let’s begin.
2. An Introduction to Libraries
We know that a module is a file with some Python code, and a package is a directory for subpackages and modules. But the line between a package and a Python library is quite blurred.
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 library does not pertain to any specific context in Python. Here, a ‘library’ loosely describes a collection of core modules. Essentially, then, a library is a collection of modules. A package is a library that can be installed using a package manager like rubygems or npm.
3. The Python Standard Library
The Python standard Library is a collection of exact syntax, token, and semantics of Python. It comes bundled with core Python distribution. We mentioned this when we began with an introduction.
It is written in C, and handles functionality like I/O and other core modules. All this functionality together makes Python the language it is. More than 200 core modules sit at the heart of the standard library. This library ships with Python. But in addition to this library, you can also access a growing collection of several thousand components from the Python Package Index (PyPI). We mentioned it in the previous blog.
4. Important Python Libraries
Next, we will see twenty Python libraries list that will take you places in your journey with Python. These are also the Python libraries for Data Science.
Matplotlib helps with data analyzing, and is a numerical plotting library. We talked about it in Python for Data Science.
Like we’ve said before, Pandas is a must for data-science. It provides fast, expressive, and flexible data structures to easily (and intuitively) work with structured (tabular, multidimensional, potentially heterogeneous) and time-series data.
Requests is a Python Library that lets you send HTTP/1.1 requests, add headers, form data, multipart files, and parameters with simple Python dictionaries. It also lets you access the response data in the same way.
It has advanced math functions and a rudimentary scientific computing package.
SQLAlchemy is a library with well-known enterprise-level patterns. It was designed for efficient and high-performing database-access.
It may be a bit slow, BeautifulSoup has an excellent XML- and HTML- parsing library for beginners.
Pyglet is an excellent choice for an object-oriented programming interface in developing games. In fact, it also finds use in developing other visually-rich applications for Mac OS X, Windows, and Linux. In the 90s, when people were bored, they resorted to playing Minecraft on their computers. Pyglet is the engine behind Minecraft.
Next up is SciPy, one of the libraries we have been talking so much about. It has a number of user-friendly and efficient numerical routines. These include routines for optimization and numerical integration.
If your motive is fast, high-level screen scraping and web crawling, go for Scrapy. You can use it for purposes from data mining to monitoring and automated testing.
PyGame provides an extremely easy interface to the Simple Directmedia Library (SDL) platform-independent graphic, audio, and input libraries.
k. Python Twisted
An event-driven networking engine, Twisted is written in Python, and licensed under the open-source MIT license.
Pillow is a friendly fork of PIL (Python Imaging Library), but is more user-friendly. If you work with images, Pillow is your best friend.
This provides useful methods and class for interaction with Windows, as the name suggests.
It is a wrapper around wxWidgets for Python.
iPython Python Library has an architecture that facilitates parallel and distributed computing. With it, you can develop, execute, debug, and monitor parallel applications.
Learn: Python Regular Expressions
Nose delivers an alternate test discovery and running process for unittest. This intends to mimic py.test’s behavior as much as it can.
A web framework, Flask is built with a small core and many extensions.
It is an open-source library for symbolic math. With very simple and comprehensible code that is easily extensible, SymPy is a full-fledged Computer Algebra System (CAS). It is written in Python, and hence does not need external libraries.
Along with being a library, Fabric is a command-line tool for streamlining the use of SSH for application deployment or systems administration tasks. With it, you can execute local or remote shell commands, upload/download files, and even prompt running user for input, or abort execution.
PyGTK lets you easily create programs with a GUI (Graphical User Interface) with Python.
Now you know which libraries to go for if you choose to extend a career in Python. Many of these help us with data-science as well. Or if you wish to go out of your way, create your own library, and get it published with the PyPI; help the community grow.