Python has one of the largest package libraries. Packages range from tools to simulate networks or graphs to frameworks like Django and Flask, Python’s developer community have built quite a library of packages for a wide swathe of uses. As a Python developer, there are a handful of packages that I’ve found to be useful and are worth checking out. While most Pythonists are familiar with the basics like NumPy and Pandas, there are many niche specific yet versatile packages that might be interesting. Yet, there exist so many useful Python packages that it would not do them justice if I were to write only about a finite number of them.
PyEphem is a package for making astronomical calculations. The package provides methods and functions for determining everything from when the first full moon occurred in 1987 to when the star Mars will be rising over Istanbul. Here is some sample code to play around with:
Networkx is a tool to simulate building networks. For everyone from graph theorists to algorithm designers, Networkx is useful for building abstract maps and graphs. Graph theory is widely applicable – from finance to psychology, it is a growing interdisciplinary subject.
I’ve used this package to test out a currency arbitrage algorithm that I had written for a CS project earlier this year.
Natural Language Toolkit
NLTK is a package that allows for manipulation of human language. Let’s say you want to parse a block of actual human text (not code). NLTK provides tools for treeing, tokenizing, and dissecting blocks of text. This package has a variety of applications, and I can think of a few in the field of Artificial Intelligence, linguistics research, and webscraping.
Stop by next week for another three interesting Python packages.