Libraries

This part focuses on libraries.

Package Management

Libraries for package and dependency management.

  • Setuptools - a fully-featured library designed to facilitate packaging Python projects
  • pip - The PyPA recommended tool for installing Python packages

Framework

Web development frameworks.

  • django - The Web framework for perfectionists with deadlines
  • tornado - A Python web framework and asynchronous networking library
  • pyramid - Pyramid web framework

Framework Extras

Extras related to web development frameworks.

Micro Frameworks

Micro frameworks and routers.

  • Flask - A microframework based on Werkzeug, Jinja 2 and good intentions
  • Bottle - A fast, simple and lightweight WSGI micro web-framework
  • web.py - A web framework for Python that is as simple as it is powerful

Micro Framework Extras

Extras related to micro frameworks and routers.

Framework Components

Standalone component for web development.

  • Werkzeug - The Python WSGI Utility Library
  • WebOb - WSGI request and response objects

Templating

Libraries and tools for templating.

  • Jinja2 - A full featured template engine for Python
  • Mako - Mako Templates for Python

Static Site Generators

Tools for pre-processing content to generate web pages.

  • pelican - Static site generator that supports Markdown and reST syntax
  • Cactus - Static site generator for designers
  • hyde - A Python Static Website Generator

Content Management System

Content management platforms.

  • django CMS - The easy-to-use and developer-friendly CMS
  • wagtail - A new Django content management system
  • mezzanine - A content management platform built using the Django framework
  • Plone - A robust, secure, entreprise level CMS

HTTP and Web Crawling

Libraries for working with HTTP and scraping websites.

  • requests - Python HTTP Requests for Humans
  • httpie - A command line HTTP client, a user-friendly cURL replacement
  • scrapy - A fast high-level screen scraping and web crawling framework
  • pattern - Pattern is a web mining module for Python
  • pyquery - A jquery-like library for python
  • portia - Visual scraping for Scrapy
  • Beautiful Soup - Designed for quick turnaround projects like screen-scraping

Email

Libraries for sending and parsing email.

Files

Libraries for file manipulation.

  • Tablib - Pythonic Tabular Datasets
  • q - Run SQL directly on CSV or TSV files

Feeds

Libraries for feeds parsing.

Dependency Injection

Libraries that implement the dependency injection design pattern.

  • pinject - A pythonic dependency injection library

Image

Libraries for manipulating images.

  • Pillow - Python Imaging Library (Fork)

Testing

Libraries for testing codebases and generating test data.

  • tox - Standardize testing in Python
  • nose - nose is nicer testing for python
  • pytest - A mature full-featured Python testing tool
  • Huxley - A test-like system for catching visual regressions in Web applications
  • faker - A Python package that generates fake data for you
  • sqlmap - Automatic SQL injection and database takeover tool
  • buildbot - Python-based continuous integration testing framework

Documentation

Libraries for generating project documentation.

  • Sphinx - Python documentation generator

Security

Libraries for security.

  • itsdangerous - Various helpers to pass trusted data to untrusted environments

Code Analysis

Libraries and tools for analysing codebases.

  • pep8 - Simple Python style checker in one Python file

Asset Management

Tools for managing, compressing and minifying website assets.

  • webassets - Asset management for Python web development.

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

  • geopy - A Geocoding Toolbox for Python

Date and Time

Libraries for working with dates and times.

  • arrow - Better dates & times for Python

Event

Libraries that are event-driven or implement non-blocking event loops.

  • gevent - A coroutine-based Python networking library

Logging

Libraries for generating and working with log files.

  • logbook - A cool logging replacement for Python

PDF

Libraries and software for working with PDF files.

ORM and Datamapping

Libraries that implement object-relational mapping or datamapping techniques.

  • SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper
  • peewee - A small, expressive orm

NoSQL

Libraries for working with “NoSQL” backends.

  • redis-py - Redis Python Client
  • PyMongo - Python distribution containing tools for working with MongoDB

Queue

Libraries for working with event and task queues.

  • Celery - Distributed Task Queue
  • RQ - Simple job queues for Python backed by Redis

Command Line

Libraries for building command line utilities.

  • click - Python composable command line utility
  • docopt - Pythonic command line arguments parser, that will make you smile
  • clint - Python Command-line Application Tools

Authentication

Libraries for implementing authentications schemes.

  • oauthlib - A generic implementation of the OAuth request-signing logic
  • rauth - A Python library for OAuth 1.0/a, 2.0, and Ofly

Markup

Libraries for working with markup.

Text and Numbers

Libraries for parsing and manipulating text and numbers.

  • NumPy - The fundamental package for scientific computing with Python
  • TextBlob - Simple, Pythonic, text processing–Sentiment analysis

REST and API

Libraries and web tools for developing REST-ful APIs.

  • eve - REST API framework powered by Flask, MongoDB and good intentions
  • django-rest-framework - Awesome web-browseable Web APIs for Django
  • sandman - Sandman “makes things REST”

Caching

Libraries for caching data.

  • beaker - WSGI middleware for sessions and caching

Deployment

Libraries for deployment and IT automation.

  • supervisor - Supervisor process control system for UNIX
  • Gunicorn - A Python WSGI HTTP Server for UNIX
  • ansible - A radically simple IT automation platform
  • salt - Infrastructure automation and management system
  • fabric - Simple, Pythonic remote execution and deployment

Extra Things

Useful libraries or tools that don’t fit in the categories above.

  • virtualenv - Virtual Python Environment builder
  • Blinker - Fast & simple object-to-object and broadcast signaling
  • sentry - A realtime, platform-agnostic error logging and aggregation platform
  • sshuttle - Transparent proxy server that works as a poor man’s VPN
  • pandas - Flexible and powerful data analysis / manipulation library
  • plan - Cron jobs in Python
  • ajenti - The web admin panel everyone wants
  • sh - Python process launching
  • glances - Glances an Eye on your system
  • deis - Your PaaS. Your Rules
  • kivy - Open source software library for creating NUI applications
  • matplotlib - Plotting with Python
  • NLTK - The Natural Language Toolkit