You cannot afford to overlook these top 5 Python tools
Python is a widely used high-level, general-purpose, interpreted, dynamic programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than possible in languages such as C++ or Java. The language provides constructs intended to enable writing clear programs on both small and large scale. Python interpreters are available for many operating systems, allowing Python code to run on a wide variety of systems.
For all the above reasons and more, Python as a language has achieved huge success. It features a dynamic type system and automatic memory management and has a massive and complete standard library. It has a vast collection of first and third party libraries. With so many libraries out there, though, it’s no surprise some get crowded out and don’t quite grab the attention they deserve. Plus, programmers who work exclusively in one domain don’t always know about the goodies that may be available to them through libraries created for other kinds of work.
Here are the top 5 Python libraries you may have overlooked but are definitely worth your attention. It’s time to give one of these hidden gems some love.
What it’s for: To access multiple cloud providers through a single, steady, and unified API.
Why it’s great: With support for both the 2.x and 3.x flavor of Python, APIs are available for DNS, compute, storage, and load balancing. PyPy is supported as well for those using the PyPy version of Python for the additional performance. Apache Libcloud has a unified mechanism for dealing with dozens of providers and the related methods for manipulating their resources is a boon for cloud providers.
What it’s for: Scientific computing and mathematical work, including linear algebra, financial operations, matrix math, statistics, and lots more.
Why it’s great: NumPy is an extension to the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large library of high-level mathematical functions to operate on these arrays. NumPy incorporates features of the competing Numarray into Numeric, with extensive modifications. NumPy is open source and has many contributors. It is one of the simplest, most flexible ways to add support for multidimensional arrays to Python. Get the SciPy library and environment, which includes NumPy as a standard-issue item if you want the total and complete Python science-and-math enchilada. You can also check out Pandas for more sophisticated data analysis built on top of NumPy.
What it’s for: Image processing
Why it’s great: Pillow aims to be both easier to use than PIL (Python Imaging Library) and code-compatible with PIL via minimal changes. Extensions are included for talking to both native Windows imaging functions and Python’s Tcl/Tk-backed Tkinter GUI package. Pillow is available through GitHub or the PyPI repository.
What it’s for: A cross-platform set of Python modules for creating video games.
Why it’s great: Pygame includes computer graphics and sound libraries designed to be used with the Python programming language. It provides a useful way to function with many GUI-oriented behaviours that might otherwise need a lot of heavy lifting: dealing with multichannel sound; drawing canvas and sprite graphics; handling windows and click events; collision detections; and so on. Not every app, and not even every GUI app, will benefit from being built with Pygame, but take a closer look at what it provides and you might be surprised.
What it’s for: Screen scraping and Web crawling.
Why it’s great: Scrapy can be used to extract data using APIs or as a general purpose web crawler. It not only keeps the entire process of scraping simple but also creates a class that describes the type of item(s) you want scraped and write some rules about how to remove that data from the page. The results are exported as JSON, XML, CSV, or any number of other formats. The gathered data can be saved raw, or it can be cleaned as it’s imported. Additionally, Scrapy can be extended to allow many other behaviors, such as handling session cookies or how to handle logging into a website. Images, too, can be automatically tapped by Scrapy and be related with the scraped matter.