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 .. _Setuptools: http://pythonhosted.org/setuptools/ .. _pip: https://github.com/pypa/pip 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 .. _django: https://www.djangoproject.com/ .. _tornado: http://www.tornadoweb.org/ .. _pyramid: http://docs.pylonsproject.org/en/latest/docs/pyramid.html Framework Extras ---------------- Extras related to web development frameworks. - `django-debug-toolbar`_ - django-debug-toolbar - `django-social-auth`_ - Django social authentication made simple - `django-extensions`_ - A collection of custom extensions - `django-crispy-forms`_ - The best way to have DRY Django forms - `django-allauth`_ - Django-allauth - `django-compressor`_ - Compresses linked and inline javascript or CSS - `django-reversion`_ - Provides comprehensive version control facilities - `django-taggit`_ - Simple tagging for django .. _django-debug-toolbar: https://github.com/django-debug-toolbar/django-debug-toolbar .. _django-social-auth: https://github.com/omab/django-social-auth .. _django-extensions: http://django-extensions.readthedocs.org/ .. _django-crispy-forms: http://django-crispy-forms.readthedocs.org/ .. _django-allauth: http://www.intenct.nl/projects/django-allauth/ .. _django-compressor: http://django-compressor.readthedocs.org/ .. _django-reversion: https://github.com/etianen/django-reversion .. _django-taggit: http://django-taggit.readthedocs.org/ 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 .. _Flask: http://flask.pocoo.org/ .. _Bottle: http://bottlepy.org/ .. _web.py: http://webpy.org/ Micro Framework Extras ---------------------- Extras related to micro frameworks and routers. - `Flask-Extensions`_ - Flask extensions .. _Flask-Extensions: http://flask.pocoo.org/extensions/ Framework Components -------------------- Standalone component for web development. - `Werkzeug`_ - The Python WSGI Utility Library - `WebOb`_ - WSGI request and response objects .. _Werkzeug: http://werkzeug.pocoo.org/ .. _WebOb: http://www.webob.org/ Templating ---------- Libraries and tools for templating. - `Jinja2`_ - A full featured template engine for Python - `Mako`_ - Mako Templates for Python .. _Jinja2: http://jinja.pocoo.org/ .. _Mako: http://www.makotemplates.org/ 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 .. _pelican: http://blog.getpelican.com/ .. _Cactus: https://github.com/koenbok/Cactus .. _hyde: http://hyde.github.com/ 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 .. _django CMS: https://github.com/divio/django-cms .. _wagtail: http://wagtail.io/ .. _mezzanine: http://mezzanine.jupo.org/ .. _Plone: http://plone.org 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 .. _requests: http://python-requests.org .. _httpie: https://github.com/jakubroztocil/httpie .. _scrapy: http://scrapy.org/ .. _pattern: https://github.com/clips/pattern .. _pyquery: http://pythonhosted.org/pyquery/ .. _portia: https://github.com/scrapinghub/portia .. _Beautiful Soup: http://www.crummy.com/software/BeautifulSoup/ Email ----- Libraries for sending and parsing email. - `mailinabox`_ - Take back control of your email .. _mailinabox: https://mailinabox.email/ Files ----- Libraries for file manipulation. - `Tablib`_ - Pythonic Tabular Datasets - `q`_ - Run SQL directly on CSV or TSV files .. _Tablib: http://python-tablib.org .. _q: https://github.com/harelba/q Feeds ----- Libraries for feeds parsing. - `feedparser`_ - Parse Atom and RSS feeds in Python .. _feedparser: https://pythonhosted.org/feedparser/ Dependency Injection -------------------- Libraries that implement the dependency injection design pattern. - `pinject`_ - A pythonic dependency injection library .. _pinject: https://github.com/google/pinject Image ----- Libraries for manipulating images. - `Pillow`_ - Python Imaging Library (Fork) .. _Pillow: http://python-pillow.github.io/ 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 .. _tox: http://tox.readthedocs.org/ .. _nose: http://nose.readthedocs.org/ .. _pytest: http://pytest.org/ .. _Huxley: https://github.com/facebook/huxley .. _faker: http://www.joke2k.net/faker/ .. _sqlmap: http://sqlmap.org/ .. _buildbot: http://buildbot.net/ Documentation ------------- Libraries for generating project documentation. - `Sphinx`_ - Python documentation generator .. _Sphinx: http://sphinx-doc.org/ Security -------- Libraries for security. - `itsdangerous`_ - Various helpers to pass trusted data to untrusted environments .. _itsdangerous: https://github.com/mitsuhiko/itsdangerous Code Analysis ------------- Libraries and tools for analysing codebases. - `pep8`_ - Simple Python style checker in one Python file .. _pep8: https://github.com/jcrocholl/pep8 Asset Management ---------------- Tools for managing, compressing and minifying website assets. - `webassets`_ - Asset management for Python web development. .. _webassets: https://github.com/miracle2k/webassets Geolocation ----------- Libraries for geocoding addresses and working with latitudes and longitudes. - `geopy`_ - A Geocoding Toolbox for Python .. _geopy: https://github.com/geopy/geopy Date and Time ------------- Libraries for working with dates and times. - `arrow`_ - Better dates & times for Python .. _arrow: http://crsmithdev.com/arrow/ Event ----- Libraries that are event-driven or implement non-blocking event loops. - `gevent`_ - A coroutine-based Python networking library .. _gevent: http://gevent.org/ Logging ------- Libraries for generating and working with log files. - `logbook`_ - A cool logging replacement for Python .. _logbook: http://logbook.pocoo.org/ PDF --- Libraries and software for working with PDF files. - `xhtml2pdf`_ - HTML/CSS to PDF converter based on Python - `pdfminer`_ - Python PDF Parser .. _xhtml2pdf: http://www.xhtml2pdf.com/ .. _pdfminer: https://github.com/euske/pdfminer 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 .. _SQLAlchemy: http://www.sqlalchemy.org/ .. _peewee: http://peewee.readthedocs.org/ NoSQL ----- Libraries for working with "NoSQL" backends. - `redis-py`_ - Redis Python Client - `PyMongo`_ - Python distribution containing tools for working with MongoDB .. _redis-py: https://github.com/andymccurdy/redis-py .. _PyMongo: http://api.mongodb.org/python/current/ Queue ----- Libraries for working with event and task queues. - `Celery`_ - Distributed Task Queue - `RQ`_ - Simple job queues for Python backed by Redis .. _Celery: http://www.celeryproject.org/ .. _RQ: http://python-rq.org/ Search ------ Libraries and software for indexing and performing search queries on data. - `Mailpile`_ - An experimental indexing and search engine for e-mail .. _Mailpile: https://github.com/pagekite/Mailpile 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 .. _click: http://click.pocoo.org/ .. _docopt: http://docopt.org/ .. _clint: https://github.com/kennethreitz/clint 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 .. _oauthlib: https://github.com/idan/oauthlib .. _rauth: https://rauth.readthedocs.org/ Markup ------ Libraries for working with markup. - `Docutils`_ - Documentation Utilities - `python-markdown2`_ - A fast and complete implementation of Markdown .. _Docutils: http://docutils.sourceforge.net/ .. _python-markdown2: https://github.com/trentm/python-markdown2 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 .. _NumPy: http://www.numpy.org/ .. _TextBlob: http://textblob.readthedocs.org/ 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" .. _eve: http://python-eve.org/ .. _django-rest-framework: http://www.django-rest-framework.org/ .. _sandman: https://github.com/jeffknupp/sandman Caching ------- Libraries for caching data. - `beaker`_ - WSGI middleware for sessions and caching .. _beaker: http://beaker.readthedocs.org/en/latest/ 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 .. _supervisor: https://github.com/Supervisor/supervisor .. _Gunicorn: http://gunicorn.org/ .. _ansible: http://www.ansible.com/home .. _salt: https://github.com/saltstack/salt .. _fabric: http://www.fabfile.org/ 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 .. _virtualenv: https://github.com/pypa/virtualenv .. _Blinker: http://pythonhosted.org/blinker/ .. _sentry: https://github.com/getsentry/sentry .. _sshuttle: https://github.com/apenwarr/sshuttle .. _pandas: http://pandas.pydata.org/ .. _plan: https://github.com/fengsp/plan .. _ajenti: http://ajenti.org/ .. _sh: https://github.com/amoffat/sh .. _glances: http://nicolargo.github.io/glances/ .. _deis: https://github.com/deis/deis .. _kivy: http://kivy.org/ .. _matplotlib: http://matplotlib.org/ .. _NLTK: http://www.nltk.org/