Awesome Python Frameworks Libraries and Software
github link: https://github.com/vinta/awesome-pythonAwesome Python
A curated list of awesome Python frameworks, libraries and software. Inspired by awesome-php.
[*]Awesome Python
[*]Environment Management
[*]Package Management
[*]Package Repositories
[*]Distribution
[*]Build Tools
[*]Interactive Interpreter
[*]Files
[*]Date and Time
[*]Text Processing
[*]Specific Formats Processing
[*]Natural Language Processing
[*]Documentation
[*]Configuration
[*]Command-line Tools
[*]Downloader
[*]Imagery
[*]OCR
[*]Audio
[*]Video
[*]Geolocation
[*]HTTP
[*]Database
[*]Database Drivers
[*]ORM
[*]Web Frameworks
[*]Permissions
[*]CMS
[*]E-commerce
[*]RESTful API
[*]Authentication
[*]Template Engine
[*]Queue
[*]Search
[*]News Feed
[*]Asset Management
[*]Caching
[*]Internationalization
[*]URL Manipulation
[*]HTML Manipulation
[*]Web Crawling
[*]Web Content Extracting
[*]Forms
[*]Data Validation
[*]Anti-spam
[*]Tagging
[*]Admin Panels
[*]Static Site Generator
[*]Processes and Threads
[*]Concurrency and Networking
[*]WebSocket
[*]WSGI Servers
[*]RPC Servers
[*]Cryptography
[*]GUI
[*]Game Development
[*]Logging
[*]Testing
[*]Code Analysis and Linter
[*]Debugging Tools
[*]Science and Data Analysis
[*]Data Visualization
[*]Computer Vision
[*]Machine Learning
[*]Functional Programming
[*]MapReduce
[*]Third-party APIs
[*]DevOps Tools
[*]Job Scheduler
[*]Foreign Function Interface
[*]High Performance
[*]Network Virtualization and SDN
[*]Hardware
[*]Compatibility
[*]Miscellaneous
[*]Algorithms and Design Patterns
[*]Editor Plugins
[*]ResourcesOther Awesome Lists
[*]Websites
[*]Weekly
[*]
[*]Contributing
Environment Management
Libraries for Python version and environment management.
[*]p - Dead Simple Interactive Python Version Management.
[*]pyenv - Simple Python version management.
[*]virtualenv - A tool to create isolated Python environments.
[*]virtualenvwrapper - A set of extensions to virtualenv.
[*]virtualenv-api - An API for virtualenv and pip.
[*]pew - A set of tools to manage multiple virtual environments.
[*]Vex - Run a command in the named virtualenv.
[*]PyRun - A one-file, no-installation-needed version of Python.
Package Management
Libraries for package and dependency management.
[*]pip - The Python package and dependency manager.
[*]Python Package Index
[*]conda - Cross-platform, Python-agnostic binary package manager.
[*]Curdling - Curdling is a command line tool for managing Python packages.
[*]wheel - The new standard of Python distribution and are intended to replace eggs.
Package Repositories
Local PyPI repository server and proxies.
[*]warehouse - Next generation Python Package Repository (PyPI).
[*]Warehouse
[*]devpi - PyPI server and packaging/testing/release tool.
[*]localshop - PyPI server which mirrors official packages on-demand, and also supports local (private) package uploads.
Distribution
Libraries to create packaged executables for release distribution.
[*]cx-Freeze - Freezes Python scripts (cross-platform).
[*]py2exe - Freezes Python scripts (Windows).
[*]pynsist - A tool to build Windows installers, installers bundle Python itself.
[*]py2app - Freezes Python scripts (Mac OS X).
[*]PyInstaller - Converts Python programs into stand-alone executables (cross-platform).
[*]dh-virtualenv - Build and distribute a virtualenv as a Debian package.
[*]Nuitka - Compile scripts, modules, packages to an executable or extension module.
Build Tools
Compile software from source code.
[*]buildout - A build system for creating, assembling and deploying applications from multiple parts, some of which may be non-Python-based.
[*]SCons - A software construction tool.
[*]PlatformIO - A console tool to build code with different development platforms.
[*]BitBake - A make-like build tool with the special focus of distributions and packages for embedded Linux.
[*]fabricate - A build tool that finds dependencies automatically for any language.
Interactive Interpreter
Interactive Python interpreters (REPL).
[*]IPython - A rich toolkit to help you make the most out of using Python interactively.
[*]bpython – A fancy interface to the Python interpreter.
[*]ptpython - Advanced Python REPL built on top of the python-prompt-toolkit.
Files
Libraries for file manipulation and MIME type detection.
[*]mimetypes - (Python standard library) Map filenames to MIME types.
[*]imghdr - (Python standard library) Determine the type of an image.
[*]python-magic - A Python interface to the libmagic file type identification library.
[*]path.py - A module wrapper for os.path.
[*]watchdog - API and shell utilities to monitor file system events.
[*]Unipath - An object-oriented approach to file/directory operations.
[*]pathlib - (Python standard library in Python 3.4+) An cross-platform, object-oriented path library.
Date and Time
Libraries for working with dates and times.
[*]arrow - Better dates & times for Python.
[*]Chronyk - A Python 3 library for parsing human-written times and dates.
[*]dateutil - Extensions to the standard Python datetime module.
[*]delorean - A library for clearing up the inconvenient truths that arise dealing with datetimes.
[*]when.py - Providing user-friendly functions to help perform common date and time actions.
[*]moment - A Python library for dealing with dates/times. Inspired by Moment.js.
[*]pytz - World timezone definitions, modern and historical. Brings the tz database into Python.
[*]PyTime - A easy-use Python module which aims to operate date/time/datetime by string.
Text Processing
Libraries for parsing and manipulating plain texts.
[*]General
[*]difflib - (Python standard library) Helpers for computing deltas.
[*]Levenshtein - Fast computation of Levenshtein distance and string similarity.
[*]fuzzywuzzy - Fuzzy String Matching.
[*]esmre - Regular expression accelerator.
[*]shortuuid - A generator library for concise, unambiguous and URL-safe UUIDs.
[*]ftfy - Makes Unicode text less broken and more consistent automagically.
[*]unidecode - ASCII transliterations of Unicode text.
[*]chardet - Python 2/3 compatible character encoding detector.
[*]xpinyin - A library to translate Chinese hanzi (漢字) to pinyin (拼音).
[*]pangu.py - Spacing texts for CJK and alphanumerics.
[*]pyfiglet - An implementation of figlet written in Python.
[*]uniout - Print readable chars instead of the escaped string.
[*]Slugify
[*]awesome-slugify - A Python slugify library that can preserve unicode.
[*]python-slugify - A Python slugify library that translates unicode to ASCII.
[*]unicode-slugify - A slugifier that generates unicode slugs with Django as a dependency.
[*]Parser
[*]PLY - Implementation of lex and yacc parsing tools for Python
[*]phonenumbers - Parsing, formatting, storing and validating international phone numbers.
[*]python-user-agents - Browser user agent parser.
[*]sqlparse - A non-validating SQL parser.
[*]Pygments - A generic syntax highlighter.
[*]python-nameparser - Parsing human names into their individual components.
[*]pyparsing - A general purpose framework for generating parsers.
Specific Formats Processing
Libraries for parsing and manipulating specific text formats.
[*]General
[*]tablib - A module for Tabular Datasets in XLS, CSV, JSON, YAML.
[*]Office
[*]python-docx - Reads, queries and modifies Microsoft Word 2007/2008 docx files.
[*]xlwt / xlrd - Writing and reading data and formatting information from Excel files.
[*]XlsxWriter - A Python module for creating Excel .xlsx files.
[*]xlwings - A BSD-licensed library that makes it easy to call Python from Excel and vice versa.
[*]openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
[*]Marmir - Takes Python data structures and turns them into spreadsheets.
[*]unoconv - Convert between any document format supported by LibreOffice/OpenOffice.
[*]PDFMiner - A tool for extracting information from PDF documents.
[*]PyPDF2 - A library capable of splitting, merging and transforming PDF pages.
[*]ReportLab - Allowing Rapid creation of rich PDF documents.
[*]Markdown
[*]Python-Markdown - A Python implementation of John Gruber’s Markdown.
[*]Mistune - Fastest and full featured pure Python parsers of Markdown.
[*]YAML
[*]PyYAML - YAML implementations for Python.
[*]CSV
[*]csvkit - Utilities for converting to and working with CSV.
[*]Archive
[*]unp - A command line tool that can unpack archives easily.
Natural Language Processing
Libraries for working with human languages.
[*]NLTK - A leading platform for building Python programs to work with human language data.
[*]Pattern - A web mining module for the Python. It has tools for natural language processing, machine learning, among others.
[*]TextBlob - Providing a consistent API for diving into common NLP tasks. Stands on the giant shoulders of NLTK and Pattern.
[*]jieba - Chinese Words Segmentation Utilities.
[*]SnowNLP - A library for processing Chinese text.
[*]loso - Another Chinese segmentation library.
[*]genius - A Chinese segment base on Conditional Random Field.
[*]langid.py - Stand-alone language identification system.
Documentation
Libraries for generating project documentation.
[*]Sphinx - Python Documentation generator.
[*]awesome-sphinxdoc
[*]reStructuredText - Markup Syntax and Parser Component of Docutils.
[*]MkDocs - Markdown friendly documentation generator.
[*]Pycco - The original quick-and-dirty, hundred-line-long, literate-programming-style documentation generator.
[*]pdoc - Epydoc replacement to auto generate API documentation for Python libraries.
Configuration
Libraries for storing configuration options.
[*]ConfigParser - (Python standard library) INI file parser.
[*]ConfigObj - INI file parser with validation.
[*]config - Hierarchical config from the author of logging.
[*]profig - Config from multiple formats with value conversion.
Command-line Tools
Libraries for building command-line application.
[*]Command-line Application Development
[*]cement - Cement provides a light-weight and fully featured foundation to build anything from single file scripts to complex and intricately designed applications.
[*]click - A package for creating beautiful command line interfaces in a composable way.
[*]clint - Python Command-line Application Tools.
[*]cliff - A framework for creating command-line programs with multi-level commands.
[*]Clime – Clime lets you convert any module into a multi-command CLI program without any configuration.
[*]docopt - Pythonic command line arguments parser.
[*]colorama - Cross-platform colored terminal text.
[*]pyCLI - Command-line applications supporting standard command line parsing, logging, unit and functional testing.
[*]Gooey - Turn command line programs into a full GUI application with one line
[*]python-prompt-toolkit - A Library for building powerful interactive command lines.
[*]Productivity Tools
[*]cookiecutter - A command-line utility that creates projects from cookiecutters (project templates). E.g. Python package projects, jQuery plugin projects.
[*]httpie - A command line HTTP client, a user-friendly cURL replacement.
[*]percol - Adds flavor of interactive selection to the traditional pipe concept on UNIX.
[*]RainbowStream - Smart and nice Twitter client on terminal.
[*]caniusepython3 - Determine what projects are blocking you from porting to Python 3.
[*]thefuck - Correcting your previous console command.
[*]doitlive - A tool for live presentations in the terminal.
Downloader
Libraries for downloading.
[*]s3cmd - A command line tool for managing Amazon S3 and CloudFront.
[*]s4cmd - Super S3 command line tool, good for higher performance.
[*]youtube-dl - A small command-line program to download videos from YouTube.
[*]you-get - A YouTube/Youku/Niconico video downloader written in Python 3.
[*]coursera - Script for downloading Coursera.org videos and naming them.
[*]WikiTeam - Tools for downloading and preserving wikis.
[*]subliminal - Library and command line tool to search and download subtitles.
Imagery
Libraries for manipulating images.
[*]pillow - Pillow is the friendly PIL fork.
[*]wand - Python bindings for MagickWand, C API for ImageMagick.
[*]thumbor - A smart imaging service. It enables on-demand crop, resizing and flipping of images.
[*]imgSeek - A project for searching a collection of images using visual similarity.
[*]python-qrcode - A pure Python QR Code generator.
[*]pyBarcode - Create barcodes in Python without needing PIL.
[*]pygram - Instagram-like image filters.
[*]Quads - Computer art based on quadtrees.
[*]nude.py - Nudity detection.
[*]scikit-image - A Python library for (scientific) image processing.
[*]hmap - Image histogram remapping.
OCR
Libraries for Optical Character Recognition.
[*]python-tesseract - A wrapper class for Google Tesseract OCR.
[*]pytesseract - Another wrapper for Google Tesseract OCR.
[*]pyocr - A wrapper for Tesseract and Cuneiform.
Audio
Libraries for manipulating audio.
[*]audiolazy - Expressive Digital Signal Processing (DSP) package for Python.
[*]audioread - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.
[*]beets - A music library manager and MusicBrainz tagger.
[*]dejavu - Audio fingerprinting and recognition.
[*]django-elastic-transcoder - Django + Amazon Elastic Transcoder.
[*]eyeD3 - A tool for working with audio files, specifically MP3 files containing ID3 metadata.
[*]id3reader - A Python module for reading MP3 meta data.
[*]mutagen - A Python module to handle audio metadata.
[*]pydub - Manipulate audio with a simple and easy high level interface.
[*]pyechonest - Python client for the Echo Nest API.
[*]talkbox - A Python library for speech/signal processing.
[*]TimeSide - Open web audio processing framework.
[*]tinytag - A library for reading music meta data of MP3, OGG, FLAC and Wave files.
[*]m3u8 - A module for parsing m3u8 file.
Video
Libraries for manipulating video and GIFs.
[*]moviepy - A module for script-based movie editing with many formats, including animated GIFs.
[*]shorten.tv - Video summarization.
[*]scikit-video - Video processing routines for SciPy.
Geolocation
Libraries for geocoding addresses and working with latitudes and longitudes.
[*]GeoDjango - A world-class geographic web framework.
[*]geopy - Python Geocoding Toolbox.
[*]pygeoip - Pure Python GeoIP API.
[*]GeoIP - Python API for MaxMind GeoIP Legacy Database.
[*]geojson - Python bindings and utlities for GeoJSON.
[*]django-countries - A Django app that provides country choices for use with forms, flag icons static files, and a country field for models.
HTTP
Libraries for working with HTTP.
[*]requests - HTTP Requests for Humans™.
[*]grequests - requests + gevent for asynchronous HTTP requests.
[*]urllib3 - A HTTP library with thread-safe connection pooling, file post support, sanity friendly.
[*]httplib2 - Comprehensive HTTP client library.
[*]treq - Python requests like API built on top of Twisted's HTTP client.
Database
Databases implemented in Python.
[*]ZODB - A native object database for Python. A key-value and object graph database.
[*]pickleDB - A simple and lightweight key-value store for Python.
[*]TinyDB - A tiny, document-oriented database.
Database Drivers
Libraries for connecting and operating databases.
[*]Relational Databases
[*]mysql-python - The MySQL database connector for Python.
[*]mysqlclient - mysql-python fork supporting Python 3.
[*]PyMySQL - Pure Python MySQL driver compatible to mysql-python.
[*]mysql-connector-python - A pure Python MySQL driver from Oracle.
[*]oursql - A better MySQL connector with support for native prepared statements and BLOBs.
[*]psycopg2 - The most popular PostgreSQL adapter for Python.
[*]txpostgres - Twisted based asynchronous driver for PostgreSQL.
[*]queries - A wrapper of the psycopg2 library for interacting with PostgreSQL.
[*]dataset - Store Python dicts in a database - works with SQLite, MySQL, and PostgreSQL.
[*]NoSQL Databases
[*]cassandra-python-driver - Python driver for Cassandra.
[*]pycassa - Python Thrift driver for Cassandra.
[*]HappyBase - A developer-friendly library for Apache HBase.
[*]PyMongo - The official Python client for MongoDB.
[*]Plyvel - A fast and feature-rich Python interface to LevelDB.
[*]redis-py - The Redis Python Client.
[*]py2neo - Python wrapper client for Neo4j's restful interface.
[*]telephus - Twisted based client for Cassandra.
[*]txRedis - Twisted based client for Redis.
ORM
Libraries that implement Object-Relational Mapping or datamapping techniques.
[*]Relational Databases
[*]Django Models - A part of Django.
[*]SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper.
[*]awesome-sqlalchemy
[*]peewee - A small, expressive ORM.
[*]PonyORM - ORM that provides a generator-oriented interface to SQL.
[*]NoSQL Databases
[*]MongoEngine - A Python Object-Document-Mapper for working with MongoDB.
[*]django-mongodb-engine - Django MongoDB Backend.
[*]redisco - A Python Library for Simple Models and Containers Persisted in Redis.
[*]flywheel - Object mapper for Amazon DynamoDB.
[*]Others
[*]butterdb - A Python ORM for Google Drive Spreadsheets.
Web Frameworks
Full stack web frameworks.
[*]Django - The most popular web framework in Python.
[*]awesome-django
[*]Flask - A microframework for Python.
[*]awesome-flask
[*]Bottle - A fast, simple and lightweight WSGI micro web-framework.
[*]Pyramid - A small, fast, down-to-earth, open source Python web framework.
[*]awesome-pyramid
[*]web2py - A full stack web framework and platform focused in the ease of use.
[*]web.py - A web framework for Python that is as simple as it is powerful.
[*]TurboGears - The Web Framework that starts as a microframework and scales up to a fullstack solution.
[*]CherryPy - A Minimalist Python Web Framework, HTTP/1.1-compliant and WSGI thread-pooled.
[*]Grok - A framework built on the existing Zope 3 libraries.
[*]Bluebream - An open-source web application server, framework and library, formerly known as Zope 3.
[*]guava - A lightweight and high performance web framework for Python written in C.
Permissions
Libraries that allow or deny users access to data or functionality.
[*]django-guardian - Implementation of per object permissions for Django 1.2+
[*]django-rules - A tiny but powerful app providing object-level permissions to Django, without requiring a database.
[*]Carteblanche - Module to align code with thoughts of users and designers. Also magically handles navigation and permissions.
CMS
Content Management Systems.
[*]django-cms - An Open source enterprise CMS based on the Django.
[*]djedi-cms - A lightweight but yet powerful Django CMS with plugins, inline editing and performance in mind.
[*]FeinCMS - One of the most advanced Content Management Systems built on Django.
[*]Kotte - A high-level, Pythonic web application framework built on Pyramid.
[*]Mezzanine - A powerful, consistent, and flexible content management platform.
[*]Opps - A Django-based CMS for magazines, newspapers websites and portals with high-traffic.
[*]Plone - A CMS built on top of the open source application server Zope.
[*]Quokka - Flexible, extensible, small CMS powered by Flask and MongoDB.
[*]Wagtail - A Django content management system.
[*]Widgy - Last CMS framework, based on Django.
E-commerce
Frameworks and libraries for e-commerce and payments.
[*]django-oscar - An open-source e-commerce framework for Django.
[*]django-shop - A Django based shop system.
[*]merchant - A Django app to accept payments from various payment processors.
[*]money - Money class with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution.
[*]python-currencies - Display money format and its filthy currencies.
[*]alipay - Unofficial Alipay API for Python.
RESTful API
Libraries for developing RESTful APIs.
[*]cornice - A REST framework for Pyramid.
[*]django-rest-framework - A powerful and flexible toolkit that makes it easy to build Web APIs.
[*]django-tastypie - Creating delicious APIs for Django apps.
[*]django-formapi - Create JSON APIs with HMAC authentication and Django form-validation.
[*]flask-api - An implementation of the same web browsable APIs that django-rest-framework provides.
[*]flask-restful - An extension for Flask that adds support for quickly building REST APIs.
[*]flask-restless - A Flask extension for generating ReSTful APIs for database models defined with SQLAlchemy (or Flask-SQLAlchemy).
[*]flask-api-utils - Flask extension that takes care of API representation and authentication.
[*]falcon - A high-performance Python framework for building cloud APIs and web app backends.
[*]eve - REST API framework powered by Flask, MongoDB and good intentions.
[*]sandman - Automated REST APIs for existing database-driven systems.
[*]restless - Framework agnostic REST framework based on lessons learned from TastyPie.
[*]savory-pie - REST API building library (django, and others)
Authentication
Libraries for implementing authentications schemes.
[*]OAuth
[*]Authomatic - Simple but powerful framework agnostic authentication/authorization client package.
[*]OAuthLib - A generic, spec-compliant, thorough implementation of the OAuth request-signing logic.
[*]rauth - A Python library for OAuth 1.0/a, 2.0, and Ofly.
[*]python-oauth2 - A fully tested, abstract interface to creating OAuth clients and servers.
[*]python-social-auth - An easy-to-setup social authentication mechanism.
[*]django-oauth-toolkit - OAuth2 goodies for the Djangonauts.
[*]django-oauth2-provider - Providing OAuth2 access to Django app.
[*]django-allauth - Authentication app for Django that "just works."
[*]Flask-OAuthlib - OAuth 1.0/a, 2.0 implementation of client and provider for Flask.
[*]sanction - A dead simple OAuth2 client implementation.
[*]Others
[*]PyJWT - Implementation of the JSON Web Token draft 01.
[*]python-jwt - Module for generating and verifying JSON Web Tokens.
[*]python-jws - Implementation of JSON Web Signatures draft 02.
[*]jose - JavaScript Object Signing and Encryption draft implementation.
Template Engine
Libraries and tools for templating and lexing.
[*]Jinja2 - A modern and designer friendly templating language.
[*]Genshi - Python templating toolkit for generation of web-aware output.
[*]Mako - Hyperfast and lightweight templating for the Python platform.
[*]Chameleon - An HTML/XML template engine. Modeled after ZPT, optimized for speed.
[*]Spitfire - A very fast Python template compiler.
Queue
Libraries for working with event and task queues.
[*]celery - An asynchronous task queue/job queue based on distributed message passing.
[*]huey - Little multi-threaded task queue.
[*]mrq - Mr. Queue - A distributed worker task queue in Python using Redis & gevent.
[*]rq - Simple job queues for Python.
[*]simpleq - A simple, infinitely scalable, Amazon SQS based queue.
Search
Libraries and software for indexing and performing search queries on data.
[*]django-haystack - Modular search for Django.
[*]elasticsearch-py - The official low-level Python client for Elasticsearch.
[*]solrpy - A Python client for solr.
[*]Whoosh - A fast, pure Python search engine library.
News Feed
Libraries for building user's activities.
[*]Feedly - A library to build newsfeed and notification systems using Cassandra and Redis.
[*]django-activity-stream - Generate generic activity streams from the actions on your site.
Asset Management
Tools for managing, compressing and minifying website assets.
[*]django-compressor - Compresses linked and inline javascript or CSS into a single cached file.
[*]jinja-assets-compressor - A Jinja extension to compile and compress your assets.
[*]webassets - Bundles, optimizes, and manages unique cache-busting URLs for static resources.
[*]fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
[*]fileconveyor - Monitors changes, processes, and transports assets to CDNs and file storage systems.
[*]django-storages - A collection of custom storage backends for Django.
[*]glue - Glue is a simple command line tool to generate CSS sprites.
[*]libsass-python - A Python binding of libsass, the reference implementation of SASS/SCSS.
[*]Flask-Assets - Helps you integrate webassets into your Flask app.
Caching
Libraries for caching data.
[*]Beaker - A library for caching and sessions for use with web applications and stand-alone Python scripts and applications.
[*]dogpile.cache - dogpile.cache is next generation replacement for Beaker made by same authors.
[*]HermesCache - Python caching library with tag-based invalidation and dogpile effect prevention.
[*]django-cache-machine - Automatic caching and invalidation for Django models through the ORM.
[*]django-cacheops - A slick ORM cache with automatic granular event-driven invalidation.
[*]johnny-cache - A caching framework for django applications.
[*]django-viewlet - Render template parts with extended cache control.
[*]pylibmc - A Python wrapper around the libmemcached interface.
Libraries for sending and parsing email.
[*]inbox.py - Python SMTP Server for Humans.
[*]imbox - Python IMAP for Humans.
[*]inbox - The open source email toolkit.
[*]lamson - Pythonic SMTP Application Server.
[*]flanker - A email address and Mime parsing library.
[*]marrow.mailer - High-performance extensible mail delivery framework.
[*]django-celery-ses - Django email backend with AWS SES and Celery.
[*]modoboa - A mail hosting and management platform including a modern and simplified Web UI.
[*]envelopes - Mailing for human beings.
[*]mailjet - Mailjet API implementation for batch mailing, statistics and more.
[*]Talon - Mailgun library to extract message quotations and signatures.
[*]pyzmail - Compose, send and parse emails.
Internationalization
Libraries for working with i18n.
[*]Babel - An internationalization library for Python.
[*]Korean - A library for Korean morphology.
URL Manipulation
Libraries for parsing URLs.
[*]furl - A small Python library that makes manipulating URLs simple.
[*]purl - A simple, immutable URL class with a clean API for interrogation and manipulation.
[*]pyshorteners - A pure Python URL shortening lib.
[*]short_url - Python implementation for generating Tiny URL and bit.ly-like URLs.
[*]webargs - A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, and Pyramid.
HTML Manipulation
Libraries for working with HTML and XML.
[*]BeautifulSoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
[*]lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.
[*]html5lib - A standards-compliant library for parsing and serializing HTML documents and fragments.
[*]pyquery - A jQuery-like library for parsing HTML.
[*]cssutils - A CSS library for Python.
[*]MarkupSafe - Implements a XML/HTML/XHTML Markup safe string for Python.
[*]bleach - A whitelist-based HTML sanitization and text linkification library.
[*]xmltodict - Working with XML feel like you are working with JSON.
[*]xhtml2pdf - HTML/CSS to PDF converter.
[*]untangle - Converts XML documents to Python objects for easy access.
Web Crawling
Libraries for scraping websites.
[*]Scrapy - A fast high-level screen scraping and web crawling framework.
[*]portia - Visual scraping for Scrapy.
[*]feedparser - Universal feed parser.
[*]RoboBrowser - A simple, Pythonic library for browsing the web without a standalone web browser.
[*]MechanicalSoup - A Python library for automating interaction with websites.
[*]mechanize - Stateful programmatic web browsing.
[*]Demiurge - PyQuery-based scraping micro-framework.
[*]cola - A distributed crawling framework.
[*]pyspider - A powerful spider system.
[*]Grab - Site scraping framework.
Web Content Extracting
Libraries for extracting web contents.
[*]newspaper - News extraction, article extraction and content curation in Python.
[*]html2text - Convert HTML to Markdown-formatted text.
[*]python-goose - HTML Content/Article Extractor.
[*]lassie - Web Content Retrieval for Humans.
[*]micawber - A small library for extracting rich content from URLs.
[*]sumy - A module for automatic summarization of text documents and HTML pages.
[*]Haul - An Extensible Image Crawler.
[*]python-readability - Fast Python port of arc90's readability tool.
[*]opengraph - A Python module to parse the Open Graph Protocol
[*]textract - Extract text from any document, Word, PowerPoint, PDFs, etc.
[*]sanitize - Bringing sanity to world of messed-up data.
Forms
Libraries for working with forms.
[*]WTForms - A flexible forms validation and rendering library.
[*]WTForms-JSON - A WTForms extension for JSON data handling.
[*]Deform - Python HTML form generation library influenced by the formish form generation library.
[*]django-bootstrap3 - Bootstrap 3 integration with Django.
[*]django-crispy-forms - A Django app which lets you create beautiful forms in a very elegant and DRY way.
[*]django-remote-forms - A platform independent Django form serializer.
Data Validation
Libraries for validating data. Used for forms in many cases.
[*]voluptuous - A Python data validation library. It is primarily intended for validating data coming into Python as JSON, YAML, etc.
[*]colander - A system for validating and deserializing data obtained via XML, JSON, an HTML form post or any other equally simple data serialization.
[*]schema - A library for validating Python data structures.
[*]Schematics - Data Structure Validation.
[*]kmatch - A language for matching/validating/filtering Python dictionaries.
[*]valideer - Lightweight extensible data validation and adaptation library.
Anti-spam
Libraries for fighting spam.
[*]django-simple-spam-blocker - Simple spam blocker for Django.
[*]django-simple-captcha - A simple and highly customizable Django app to add captcha images to any Django form.
Tagging
Libraries for tagging items.
[*]django-taggit - Simple tagging for Django.
Admin Panels
Libraries for administrative interfaces.
[*]Ajenti - The admin panel your servers deserve.
[*]Grappelli – A jazzy skin for the Django Admin-Interface.
[*]django-suit - Alternative Django Admin-Interface (free only for Non-commercial use).
[*]django-xadmin - Drop-in replacement of Django admin comes with lots of goodies.
[*]flask-admin - Simple and extensible administrative interface framework for Flask.
[*]flower - Real-time monitor and web admin for Celery.
Static Site Generator
Static site generator is a software that takes some text + templates as input and produces html files on the output.
[*]Pelican - Uses Markdown or ReST for content and Jinja 2 for themes. Supports DVCS, Disqus. AGPL.
[*]Cactus – Static site generator for designers.
[*]Hyde - Jinja2-based static web site generator.
[*]Nikola - A static website and blog generator.
[*]Tinkerer - Tinkerer is a blogging engine/.static website generator powered by Sphinx.
Processes and Threads
Libraries for working with processes or threads
[*]multiprocessing - (Python standard library) Process-based "threading" interface.
[*]threading - (Python standard library) Higher-level threading interface.
[*]envoy - Python Subprocesses for Humans™.
[*]sh - A full-fledged subprocess replacement for Python.
[*]sarge - A wrapper for subprocess.
Concurrency and Networking
Libraries for concurrency and network programming.
[*]asyncio - (Python standard library in Python 3.4+) Asynchronous I/O, event loop, coroutines and tasks.
[*]gevent - A coroutine-based Python networking library that uses greenlet.
[*]Twisted - An event-driven networking engine.
[*]Tornado - A Web framework and asynchronous networking library.
[*]pulsar - Event-driven concurrent framework for Python.
[*]diesel - Greenlet-based event I/O Framework for Python.
[*]eventlet - Asynchronous framework with WSGI support.
[*]pyzmq - A Python wrapper for the 0MQ message library.
[*]txZMQ - Twisted based wrapper for the 0MQ message library.
[*]Crossbar - Open-source Unified Application Router (Websocket & WAMP for Python on Autobahn).
WebSocket
Libraries for working with WebSocket.
[*]AutobahnPython - WebSocket & WAMP for Python on Twisted and asyncio.
[*]WebSocket-for-Python - WebSocket client and server library for Python 2 and 3 as well as PyPy.
WSGI Servers
WSGI-compatible web servers.
[*]wsgiref - (Python standard library) WSGI reference implementation, single-threaded.
[*]Werkzeug - A WSGI utility library for Python that powers Flask and can easily be embedded into your own projects.
[*]paste - Multi-threaded, stable, tried and tested.
[*]rocket - Multi-threaded.
[*]waitress - Multi-threaded, poweres Pyramid.
[*]netius - Asynchronous, very fast.
[*]gunicorn - Pre-forked, partly written in C.
[*]fapws3 - Asynchronous (network side only), written in C.
[*]meinheld - Asynchronous, partly written in C.
[*]bjoern - Asynchronous, very fast and written in C.
RPC Servers
RPC-compatible servers.
[*]SimpleXMLRPCServer - (Python standard library) Simple XML-RPC server implementation, single-threaded.
[*]SimpleJSONRPCServer - This library is an implementation of the JSON-RPC specification.
[*]zeroRPC - zerorpc is a flexible RPC implementation based on ZeroMQ and MessagePack.
Cryptography
[*]PyCrypto - The Python Cryptography Toolkit.
[*]Paramiko - A Python (2.6+, 3.3+) implementation of the SSHv2 protocol, providing both client and server functionality.
[*]cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
[*]PyNacl - Python binding to the Networking and Cryptography (NaCl) library.
[*]hashids - Implementation of hashids in Python.
[*]Passlib - Secure password storage/hashing library, very high level.
GUI
Libraries for working with graphical user interface applications.
[*]PyQt - Python bindings for the Qt cross-platform application and UI framework, with support for both Qt v4 and Qt v5 frameworks.
[*]PySide - Python bindings for the Qt cross-platform application and UI framework, supporting the Qt v4 framework.
[*]wxPython - A blending of the wxWidgets C++ class library with the Python.
[*]kivy - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.
[*]curses - Built-in wrapper for ncurses used to create terminal GUI applications.
[*]urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
[*]pyglet - A cross-platform windowing and multimedia library for Python.
[*]Tkinter - Tkinter is Python's de-facto standard GUI package.
[*]enaml - Creating beautiful user-interfaces with Declaratic Syntax like QML.
[*]Toga - A Python native, OS native GUI toolkit.
Game Development
Awesome game development libraries.
[*]Pygame - Pygame is a set of Python modules designed for writing games.
[*]Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on pyglet.
[*]PySDL2 - A ctypes based wrapper for the SDL2 library.
[*]Panda3D - 3D game engine developed by Disney and maintained by Carnegie Mellon's Entertainment Technology Center. Written in C++, completely wrapped in Python.
[*]PyOgre - Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D.
[*]PyOpenGL - Python ctypes bindings for OpenGL and it's related APIs.
[*]PySFML - Python bindings for SFML
[*]RenPy - A Visual Novel engine.
Logging
Libraries for generating and working with log files.
[*]logging - (Python standard library) Logging facility for Python.
[*]logbook - Logging replacement for Python.
[*]Sentry - A realtime logging and aggregation server.
[*]Raven - The Python client for Sentry.
Testing
Libraries for testing codebases and generating test data.
[*]Testing Frameworks
[*]unittest - (Python standard library) Unit testing framework.
[*]nose - nose extends unittest.
[*]pytest - A mature full-featured Python testing tool.
[*]mamba - The definitive testing tool for Python. Born under the banner of BDD.
[*]contexts - A BDD framework for Python 3.3+. Inspired by C#'s Machine.Specifications.
[*]pyshould - Should style asserts based on PyHamcrest.
[*]pyvows - BDD style testing for Python. Inspired by Vows.js.
[*]Web Testing
[*]Selenium - Python bindings for Selenium WebDriver.
[*]splinter - Open source tool for testing web applications.
[*]locust - Scalable user load testing tool written in Python.
[*]sixpack - A language-agnostic A/B Testing framework.
[*]Mock
[*]mock - A Python Mocking and Patching Library for Testing.
[*]responses - A utility library for mocking out the requests Python library.
[*]doublex - Powerful test doubles framework for Python.
[*]freezegun - Travel through time by mocking the datetime module.
[*]httpretty - HTTP request mock tool for Python.
[*]httmock - A mocking library for requests for Python 2.6+ and 3.2+.
[*]Code Coverage
[*]coverage - Code coverage measurement.
[*]Fake Data
[*]faker - A Python package that generates fake data.
[*]fake2db - Fake database generator.
[*]mixer - Generating fake data and creating random fixtures for testing in Django ORM, SQLAlchemy, Peewee, MongoEngine, Pony ORM and etc.
[*]model_mommy - Creating random fixtures for testing in Django.
[*]ForgeryPy - An easy to use forged data generator for Python. It's a port of forgery.
[*]radar - Generate random datetime / time.
[*]Error Handler
[*]FuckIt.py - FuckIt.py uses state-of-the-art technology to make sure your Python code runs whether it has any right to or not.
Code Analysis and Linter
Libraries and tools for analysing, parsing and manipulation codebases.
[*]Code Analysis
[*]pysonar2 - A type inferencer and indexer for Python.
[*]pycallgraph - A library that visualises the flow (call graph) of your Python application.
[*]code2flow - Turn your Python and JavaScript code into DOT flowcharts.
[*]Linter
[*]Flake8 - The modular source code checker: pep8, pyflakes and co.
[*]pylama - Code audit tool for Python and JavaScript.
[*]Pylint - A source code analyzer.
Debugging Tools
Libraries for debugging code.
[*]pdb - (Python standard library) The Python Debugger.
[*]ipdb - IPython-enabled pdb.
[*]winpdb - A Platform Independent Python Debugger with GUI.
[*]pudb – A full-screen, console-based Python debugger.
[*]pyringe - Debugger capable of attaching to and injecting code into Python processes.
[*]python-statsd - Python Client for the statsd server.
[*]memory_profiler - Monitor Memory usage of Python code.
[*]profiling - An interactive Python profiler.
[*]django-debug-toolbar - Display various debug information about the current request/response.
[*]django-devserver - A drop-in replacement for Django's runserver.
[*]flask-debugtoolbar - A port of the django-debug-toolbar to flask.
[*]pyelftools - A pure-Python library for parsing and analyzing ELF files and DWARF debugging information.
Science and Data Analysis
Libraries for scientific computing and data analyzing.
[*]SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
[*]NumPy - A fundamental package for scientific computing with Python.
[*]Numba - Python JIT (just in time) complier to LLVM aimed at scientific Python by the developers of Cython and NumPy.
[*]NetworkX - A high-productivity software for complex networks.
[*]Pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
[*]Open Mining - Business Intelligence (BI) in Python (Pandas web interface)
[*]PyMC - Markov Chain Monte Carlo sampling toolkit.
[*]zipline - A Pythonic algorithmic trading library.
[*]PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion based around NumPy, SciPy, IPython, and matplotlib.
[*]SymPy - A Python library for symbolic mathematics.
[*]statsmodels - Statistical modeling and econometrics in Python.
[*]astropy - A community Python library for Astronomy.
[*]orange - Data mining, data visualization, analysis and machine learning through visual programming or Python scripting.
[*]RDKit - Cheminformatics and Machine Learning Software.
[*]Open Babel - A chemical toolbox designed to speak the many languages of chemical data.
[*]cclib - A library for parsing and interpreting the results of computational chemistry packages.
[*]Biopython - Biopython is a set of freely available tools for biological computation.
[*]bccb - Collection of useful code related to biological analysis.
[*]bcbio-nextgen - A toolkit providing best-practice pipelines for fully automated high throughput sequencing analysis.
[*]blaze - NumPy and Pandas interface to Big Data.
Data Visualization
Libraries for visualizing data. See: awesome-javascript.
[*]matplotlib - A Python 2D plotting library.
[*]bokeh - Interactive Web Plotting for Python.
[*]plotly - Collaborative web plotting for Python and matplotlib.
[*]vincent - A Python to Vega translator.
[*]d3py - A plottling library for Python, based on D3.js.
[*]ggplot - Same API as ggplot2 for R.
[*]Kartograph.py - Rendering beautiful SVG maps in Python.
[*]pygal - A Python SVG Charts Creator.
[*]pygraphviz - Python interface to Graphviz.
[*]PyQtGraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
[*]VisPy - High-performance scientific visualization based on OpenGL.
Computer Vision
Libraries for computer vision.
[*]OpenCV - Open Source Computer Vision Library.
[*]SimpleCV - An open source framework for building computer vision applications.
Machine Learning
Libraries for Machine Learning. See: awesome-machine-learning.
[*]scikit-learn - A Python module for machine learning built on top of SciPy.
[*]pattern - Web mining module for Python.
[*]NuPIC - Numenta Platform for Intelligent Computing.
[*]Pylearn2 - A Machine Learning library based on Theano.
[*]hebel - GPU-Accelerated Deep Learning Library in Python.
[*]gensim - Topic Modelling for Humans.
[*]PyBrain - Another Python Machine Learning Library.
[*]Crab - A flexible, fast recommender engine.
[*]python-recsys - A Python library for implementing a Recommender System.
[*]vowpal_porpoise - A lightweight Python wrapper for Vowpal Wabbit.
MapReduce
Framworks and libraries for MapReduce.
[*]PySpark - The Spark Python API.
[*]dpark - Python clone of Spark, a MapReduce alike framework in Python.
[*]luigi - A module that helps you build complex pipelines of batch jobs.
[*]mrjob - Run MapReduce jobs on Hadoop or Amazon Web Services.
[*]dumbo - Python module that allows one to easily write and run Hadoop programs.
[*]streamparse - Run Python code against real-time streams of data. Integrates with Apache Storm.
Functional Programming
Functional Programming with Python.
[*]fn.py - Functional programming in Python: implementation of missing features to enjoy FP.
[*]funcy - A fancy and practical functional tools.
[*]Toolz - A collection of functional utilities for iterators, functions, and dictionaries.
[*]CyToolz - Cython implementation of Toolz: High performance functional utilities.
Third-party APIs
Libraries for accessing third party services APIs. See: List of Python API Wrappers and Libraries.
[*]apache-libcloud - One Python library for all clouds.
[*]boto - Python interface to Amazon Web Services.
[*]twython - A Python wrapper for the Twitter API.
[*]google-api-python-client - Google APIs Client Library for Python.
[*]gspread - Google Spreadsheets Python API.
[*]facebook-sdk - Facebook Platform Python SDK.
[*]facepy - Facepy makes it really easy to interact with Facebook's Graph API
[*]gmail - A Pythonic interface for Gmail.
[*]django-wordpress - WordPress models and views for Django.
DevOps Tools
Software and libraries for DevOps.
[*]OpenStack - Open source software for building private and public clouds.
[*]Ansible - A radically simple IT automation platform.
[*]SaltStack - Infrastructure automation and management system.
[*]Fabric - A simple, Pythonic tool for remote execution and deployment.
[*]Fabtools - Tools for writing awesome Fabric files.
[*]cuisine - Chef-like functionality for Fabric.
[*]psutil - A cross-platform process and system utilities module.
[*]pexpect - Controlling interactive programs in a pseudo-terminal like GNU expect.
[*]provy - An easy-to-use provisioning system in Python.
[*]honcho - A Python port of Foreman, a tool for managing Procfile-based applications.
[*]gunnery - Multipurpose task execution tool for distributed systems with web-based interface.
[*]Docker-Compose - Fast, isolated development environments using Docker.
[*]hgapi - Pure-Python API for Mercurial.
[*]gitapi - Pure-Python API for git.
[*]supervisor - Supervisor process control system for UNIX.
Job Scheduler
Libraries for scheduling jobs.
[*]APScheduler - A light but powerful in-process task scheduler that lets you schedule functions.
[*]django-schedule - A calendaring app for Django.
[*]doit - A task runner/build tool.
[*]Joblib - A set of tools to provide lightweight pipelining in Python.
[*]Plan - Writing crontab file in Python like a charm.
[*]Spiff - A powerful workflow engine implemented in pure Python.
[*]schedule - Python job scheduling for humans.
[*]TaskFlow - A Python library that helps to make task execution easy, consistent and reliable.
Foreign Function Interface
Libraries for providing foreign function interface.
[*]ctypes - (Python standard library) Foreign Function Interface for Python calling C code.
[*]cffi - Foreign Function Interface for Python calling C code.
[*]SWIG - Simplified Wrapper and Interface Generator.
[*]PyCUDA - A Python wrapper for Nvidia's CUDA API.
High Performance
Libraries for making Python faster.
[*]Cython - Optimizing Static Complier for Python. Uses type mixins to compile Python into C or C++ modules resulting in large performance gains.
[*]PyPy - An implementation of Python in Python. The interpreter uses black magic to make Python very fast without having to add in additional type information.
[*]Stackless Python - An enhanced version of the Python.
[*]Pyston - A Python implementation built using LLVM and modern JIT techniques with the goal of achieving good performance.
Microsoft Windows
Python programming on Microsoft Windows.
[*]PyWin32 - Python Extensions for Windows.
[*]PythonNet - Python Intergration with the .NET Common Language Runtime (CLR).
[*]pythonlibs - Unofficial Windows binaries for Python extension packages.
[*]spyder - IDE for the Python language with advanced editing, interactive testing, debugging and introspection features (also comes with Anaconda, WinPython).
[*]Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
[*]WinPython - Portable development environment for Windows 7/8.
Network Virtualization and SDN
Tools and libraries for Virtual Networking and SDN (Software Defined Networking).
[*]Mininet - A popular network emulator and API written in Python.
[*]POX - An open source development platform for Python-based Software Defined Networking (SDN) control applications, such as OpenFlow SDN controllers.
[*]Pyretic - A member of the Frenetic family of SDN programming languages that provides powerful abstractions over network switches or emulators.
[*]SDX Platform - SDN based IXP implementation that leverages Mininet, POX and Pyretic.
Hardware
Libraries for programming with hardware.
[*]PyUserInput - A module for cross-platform control of the mouse and keyboard.
[*]wifi - A Python library and command line tool for working with WiFi on Linux.
[*]scapy - A brilliant packet manipulation library.
[*]ino - Command line toolkit for working with Arduino.
[*]Pyro - Python Robotics.
Compatibility
Libraries for migrating from Python 2 to 3.
[*]Six - Python 2 and 3 compatibility utilities.
[*]Python-Future - The missing compatibility layer between Python 2 and Python 3.
[*]Python-Modernize - Modernizes Python code for eventual Python 3 migration.
Miscellaneous
Useful libraries or tools that don't fit in the categories above.
[*]pluginbase - A simple but flexible plugin system for Python.
[*]itsdangerous - Various helpers to pass trusted data to untrusted environments.
[*]blinker - A fast Python in-process signal/event dispatching system.
[*]Pychievements - A framework for creating and tracking achievements.
Algorithms and Design Patterns
Python implementation of algorithms and design patterns.
[*]python-patterns - A collection of design patterns in Python.
[*]algorithms - module of algorithms for Python.
Editor Plugins
Plugins for editors and IDEs.
[*]Vim
[*]Python-mode - An all in one plugin for turning Vim into a Python IDE.
[*]Jedi-vim - Vim bindings for the Jedi autocompletion library for Python.
[*]YouCompleteMe - Includes Jedi-based completion engine for Python
[*]Emacs
[*]Elpy - Emacs Python Development Environment.
[*]Sublime Text
[*]SublimeJEDI - A Sublime Text plugin to the awesome autocomplete library Jedi.
[*]Anaconda - Anaconda turns your Sublime Text 3 in a full featured Python development IDE.
[*]Atom
[*]Linter - A static code analysis tool for Atom.
[*]Linter-flake8 - An addon to linter, that acts as an interface for flake8.
[*]virtualenv - Atom package for virtualenv management.
Resources
Where to discover new Python libraries.
Websites
[*]r/Python - News about Python.
[*]Python 3 Wall of Superpowers - Too many popular Python packages don't support Python 3.
[*]Trending Python repositories on GitHub today - Good place to find new Python libraries.
[*]Python Hackers - List of top 400 projects in GitHub.
[*]CoolGithubProjects - Sharing cool github projects just got easier!
[*]Full Stack Python - Plain English explanations for every layer of the Python web application stack.
[*]Django Packages - A directory of reusable apps, sites, tools, and more for Django projects.
Weekly
[*]Pycoder's Weekly
[*]Python Weekly
[*]Import Python Newsletter
[*]@pypi
[*]@planetpython
[*]@getpy
[*]@pycoders
[*]@PythonWeekly
[*]@pythontrending
Other Awesome Lists
List of lists.
[*]Python
[*]pycrumbs
[*]pythonidae
[*]python-github-projects
[*]python_reference
[*]easy-python
[*]Monty
[*]awesome-awesomeness
[*]lists
Contributing
Your contributions are always welcome!
页:
[1]