A curated list of awesome Python frameworks, libraries, software and resources.
awesome-php . 16k 3k
Libraries for administrative interfaces.
Ajenti - The admin panel your servers deserve. 1k 272
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. 737 244
flask-admin - Simple and extensible administrative interface framework for Flask. 3k 964
flower - Real-time monitor and web admin for Celery. 2k 513
Grappelli - A jazzy skin for the Django Admin-Interface.
Wooey - A Django app which creates automatic web UIs for Python scripts.
Algorithms and Design Patterns
Python implementation of algorithms and design patterns.
algorithms - A module of algorithms for Python. 2k 669
PyPattyrn - A simple yet effective library for implementing common design patterns. 279 18
python-patterns - A collection of design patterns in Python. 4k 1k
sortedcontainers - Fast, pure-Python implementation of SortedList, SortedDict, and SortedSet types.
Libraries for fighting spam.
Tools for managing, compressing and minifying website assets.
django-pipeline - An asset packaging library for Django. 257 67
django-storages - A collection of custom storage back ends for Django. 671 336
fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
fileconveyor - A daemon to detect and sync files to CDNs, S3 and FTP.
flask-assets - Helps you integrate webassets into your Flask app. 336 92
jinja-assets-compressor - A Jinja extension to compile and compress your assets. 68 12
webassets - Bundles, optimizes, and manages unique cache-busting URLs for static resources. 848 270
Libraries for manipulating audio.
audiolazy - Expressive Digital Signal Processing (DSP) package for Python. 303 46
audioread - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding. 61 23
beets - A music library manager and MusicBrainz tagger.
dejavu - Audio fingerprinting and recognition. 1k 177
django-elastic-transcoder - Django + 70 42 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.
m3u8 - A module for parsing m3u8 file. 296 132
mingus - An advanced music theory and notation package with MIDI file and playback support.
mutagen - A Python module to handle audio metadata. 209 33
pyAudioAnalysis - Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications 794 266
pydub - Manipulate audio with a simple and easy high level interface. 2k 269
pyechonest - Python client for the 637 2k Echo Nest API.
talkbox - A Python library for speech/signal processing.
TimeSide - Open web audio processing framework. 219 34
tinytag - A library for reading music meta data of MP3, OGG, FLAC and Wave files. 247 41
Libraries for implementing authentications schemes.
Authomatic - Simple but powerful framework agnostic authentication/authorization client. 16 1
django-allauth - Authentication app for Django that "just works." 4k 1k
django-oauth-toolkit - OAuth 2 goodies for Django. 1k 381
Flask-OAuthlib - OAuth 1.0/a, 2.0 implementation of client and provider for Flask. 1k 330
OAuthLib - A generic and thorough implementation of the OAuth request-signing logic. 1k 367
python-oauth2 - A fully tested, abstract interface to creating OAuth clients and servers. 522 152
python-social-auth - An easy-to-setup social authentication mechanism. 3k 1k
rauth - A Python library for OAuth 1.0/a, 2.0, and Ofly. 2k 178
sanction - A dead simple OAuth2 client implementation. 134 33 Others
PyJWT - Implementation of the JSON Web Token draft 01. 1k 176
python-jws - Implementation of JSON Web Signatures draft 02. 26 11
python-jwt - Module for generating and verifying JSON Web Tokens. 52 5
Compile software from source code.
BitBake - A make-like build tool for embedded Linux.
buildout - A build system for creating, assembling and deploying applications from multiple parts.
PlatformIO - A console tool to build code with different development platforms. 790 114
PyBuilder - A continuous build tool written in pure Python. 983 210
SCons - A software construction tool.
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.
Kotti - 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.
Libraries for caching data.
Beaker - A library for caching and sessions for use with web applications and stand-alone Python scripts and applications. 328 119
DiskCache - SQLite and file backed cache backend with faster lookups than memcached and redis.
django-cache-machine - Automatic caching and invalidation for Django models. 165 33
django-cacheops - A slick ORM cache with automatic granular event-driven invalidation. 812 130
django-viewlet - Render template parts with extended cache control. 58 16
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.
johnny-cache - A caching framework for django applications. 218 89
pylibmc - A Python wrapper around the 365 125 libmemcached interface.
Libraries for chatbot development.
Errbot - The easiest and most popular chatbot to implement ChatOps.
Code Analysis and Linter
Libraries and tools for analysing, parsing and manipulation codebases.
coala - Language independent and easily extendable code analysis application.
pycallgraph - A library that visualises the flow (call graph) of your Python application. 388 64 Linter
flake8 - The modular source code checker: pep8, pyflakes and McCabe.
prospector - A tool to analyse Python code. 749 86
pylint - A fully customizable source code analyzer. Static Type Checker
mypy - Check variable types during compile time. Static Type Annotations Generators
MonkeyType - A system for Python that generates static type annotations by collecting runtime types 1k 53
Libraries for building command-line application.
Command-line Application Development
asciimatics - Cross-platform, full-screen terminal package (i.e. mouse/keyboard input and coloured, positioned text output) complete with high-level API for complex animations and special effects. 724 69
cement - CLI Application Framework for Python.
click - A package for creating beautiful command line interfaces in a composable way.
cliff - A framework for creating command-line programs with multi-level commands.
clint - Python Command-line Application Tools. 2k 243
colorama - Cross-platform colored terminal text.
docopt - Pythonic command line arguments parser.
Gooey - Turn command line programs into a full GUI application with one line 6k 347
Python-Fire - A library for creating command line interfaces (CLIs) from absolutely any Python object. 8k 471
python-prompt-toolkit - A Library for building powerful interactive command lines. 4k 277 Productivity Tools
aws-cli - A universal command-line interface for Amazon Web Services. 9k 2k
bashplotlib - Making basic plots in the terminal. 126 10
caniusepython3 - Determine what projects are blocking you from porting to Python 3. 296 41
cookiecutter - A command-line utility that creates projects from cookiecutters (project templates). 5k 730
doitlive - A tool for live presentations in the terminal. 2k 63
howdoi - Instant coding answers via the command line. 3k 222
httpie - A command line HTTP client, a user-friendly cURL replacement. 17k 1k
mycli - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting. 6k 400
PathPicker - Select files out of bash output. 4k 252
percol - Adds flavor of interactive selection to the traditional pipe concept on UNIX. 2k 131
pgcli - Postgres CLI with autocompletion and syntax highlighting. 5k 281
SAWS - A Supercharged AWS CLI. 4k 167
thefuck - Correcting your previous console command. 36k 2k
try - A dead simple CLI to try out python packages - It's never been easier. 363 21
Libraries for migrating from Python 2 to 3.
Python-Future - The missing compatibility layer between Python 2 and Python 3.
Python-Modernize - Modernizes Python code for eventual Python 3 migration. 336 22
Six - Python 2 and 3 compatibility utilities.
Libraries for computer vision.
Concurrency and Parallelism
Libraries for concurrent and parallel execution.
eventlet - Asynchronous framework with WSGI support.
gevent - A coroutine-based Python networking library that uses greenlet . 824 156
multiprocessing - (Python standard library) Process-based "threading" interface.
threading - (Python standard library) Higher-level threading interface.
Tomorrow - Magic decorator syntax for asynchronous code. 1k 95
uvloop - Ultra fast implementation of asyncio event loop on top of libuv. 4k 175
Libraries for storing and parsing configuration options.
config - Hierarchical config from the author of logging.
ConfigObj - INI file parser with validation.
ConfigParser - (Python standard library) INI file parser.
profig - Config from multiple formats with value conversion.
python-decouple - Strict separation of settings from code. 424 49
cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
hashids - Implementation of 601 54 hashids in Python.
Paramiko - A Python (2.6+, 3.3+) implementation of the SSHv2 protocol, providing both client and server functionality.
Passlib - Secure password storage/hashing library, very high level.
PyNacl - Python binding to the Networking and Cryptography (NaCl) library. 430 99
Libraries for data analyzing.
Blaze - NumPy and Pandas interface to Big Data. 862 117
Open Mining - Business Intelligence (BI) in Pandas interface. 241 56
Orange - Data mining, data visualization, analysis and machine learning through visual programming or scripts.
Pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
Libraries for validating data. Used for forms in many cases.
Cerberus - A lightweight and extensible data validation library. 80 9
colander - Validating and deserializing data obtained via XML, JSON, an HTML form post.
jsonschema - An implementation of 1k 270 JSON Schema for Python.
schema - A library for validating Python data structures. 1k 119
Schematics - Data Structure Validation. 2k 281
valideer - Lightweight extensible data validation and adaptation library. 194 16
voluptuous - A Python data validation library. 907 153
Altair - Declarative statistical visualization library for Python. 533 57
Bokeh - Interactive Web Plotting for Python. 8k 2k
bqplot - Interactive Plotting Library for the Jupyter Notebook 2k 188
ggplot - Same API as ggplot2 for R.
Matplotlib - A Python 2D plotting library.
Pygal - A Python SVG Charts Creator.
PyGraphviz - Python interface to Graphviz.
PyQtGraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
Seaborn - Statistical data visualization using Matplotlib. 5k 805
VisPy - High-performance scientific visualization based on OpenGL. 1k 367
Databases implemented in Python.
pickleDB - A simple and lightweight key-value store for Python.
PipelineDB - The Streaming SQL Database.
TinyDB - A tiny, document-oriented database. 2k 213
ZODB - A native object database for Python. A key-value and object graph database.
Libraries for connecting and operating databases.
mysql-python - The MySQL database connector for Python.
mysqlclient - mysql-python fork supporting Python 3. 705 141
oursql - A better MySQL connector with support for native prepared statements and BLOBs.
PyMySQL - Pure Python MySQL driver compatible to mysql-python. 3k 764 PostgreSQL
psycopg2 - The most popular PostgreSQL adapter for Python.
queries - A wrapper of the psycopg2 library for interacting with PostgreSQL. 182 20
txpostgres - Twisted based asynchronous driver for PostgreSQL. 99 32 Other Relational Databases
apsw - Another Python SQLite wrapper.
dataset - Store Python dicts in a database - works with SQLite, MySQL, and PostgreSQL. 3k 207
pymssql - A simple database interface to Microsoft SQL Server. NoSQL Databases
cassandra-python-driver - Python driver for Cassandra. 890 415
HappyBase - A developer-friendly library for Apache HBase. 351 108
Plyvel - A fast and feature-rich Python interface to LevelDB. 156 28
py2neo - Python wrapper client for Neo4j's restful interface.
pycassa - Python Thrift driver for Cassandra. 516 154
PyMongo - The official Python client for MongoDB.
redis-py - The Redis Python Client. 5k 1k
telephus - Twisted based client for Cassandra. 87 32
txRedis - Twisted based client for Redis. 91 29
Date and Time
Libraries for working with dates and times.
Chronyk - A Python 3 library for parsing human-written times and dates. 259 12
dateutil - Extensions to the standard Python 457 159 datetime module.
delorean - A library for clearing up the inconvenient truths that arise dealing with datetimes. 1k 66
moment - A Python library for dealing with dates/times. Inspired by 177 7 Moment.js.
Pendulum - Python datetimes made easy. 2k 100
PyTime - A easy-use Python module which aims to operate date/time/datetime by string. 17 3
pytz - World timezone definitions, modern and historical. Brings the tz database into Python.
when.py - Providing user-friendly functions to help perform common date and time actions. 176 17
maya - Datetimes for Humans, Maya is mostly built around the headaches and use-cases around parsing datetime data from websites. 2k 70
Libraries for debugging code.
ipdb - IPython-enabled pdb.
pdb++ - Another drop-in replacement for pdb.
pudb - A full-screen, console-based Python debugger.
remote-pdb - Remote vanilla PDB (over TCP sockets). 51 12
wdb - An improbable web debugger through WebSockets. 1k 83 Profiler
django-debug-toolbar - Display various debug information for Django. 785 112
django-devserver - A drop-in replacement for Django's runserver. 948 87
flask-debugtoolbar - A port of the django-debug-toolbar to flask. 579 104
hunter - Hunter is a flexible code tracing toolkit. 192 7
lptrace - 541 23 strace for Python programs.
manhole - Debug service that will accept unix domain socket connections and present the stacktraces for all threads and an interactive prompt. 153 8
pyelftools - Parsing and analyzing ELF files and DWARF debugging information. 482 192
pyringe - Debugger capable of attaching to and injecting code into Python processes. 1k 37
Frameworks for Neural Networks and Deep Learning. See: awesome-deep-learning . 4k 1k
Caffe - A fast open framework for deep learning.. 21k 12k
Keras - A high-level neural networks library and capable of running on top of either TensorFlow or Theano. 24k 10k
MXNet - A deep learning framework designed for both efficiency and flexibility. 12k 5k
Neupy - Running and testing different Artificial Neural Networks algorithms.
Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.
Serpent.AI - Game agent framework. Use any video game as a deep learning sandbox. 3k 240
TensorFlow - The most popular Deep Learning framework created by Google. 100k 52k
Theano - A library for fast numerical computation. 8k 3k
Software and libraries for DevOps.
Ansible - A radically simple IT automation platform. 31k 13k
Cloud-Init - A multi-distribution package that handles early initialization of a cloud instance.
cuisine - Chef-like functionality for Fabric. 1k 130
Docker Compose - Fast, isolated development environments using Docker.
Fabric - A simple, Pythonic tool for remote execution and deployment.
Fabtools - Tools for writing awesome Fabric files. 48 13
honcho - A Python clone of 1k 125 Foreman , for managing Procfile-based applications. 5k 569
OpenStack - Open source software for building private and public clouds.
pexpect - Controlling interactive programs in a pseudo-terminal like GNU expect. 1k 282
psutil - A cross-platform process and system utilities module. 3k 653
SaltStack - Infrastructure automation and management system. 9k 5k
supervisor - Supervisor process control system for UNIX. 4k 796
Libraries to create packaged executables for release distribution.
dh-virtualenv - Build and distribute a virtualenv as a Debian package. 1k 127
Nuitka - Compile scripts, modules, packages to an executable or extension module.
py2app - Freezes Python scripts (Mac OS X).
py2exe - Freezes Python scripts (Windows).
PyInstaller - Converts Python programs into stand-alone executables (cross-platform). 4k 1k
pynsist - A tool to build Windows installers, installers bundle Python itself.
Libraries for generating project documentation.
Sphinx - Python Documentation generator.
MkDocs - Markdown friendly documentation generator.
pdoc - Epydoc replacement to auto generate API documentation for Python libraries. 591 108
Pycco - The literate-programming-style documentation generator. 101 25
Libraries for downloading.
s3cmd - A command line tool for managing Amazon S3 and CloudFront. 2k 751
s4cmd - Super S3 command line tool, good for higher performance. 628 124
you-get - A YouTube/Youku/Niconico video downloader written in Python 3.
youtube-dl - A small command-line program to download videos from YouTube.
Frameworks and libraries for e-commerce and payments.
alipay - Unofficial Alipay API for Python. 25 12
Cartridge - A shopping cart app built using the Mezzanine. 560 296
django-oscar - An open-source e-commerce framework for Django.
django-shop - A Django based shop system. 640 234
merchant - A Django app to accept payments from various payment processors. 909 172
money - Money class with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution. 110 11
python-currencies - Display money format and its filthy currencies. 11 0
forex-python - Foreign exchange rates, Bitcoin price index and currency conversion. 62 17
saleor - An e-commerce storefront for Django.
shoop - An open source E-Commerce platform based on Django.
Editor Plugins and IDEs
Elpy - Emacs Python Development Environment. 1k 215 Sublime Text
Anaconda - Anaconda turns your Sublime Text 3 in a full featured Python development IDE. 2k 256
SublimeJEDI - A Sublime Text plugin to the awesome auto-complete library Jedi. 833 103 Vim
Jedi-vim - Vim bindings for the Jedi auto-completion library for Python. 3k 336
Python-mode - An all in one plugin for turning Vim into a Python IDE. 469 84
YouCompleteMe - Includes 15k 2k Jedi -based completion engine for Python. 3k 305 Visual Studio
PTVS - Python Tools for Visual Studio. 2k 623 Visual Studio Code
Python - An extension with rich support for the Python language, with features including linting, IntelliSense, formatting, refactoring, debugging, unit tests, and jupyter support. 2k 329
Magic Python - Cutting edge Python syntax highlighter for Sublime Text, Atom, and Visual Studio Code. Used by GitHub to highlight your Python code! 946 39 IDE
LiClipse - Free polyglot IDE based on Eclipse. Uses PyDev for Python support.
PyCharm - Commercial Python IDE by JetBrains. Has free community edition available.
Spyder - Open Source Python IDE. 3k 788
Libraries for sending and parsing email.
envelopes - Mailing for human beings.
flanker - A email address and Mime parsing library. 1k 152
imbox - Python IMAP for Humans. 541 53
inbox.py - Python SMTP Server for Humans. 1k 67
lamson - Pythonic SMTP Application Server. 441 97
Marrow Mailer - High-performance extensible mail delivery framework. 47 15
modoboa - A mail hosting and management platform including a modern and simplified Web UI. 320 70
Nylas Sync Engine - Providing a RESTful API on top of a powerful email sync platform. 2k 249
yagmail - Yet another Gmail/SMTP client. 834 63
Libraries for Python version and environment management.
Pipenv - Sacred Marriage of Pipfile, Pip, & Virtualenv. 6k 355
p - Dead simple interactive Python version management. 730 56
pyenv - Simple Python version management. 3k 337
venv - (Python standard library in Python 3.3+) Creating lightweight virtual environments.
virtualenv - A tool to create isolated Python environments.
virtualenvwrapper - A set of extensions to virtualenv.
Libraries for file manipulation and MIME type detection.
imghdr - (Python standard library) Determine the type of an image.
mimetypes - (Python standard library) Map filenames to MIME types.
path.py - A module wrapper for 794 121 os.path.
pathlib - (Python standard library in Python 3.4+) An cross-platform, object-oriented path library.
python-magic - A Python interface to the libmagic file type identification library. 935 157
Unipath - An object-oriented approach to file/directory operations. 442 41
watchdog - API and shell utilities to monitor file system events. 3k 402
Foreign Function Interface
Libraries for providing foreign function interface.
cffi - Foreign Function Interface for Python calling C code.
ctypes - (Python standard library) Foreign Function Interface for Python calling C code.
PyCUDA - A Python wrapper for Nvidia's CUDA API.
SWIG - Simplified Wrapper and Interface Generator.
Libraries for working with forms.
Deform - Python HTML form generation library influenced by the formish form generation library. 272 149
django-bootstrap3 - Bootstrap 3 integration with Django. 2k 791
django-crispy-forms - A Django app which lets you create beautiful forms in a very elegant and DRY way. 529 98
django-remote-forms - A platform independent Django form serializer. 169 78
WTForms - A flexible forms validation and rendering library. 729 275
Functional Programming with Python.
CyToolz - Cython implementation of Toolz: High performance functional utilities. 371 33
fn.py - Functional programming in Python: implementation of missing features to enjoy FP. 1k 79
funcy - A fancy and practical functional tools. 2k 92
Toolz - A collection of functional utilities for iterators, functions, and dictionaries. 1k 129
Libraries for working with graphical user interface applications.
curses - Built-in wrapper for ncurses used to create terminal GUI applications.
Eel - Little library for making simple Electron-like offline HTML/JS GUI apps, with full access to Python capabilities and libraries. 2k 70
enaml - Creating beautiful user-interfaces with Declaratic Syntax like QML. 556 85
Flexx - Flexx is a pure Python toolkit for creating GUI's, that uses web technology for its rendering. 1k 143
kivy - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.
pyglet - A cross-platform windowing and multimedia library for Python.
PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3)
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.
pywebview - A lightweight cross-platform native wrapper around a webview component that allows to display HTML content in its own native dedicated window 758 98
Tkinter - Tkinter is Python's de-facto standard GUI package.
Toga - A Python native, OS native GUI toolkit. 1k 178
urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
wxPython - A blending of the wxWidgets C++ class library with the Python.
Awesome game development libraries.
Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on pyglet.
Panda3D - 3D game engine developed by Disney and maintained by Carnegie Mellon's Entertainment Technology Center. Written in C++, completely wrapped in Python.
Pygame - Pygame is a set of Python modules designed for writing games.
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.
PySDL2 - A ctypes based wrapper for the SDL2 library.
RenPy - A Visual Novel engine.
Libraries for geocoding addresses and working with latitudes and longitudes.
django-countries - A Django app that provides country choices for use with forms, flag icons static files, and a country field for models. 452 156
GeoDjango - A world-class geographic web framework.
GeoIP - Python API for MaxMind GeoIP Legacy Database. 161 38
geojson - Python bindings and utilities for GeoJSON. 288 57
geopy - Python Geocoding Toolbox. 2k 376
pygeoip - Pure Python GeoIP API. 323 71
Libraries for working with HTML and XML.
BeautifulSoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
bleach - A whitelist-based HTML sanitization and text linkification library. 422 79
cssutils - A CSS library for Python.
html5lib - A standards-compliant library for parsing and serializing HTML documents and fragments. 648 168
lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.
MarkupSafe - Implements a XML/HTML/XHTML Markup safe string for Python. 61 22
pyquery - A jQuery-like library for parsing HTML. 1k 139
untangle - Converts XML documents to Python objects for easy access. 273 42
WeasyPrint - A visual rendering engine for HTML and CSS that can export to PDF.
xmldataset - Simple XML Parsing.
xmltodict - Working with XML feel like you are working with JSON. 3k 276
Libraries for working with HTTP.
grequests - requests + gevent for asynchronous HTTP requests. 2k 223
httplib2 - Comprehensive HTTP client library. 171 48
requests - HTTP Requests for Humans™.
treq - Python requests like API built on top of Twisted's HTTP client. 197 64
urllib3 - A HTTP library with thread-safe connection pooling, file post support, sanity friendly. 1k 556
Libraries for programming with hardware.
ino - Command line toolkit for working with Arduino.
keyboard - Hook and simulate global keyboard events on Windows and Linux. 701 58
mouse - Hook and simulate global mouse events on Windows and Linux. 2 1
Pingo - Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.
Pyro - Python Robotics.
PyUserInput - A module for cross-platform control of the mouse and keyboard. 196 41
scapy - A brilliant packet manipulation library. 1k 390
wifi - A Python library and command line tool for working with WiFi on Linux. 206 106
Libraries for manipulating images.
hmap - Image histogram remapping. 77 6
imgSeek - A project for searching a collection of images using visual similarity.
nude.py - Nudity detection. 518 92
pagan - Retro identicon (Avatar) generation based on input string and hash. 57 6
pillow - Pillow is the friendly 5k 1k PIL fork.
pyBarcode - Create barcodes in Python without needing PIL.
pygram - Instagram-like image filters. 23 3
python-qrcode - A pure Python QR Code generator. 1k 267
Quads - Computer art based on quadtrees. 342 22
scikit-image - A Python library for (scientific) image processing.
thumbor - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images. 5k 623
wand - Python bindings for 726 172 MagickWand, C API for ImageMagick.
Implementations of Python.
CLPython - Implementation of the Python programming language written in Common Lisp. 239 33
CPython - 20k 7k Default, most widely used implementation of the Python programming language written in C.
Cython - Optimizing Static Compiler for Python. Uses type mixins to compile Python into C or C++ modules resulting in large performance gains
Grumpy - More compiler than interpreter as more powerful CPython2.7 replacement (alpha).
IronPython - Implementation of the Python programming language written in C# targeting the .NET Framework and Mono. 350 65
Jython - Implementation of Python programming language written in Java for the Java virtual machine (JVM).
MicroPython - MicroPython - a lean and efficient Python programming language implementation for microcontrollers and constrained systems 6k 2k
Numba - Python JIT complier to LLVM aimed at scientific Python.
PeachPy - x86-64 assembler embedded in Python. Can be used as inline assembler for Python or as a stand-alone assembler for Windows, Linux, OS X, Native Client and Go. 993 66
Pyjion - A JIT for Python based upon CoreCLR. 1k 64
PyPy - Implementation of the Python programming language written in RPython and translated into C. PyPy focuses on speed, efficiency and compatibility with the original CPython interpreter. The interpreter uses black magic to make Python very fast without having to add in additional type information.
PySec - Hardened version of python that makes it easier for security professionals and developers to write applications more resilient to attacks and manipulations. 28 9
Pyston - A Python implementation built using LLVM and modern JIT techniques with the goal of achieving good performance. 5k 385
Stackless Python - An enhanced version of the Python programming language which allows programmers to reap the benefits of thread-based programming without the performance and complexity problems associated with conventional threads.
Interactive Python interpreters (REPL).
Libraries for working with i18n.
Babel - An internationalization library for Python.
PyICU - A wrapper of International Components for Unicode C++ library ( 36 24 ICU).
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. 561 226
doit - A task runner and build tool.
gunnery - Multipurpose task execution tool for distributed systems with web-based interface. 507 37
Joblib - A set of tools to provide lightweight pipelining in Python.
Plan - Writing crontab file in Python like a charm. 1k 80
schedule - Python job scheduling for humans. 3k 375
Spiff - A powerful workflow engine implemented in pure Python. 478 113
TaskFlow - A Python library that helps to make task execution easy, consistent and reliable.
Libraries for generating and working with logs.
Eliot - Logging for complex & distributed systems. 158 7
logbook - Logging replacement for Python.
logging - (Python standard library) Logging facility for Python.
raven - Python client for Sentry, a log/error tracking, crash reporting and aggregation platform for web applications. 1k 798
Libraries for Machine Learning. See: awesome-machine-learning.
Metrics - Machine learning evaluation metrics. 9k 5k
NuPIC - Numenta Platform for Intelligent Computing. 6k 2k
scikit-learn - The most popular Python library for Machine Learning.
Spark ML - Apache Spark's scalable Machine Learning library.
vowpal_porpoise - A lightweight Python wrapper for 86 23 Vowpal Wabbit . 5k 2k
xgboost - A scalable, portable, and distributed gradient boosting library. 9k 5k
Frameworks and libraries for MapReduce.
PySpark - Apache Spark Python API.
luigi - A module that helps you build complex pipelines of batch jobs. 8k 2k
mrjob - Run MapReduce jobs on Hadoop or Amazon Web Services. 2k 584
streamparse - Run Python code against real-time streams of data. Integrates with 1k 230 Apache Storm.
dask - A flexible parallel computing library for analytic computing.
Python programming on Microsoft Windows.
Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
pythonlibs - Unofficial Windows binaries for Python extension packages.
PythonNet - Python Integration with the .NET Common Language Runtime (CLR). 948 186
PyWin32 - Python Extensions for Windows.
WinPython - Portable development environment for Windows 7/8.
Useful libraries or tools that don't fit in the categories above.
attrs - Replacement for 558 51
__repr__, etc. boilerplate in class definitions.
blinker - A fast Python in-process signal/event dispatching system. 554 82
itsdangerous - Various helpers to pass trusted data to untrusted environments. 348 40
pluginbase - A simple but flexible plugin system for Python. 570 86
Pychievements - A framework for creating and tracking achievements. 60 3
Tryton - A general purpose business framework.
Natural Language Processing
Libraries for working with human languages.
gensim - Topic Modelling for Humans. 4k 2k
Jieba - Chinese text segmentation. 9k 3k
langid.py - Stand-alone language identification system. 294 48
NLTK - A leading platform for building Python programs to work with human language data.
Pattern - A web mining module for the Python.
polyglot - Natural language pipeline supporting hundreds of languages. 524 118
SnowNLP - A library for processing Chinese text. 715 188
spaCy - A library for industrial-strength natural language processing in Python and Cython.
TextBlob - Providing a consistent API for diving into common NLP tasks. 4k 630
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. 218 228
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. 4 2
Libraries for networking programming.
asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
diesel - Greenlet-based event I/O Framework for Python. 440 39
pulsar - Event-driven concurrent framework for Python. 2k 138
pyzmq - A Python wrapper for the ZeroMQ message library.
Twisted - An event-driven networking engine.
txZMQ - Twisted based wrapper for the ZeroMQ message library. 146 47
NAPALM - Cross-vendor API to manipulate network devices. 626 170
Libraries for building user's activities.
django-activity-stream - Generating generic activity streams from the actions on your site. 1k 395
Stream-Framework - Building newsfeed and notification systems using Cassandra and Redis. 3k 398
Libraries that implement Object-Relational Mapping or data mapping techniques.
Django Models - A part of Django.
SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper.
Orator - The Orator ORM provides a simple yet beautiful ActiveRecord implementation.
Peewee - A small, expressive ORM. 5k 1k
PonyORM - ORM that provides a generator-oriented interface to SQL.
pyDAL - A pure Python Database Abstraction Layer. 205 83
python-sql - Write SQL queries pythonically. NoSQL Databases
butterdb - A Python ORM for Google Drive Spreadsheets.
dataset - A JSON-based database. 3k 207
Libraries for package and dependency management.
pip - The Python package and dependency manager.
conda - Cross-platform, Python-agnostic binary package manager. 2k 610
Curdling - Curdling is a command line tool for managing Python packages.
pip-tools - A set of tools to keep your pinned Python dependencies fresh. 334 38
wheel - The new standard of Python distribution and are intended to replace eggs.
Local PyPI repository server and proxies.
warehouse - Next generation Python Package Repository (PyPI).
bandersnatch - PyPI mirroring tool provided by Python Packaging Authority (PyPA).
devpi - PyPI server and packaging/testing/release tool.
localshop - Local PyPI server (custom packages and auto-mirroring of pypi). 5 1
Libraries that allow or deny users access to data or functionality.
Carteblanche - Module to align code with thoughts of users and designers. Also magically handles navigation and permissions. 33 5
django-guardian - Implementation of per object permissions for Django 1.2+ 658 155
django-rules - A tiny but powerful app providing object-level permissions to Django, without requiring a database. 492 47
Libraries for starting and communicating with OS processes.
delegator.py - 583 35 Subprocesses for Humans™ 2.0.
sarge - Yet another wrapper for subprocess.
sh - A full-fledged subprocess replacement for Python. 4k 380
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. 2k 197
mrq - Mr. Queue - A distributed worker task queue in Python using Redis & gevent. 671 87
rq - Simple job queues for Python.
simpleq - A simple, infinitely scalable, Amazon SQS based queue. 78 4
Libraries for building recommender systems.
annoy - Approximate Nearest Neighbors in C++/Python optimized for memory usage. 3k 376
fastFM - A library for Factorization Machines. 485 135
implicit - A fast Python implementation of collaborative filtering for implicit datasets. 344 93
libffm - A library for Field-aware Factorization Machine (FFM). 517 195
LightFM - A Python implementation of a number of popular recommendation algorithms. 1k 257
surprise - A scikit for building and analyzing recommender systems.
TensorRec - A Recommendation Engine Framework in TensorFlow. 154 17
Libraries for developing RESTful APIs.
eve - REST API framework powered by Flask, MongoDB and good intentions. 706 104
flask-api-utils - Taking care of API representation and authentication for Flask. 35 3
flask-api - Browsable Web APIs for Flask.
flask-restful - Quickly building REST APIs for Flask. 3k 625
flask-restless - Generating RESTful APIs for database models defined with SQLAlchemy. 832 288 Pyramid
cornice - A RESTful framework for Pyramid. 33 9 Framework agnostic
falcon - A high-performance framework for building cloud APIs and web app backends.
hug - A Python3 framework for cleanly exposing APIs over HTTP and the Command Line with automatic documentation and validation. 5k 334
restless - Framework agnostic REST framework based on lessons learned from Tastypie. 680 92
ripozo - Quickly creating REST/HATEOAS/Hypermedia APIs. 210 24
sandman - Automated REST APIs for existing database-driven systems. 2k 134
apistar - A smart Web API framework, designed for Python 3. 791 71
Libraries for scientific computing.
astropy - A community Python library for Astronomy.
bcbio-nextgen - Providing best-practice pipelines for fully automated high throughput sequencing analysis. 824 455
bccb - Collection of useful code related to biological analysis. 363 192
Biopython - Biopython is a set of freely available tools for biological computation.
cclib - A library for parsing and interpreting the results of computational chemistry packages.
NetworkX - A high-productivity software for complex networks.
NIPY - A collection of neuroimaging toolkits.
NumPy - A fundamental package for scientific computing with Python.
Open Babel - A chemical toolbox designed to speak the many languages of chemical data.
ObsPy - A Python toolbox for seismology. 402 338
PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.
PyMC - Markov Chain Monte Carlo sampling toolkit. 2k 656
RDKit - Cheminformatics and Machine Learning Software.
SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
statsmodels - Statistical modeling and econometrics in Python. 2k 1k
SymPy - A Python library for symbolic mathematics. 5k 3k
Zipline - A Pythonic algorithmic trading library. 7k 2k
SimPy - A process-based discrete-event simulation framework.
Libraries and software for indexing and performing search queries on data.
Libraries for serializing complex data types
marshmallow - marshmallow is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes. 2k 302
Frameworks for developing serverless Python code.
apex - Build, deploy, and manage 6k 471 AWS Lambda functions with ease.
python-lambda - A toolkit for developing and deploying Python code in AWS Lambda. 543 94
Zappa - A tool for deploying WSGI applications on AWS Lambda and API Gateway. 6k 707
Specific Formats Processing
Libraries for parsing and manipulating specific text formats.
tablib - A module for Tabular Datasets in XLS, CSV, JSON, YAML. 3k 463 Office
Marmir - Takes Python data structures and turns them into spreadsheets. 138 19
openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
pyexcel - Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files. 283 58
python-docx - Reads, queries and modifies Microsoft Word 2007/2008 docx files. 867 326
relatorio - Templating OpenDocument files.
unoconv - Convert between any document format supported by LibreOffice/OpenOffice. 1k 293
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.
xlwt / 681 236 xlrd - Writing and reading data and formatting information from Excel files. 1k 279 PDF
PDFMiner - A tool for extracting information from PDF documents. 907 204
PyPDF2 - A library capable of splitting, merging and transforming PDF pages. 1k 447
ReportLab - Allowing Rapid creation of rich PDF documents. Markdown
Mistune - Fastest and full featured pure Python parsers of Markdown. 1k 135
Python-Markdown - A Python implementation of John Gruber’s Markdown. 1k 357 YAML
PyYAML - YAML implementations for Python. CSV
csvkit - Utilities for converting to and working with CSV. 1k 157 Archive
unp - A command line tool that can unpack archives easily. 187 7
Static Site Generator
Static site generator is a software that takes some text + templates as input and produces HTML files on the output.
Cactus - Static site generator for designers.
Hyde - Jinja2-based static web site generator.
Lektor - An easy to use static CMS and blog engine.
Nikola - A static website and blog generator.
Pelican - Uses Markdown or ReST for content and Jinja 2 for themes. Supports DVCS, Disqus. AGPL.
Tinkerer - Tinkerer is a blogging engine/.static website generator powered by Sphinx.
Libraries for tagging items.
Libraries and tools for templating and lexing.
Genshi - Python templating toolkit for generation of web-aware output.
Jinja2 - A modern and designer friendly templating language. 1k 325
Mako - Hyperfast and lightweight templating for the Python platform.
Libraries for testing codebases and generating test data.
hypothesis - Hypothesis is an advanced Quickcheck style property based testing library. 1k 131
mamba - The definitive testing tool for Python. Born under the banner of BDD.
nose - A nicer unittest for Python. 1k 383
nose2 - The successor to nose, based on unittest2. 385 104
pytest - A mature full-featured Python testing tool.
Robot Framework - A generic test automation framework. 2k 653
unittest - (Python standard library) Unit testing framework. Test Runners
green - A clean, colorful test runner. 555 68
tox - Auto builds and tests distributions in multiple Python versions GUI / Web Testing
locust - Scalable user load testing tool written in Python. 6k 913
PyAutoGUI - PyAutoGUI is a cross-platform GUI automation Python module for human beings. 86 11
Selenium - Python bindings for Selenium WebDriver.
sixpack - A language-agnostic A/B Testing framework. 1k 175
splinter - Open source tool for testing web applications. 2k 377 Mock
doublex - Powerful test doubles framework for Python.
freezegun - Travel through time by mocking the datetime module. 1k 121
httmock - A mocking library for requests for Python 2.6+ and 3.2+. 308 38
httpretty - HTTP request mock tool for Python. 1k 219
mock - (Python standard library) A mocking and patching library.
Mocket - Socket Mock Framework plus HTTP[S]/asyncio/gevent mocking library with recording/replaying capability. 79 12
responses - A utility library for mocking out the requests Python library. 790 115
VCR.py - Record and replay HTTP interactions on your tests. 937 154 Object Factories
factory_boy - A test fixtures replacement for Python. 309 57
mixer - Another fixtures replacement. Supported Django, Flask, SQLAlchemy, Peewee and etc. 433 61
model_mommy - Creating random fixtures for testing in Django. 747 177 Code Coverage
mimesis - is a Python library that help you generate fake data. 694 90
fake2db - Fake database generator. 2k 106
faker - A Python package that generates fake data. 6k 866
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. 1k 53
Libraries for parsing and manipulating plain texts.
chardet - Python 2/3 compatible character encoding detector. 829 141
difflib - (Python standard library) Helpers for computing deltas.
ftfy - Makes Unicode text less broken and more consistent automagically. 2k 78
fuzzywuzzy - Fuzzy String Matching. 3k 404
Levenshtein - Fast computation of Levenshtein distance and string similarity. 84 24
pangu.py - Spacing texts for CJK and alphanumerics. 67 11
pyfiglet - An implementation of figlet written in Python. 359 61
pypinyin - Convert Chinese hanzi to pinyin. 841 162
shortuuid - A generator library for concise, unambiguous and URL-safe UUIDs. 94 6
unidecode - ASCII transliterations of Unicode text.
uniout - Print readable chars instead of the escaped string. 51 6
xpinyin - A library to translate Chinese hanzi (漢字) to pinyin (拼音). 457 125 Slugify
awesome-slugify - A Python slugify library that can preserve unicode. 156 11
python-slugify - A Python slugify library that translates unicode to ASCII. 388 58
unicode-slugify - A slugifier that generates unicode slugs with Django as a dependency. 150 24 Parser
phonenumbers - Parsing, formatting, storing and validating international phone numbers. 2k 261
PLY - Implementation of lex and yacc parsing tools for Python
Pygments - A generic syntax highlighter.
pyparsing - A general purpose framework for generating parsers.
python-nameparser - Parsing human names into their individual components. 211 38
python-user-agents - Browser user agent parser. 515 115
sqlparse - A non-validating SQL parser. 1k 255
Libraries for accessing third party services APIs. See: List of Python API Wrappers and Libraries . 36 5
apache-libcloud - One Python library for all clouds.
boto3 - Python interface to Amazon Web Services. 3k 571
django-wordpress - WordPress models and views for Django.
facebook-sdk - Facebook Platform Python SDK. 583 298
facepy - Facepy makes it really easy to interact with Facebook's Graph API 659 198
gmail - A Pythonic interface for Gmail. 1k 140
google-api-python-client - Google APIs Client Library for Python. 2k 994
gspread - Google Spreadsheets Python API. 3k 477
twython - A Python wrapper for the Twitter API. 1k 383
Libraries for parsing URLs.
furl - A small Python library that makes parsing and manipulating URLs easy. 1k 83
purl - A simple, immutable URL class with a clean API for interrogation and manipulation. 202 27
pyshorteners - A pure Python URL shortening lib. 168 30
short_url - Python implementation for generating Tiny URL and bit.ly-like URLs. 91 22
webargs - A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, and Pyramid. 512 77
Libraries for manipulating video and GIFs.
moviepy - A module for script-based movie editing with many formats, including animated GIFs.
scikit-video - Video processing routines for SciPy. 13 1
WSGI-compatible web servers.
bjoern - Asynchronous, very fast and written in C.
fapws3 - Asynchronous (network side only), written in C.
gunicorn - Pre-forked, partly written in C.
meinheld - Asynchronous, partly written in C.
netius - Asynchronous, very fast. 74 9
paste - Multi-threaded, stable, tried and tested.
rocket - Multi-threaded.
uWSGI - A project aims at developing a full stack for building hosting services, written in C.
waitress - Multi-threaded, powers Pyramid.
Werkzeug - A WSGI utility library for Python that powers Flask and can easily be embedded into your own projects.
Web Content Extracting
Libraries for extracting web contents.
Haul - An Extensible Image Crawler. 15 2
html2text - Convert HTML to Markdown-formatted text. 414 109
lassie - Web Content Retrieval for Humans. 371 25
micawber - A small library for extracting rich content from URLs. 369 56
newspaper - News extraction, article extraction and content curation in Python. 5k 906
opengraph - A Python module to parse the Open Graph Protocol 41 25
python-goose - HTML Content/Article Extractor. 3k 691
python-readability - Fast Python port of arc90's readability tool. 1k 268
sanitize - Bringing sanity to world of messed-up data. 3 0
sumy - A module for automatic summarization of text documents and HTML pages. 1k 225
- Extract text from any document, Word, PowerPoint, PDFs, etc. 2k 258
toapi - Every web site provides APIs 1k 80
Libraries for scraping websites.
cola - A distributed crawling framework. 1k 564
Demiurge - PyQuery-based scraping micro-framework. 58 7
feedparser - Universal feed parser.
Grab - Site scraping framework.
MechanicalSoup - A Python library for automating interaction with websites. 2k 116
portia - Visual scraping for Scrapy. 6k 957
pyspider - A powerful spider system. 10k 3k
RoboBrowser - A simple, Pythonic library for browsing the web without a standalone web browser. 3k 237
Scrapy - A fast high-level screen scraping and web crawling framework.
Full stack web frameworks.
Bottle - A fast, simple and lightweight WSGI micro web-framework.
CherryPy - A minimalist Python web framework, HTTP/1.1-compliant and WSGI thread-pooled.
Dash - Built on top of Flask, React and Plotly aimed at analytical web applications.
Django - The most popular web framework in Python.
Flask - A microframework for Python.
Pyramid - A small, fast, down-to-earth, open source Python web framework.
Sanic - Web server that's written to go fast. 8k 794
Tornado - A Web framework and asynchronous networking library.
TurboGears - A microframework that can scale up to a full stack solution.
Web2py - Full-stack enterprise framework for secure database-driven web-based applications.
Libraries for working with WebSocket.
Online tools and APIs to simplify development.
CircleCI - A CI service that can run very fast parallel testing. (GitHub only)
Travis CI - A popular CI service for your open source and private projects. (GitHub only)
Vexor CI - A continuous integration tool for private apps with pay-per-minute billing model.
Wercker - A Docker-based platform for building and deploying applications and microservices.
Codacy - Automated Code Review to ship better code, faster. Free for Open Source.
Codecov - Code coverage dashboard.
Landscape - Hosted continuous Python code metrics.
QuantifiedCode - A data-driven, automated, continuous code review tool.
Where to discover new Python libraries.
Other Awesome Lists
List of lists.
Your contributions are always welcome! Please take a look at the
contribution guidelines first.
I will keep some pull requests open if I'm not sure whether those libraries are awesome, you could
vote for them by adding 👍 to them. Pull requests will be merged when their votes reach 20.