20 Python libraries for you

So here they are:

Requests. The most famous http library written by kenneth reitz. It’s a must have for every python developer.

Scrapy. If you are involved in webscraping then this is a must have library for you. After using this library you won’t use any other.

wxPython. A gui toolkit for python. I have primarily used it in place of tkinter. You will really love it.

Pillow. A friendly fork of PIL (Python Imaging Library). It is more user friendly than PIL and is a must have for anyone who works with images.

SQLAlchemy. A database library. Many love it and many hate it. The choice is yours.

BeautifulSoup. I know it’s slow but this xml and html parsing library is very useful for beginners.

Twisted. The most important tool for any network application developer. It has a very beautiful api and is used by a lot of famous python developers.

NumPy. How can we leave this very important library ? It provides some advance math functionalities to python.

SciPy. When we talk about NumPy then we have to talk about scipy. It is a library of algorithms and mathematical tools for python and has caused many scientists to switch from ruby to python.

matplotlib. A numerical plotting library. It is very useful for any data scientist or any data analyzer.

Pygame. Which developer does not like to play games and develop them ? This library will help you achieve your goal of 2d game development.

Pyglet. A 3d animation and game creation engine. This is the engine in which the famous python port of minecraft was made

pyQT. A GUI toolkit for python. It is my second choice after wxpython for developing GUI’s for my python scripts.

pyGtk. Another python GUI library. It is the same library in which the famous Bittorrent client is created.

Scapy. A packet sniffer and analyzer for python made in python.

pywin32. A python library which provides some useful methods and classes for interacting with windows.

nltk. Natural Language Toolkit – I realize most people won’t be using this one, but it’s generic enough. It is a very useful library if you want to manipulate strings. But it’s capacity is beyond that. Do check it out.

nose. A testing framework for python. It is used by millions of python developers. It is a must have if you do test driven development.

SymPy. SymPy can do algebraic evaluation, differentiation, expansion, complex numbers, etc. It is contained in a pure Python distribution.

IPython. I just can’t stress enough how useful this tool is. It is a python prompt on steroids. It has completion, history, shell capabilities, and a lot more. Make sure that you take a look at it.

web.py is a web framework for Python that is as simple as it is powerful. web.py is in the public domain; you can use it for whatever purpose with absolutely no restrictions.

Jython: Python for the Java Platform

pyquery – pyquery allows you to make jquery queries on xml documents. The API is as much as possible the similar to jquery. pyquery uses lxml for fast xml and html manipulation.

dateutil – The dateutil module provides powerful extensions to the datetime module available in the Python standard library.

py-amqplib – Python client for the Advanced Message Queuing Procotol (AMQP), using for RabbitMQ.

path.py – It implements a path objects as first-class entities, allowing common operations on files to be invoked on those path objects directly.

libgmail – The `libgmail` project is a pure Python binding to provide access to Google’s Gmail web-mail service.

SetupTools – Setuptools is a fully-featured, actively-maintained, and stable library designed to facilitate packaging Python projects and helps you to easily download, build, install, upgrade, and uninstall Python packages

VirtualEnv – It is a tool to create isolated Python environments.

pip – A tool for installing and managing Python packages.

boto – Boto is a Python package that provides interfaces to Amazon Web Services, like EC2, Dynamo and all.

lxml – The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt. It is unique in that it combines the speed and XML feature completeness of these libraries with the simplicity of a native Python API, mostly compatible but superior to the well-known ElementTree API.

Coverage – Coverage.py measures code coverage, typically during test execution. It uses the code analysis tools and tracing hooks provided in the Python standard library to determine which lines are executable, and which have been executed.

pycrypto – This is a collection of both secure hash functions (such as SHA256 and RIPEMD160), and various encryption algorithms (AES, DES, RSA, ElGamal, etc.). The package is structured to make adding new modules easy.

Celery – Celery is a Distributed Task Queue system. Celery communicates via messages, usually using a broker to mediate between clients and workers. To initiate a task a client puts a message on the queue, the broker then delivers the message to a worker.

Pygments – Pygments is a syntax highlighting package written in Python. It is a generic syntax highlighter for general use in all kinds of software such as forum systems, wikis or other applications that need to prettify source code.

Selenium – The selenium package is used automate web browser interaction from Python. I am sharing the link for Python language bindings for Selenium WebDriver.

Cython – The Cython language makes writing C extensions for the Python language as easy as Python itself. Cython is a source code translator based on the well-known Pyrex, but supports more cutting edge functionality and optimizations.

OpenCV – OpenCV was designed for computational efficiency and with a strong focus on real-time applications. Written in optimized C/C++, the library can take advantage of multi-core processing. Enabled with OpenCL, it can take advantage of the hardware acceleration of the underlying heterogeneous compute platform.

Sphinx – Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText sources)

Markdown – This is a Python implementation of John Gruber’s Markdown. Markdown is a plain text formatting syntax designed so that it optionally can be converted to HTML using a tool by the same name. Markdown is popularly used to format readme files, for writing messages in online discussion forums or in text editors for the quick creation of rich text documents.

Memcached – This software is a 100% Python interface to the memcached memory cache daemon. Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

Plone – Usually people know WordPress, Plone is same a free and open source content management system built on top of the Zope application server. In principle, Plone can be used for any kind of website, including blogs, internet sites, webshops and internal websites.

Feedparser – Parse Atom and RSS feeds in Python. Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds.

oAuthLib – OAuthLib is a generic utility which implements the logic of OAuth without assuming a specific HTTP request object or web framework. Use it to graft OAuth client support onto your favorite HTTP library, or provider support onto your favourite web framework. If you’re a maintainer of such a library, write a thin veneer on top of OAuthLib and get OAuth support for very little effort.

bson – BSON, short for Bin­ary JSON, is a bin­ary-en­coded seri­al­iz­a­tion of JSON-like documents. Like JSON, BSON sup­ports the em­bed­ding of doc­u­ments and ar­rays with­in oth­er doc­u­ments and ar­rays. BSON also contains extensions that allow representation of data types that are not part of the JSON spec.

sh – A a full-fledged subprocess interface for Python that allows you to call any program as if it were a function.

Feedly – Feedly allows you to build complex feed and caching structures using Redis.

PDFMiner – PDFMiner is a tool for extracting information from PDF documents. Unlike other PDF-related tools, it focuses entirely on getting and analyzing text data. PDFMiner allows to obtain the exact location of texts in a page, as well as other information such as fonts or lines. It includes a PDF converter that can transform PDF files into other text formats (such as HTML).

Tweepy – An easy-to-use Python library for accessing the Twitter API.

Read the Docs – Life-line of python packages documentation. ReadTheDocs.org documentation for the open source community. It supports Sphinx docs written with reStructuredText, and can pull from your Subversion, Bazaar, Git, and Mercurial repositories.

pyWin32 – It provides various extensions for interacting with windows and to perform different operations.

Senetry – Sentry is a realtime event logging and aggregation platform. It specializes in monitoring errors and extracting all the information needed to do a proper post-mortem without any of the hassle of the standard user feedback loop.

Raven – Raven is a standalone (and the official) Python client for Sentry.

Nltk – NLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning, and an active discussion forum.

Elastic Search – Official low-level client for Elasticsearch. Its goal is to provide common ground for all Elasticsearch-related code in Python; because of this it tries to be opinion-free and very extendable.

Redis – Redis is an open source, BSD licensed, advanced key-value cache and store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets, sorted sets, bitmaps and hyperloglogs.

Pymongo – PyMongo is a Python distribution containing tools for working with MongoDB, and is the recommended way to work with MongoDB from Python. This documentation attempts to explain everything you need to know to use PyMongo.

pymysqld – This package contains a pure-Python MySQL client library. The goal of PyMySQL is to be a drop-in replacement for MySQLdb and work on CPython, PyPy, IronPython and Jython.

Cassandra-python-driver – A Python client driver for Apache Cassandra. This driver works exclusively with the Cassandra Query Language v3 (CQL3) and Cassandra’s native protocol.

GeoIP – MaxMind GeoIP Legacy Database – Python API

Django – Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Django should have a separate blog for its libraries, but lets just add some to make this post utilize django more sensibly 😉

TastyPie – Tastypie is a web service API framework for Django. It provides a convenient, yet powerful and highly customizable abstraction for creating REST-style interfaces.

Django Rest Framework – Django REST framework is a powerful and flexible toolkit that makes it easy to build Web APIs.

Django-haystack – Search doesn’t have to be hard. Haystack lets you write your search code once and choose the search engine you want it to run on. With a familiar API that should make any Djangonaut feel right at home and an architecture that allows you to swap things in and out as you need to, it’s how search ought to be.

Django-debug-toolbar – The Django Debug Toolbar is a configurable set of panels that display various debug information about the current request/response and when clicked, display more details about the panel’s content.

Piston – Piston is a relatively small Django application that lets you create application programming interfaces (API) for your sites.

In final note, my intention