Skip to content

gribouille/awesome-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Python

An enriched version of the awesome-python generated with awesome.

Awesome Python

Admin Panels

Libraries for administrative interfaces.

  • ajenti 5542 - Ajenti Core and stock plugins
  • xadmin 3576 - Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.
  • flower 3477 - Real-time monitor and web admin for Celery distributed task queue
  • flask-admin 3445 - Simple and extensible administrative interface framework for Flask
  • Wooey 1198 BSD-3-Clause- A Django app that creates automatic web UIs for Python scripts.
  • django-suit - Alternative Django Admin-Interface (free only for Non-commercial use).
  • Grappelli - A jazzy skin for the Django Admin-Interface.

Algorithms and Design Patterns

Python implementation of algorithms and design patterns.

  • python-patterns 19449 - A collection of design patterns/idioms in Python
  • algorithms 14285 MIT- Minimal examples of data structures and algorithms in Python
  • PyPattyrn 725 MIT- A simple library for implementing common design patterns.
  • sortedcontainers - Fast, pure-Python implementation of SortedList, SortedDict, and SortedSet types.

Anti-spam

Libraries for fighting spam.

Asset Management

Tools for managing, compressing and minifying website assets.

Audio

Libraries for manipulating audio.

  • dejavu 4311 MIT- Audio fingerprinting and recognition in Python
  • pydub 3295 MIT- Manipulate audio with a simple and easy high level interface
  • pyAudioAnalysis 2140 Apache-2.0- Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications
  • pyechonest 624 BSD-3-Clause- Python client for the Echo Nest API
  • m3u8 534 - Python m3u8 Parser for HTTP Live Streaming (HLS) Transmissions
  • audiolazy 484 GPL-3.0- Expressive Digital Signal Processing (DSP) package for Python
  • mutagen 417 GPL-2.0- Python 2/3 module for handling audio metadata
  • tinytag 328 MIT- Read music meta data and length of MP3, OGG, OPUS, MP4, M4A, FLAC, WMA and Wave files with python 2 or 3
  • audioread 246 MIT- cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python
  • TimeSide 233 AGPL-3.0- Scalable audio processing framework and server written in Python
  • django-elastic-transcoder 55 - Django + AWS Elastic Transcoder
  • beets - A music library manager and MusicBrainz tagger.
  • eyeD3 - A tool for working with audio files, specifically MP3 files containing ID3 metadata.
  • id3reader - A Python module for reading MP3 meta data.
  • mingus - An advanced music theory and notation package with MIDI file and playback support.
  • talkbox - A Python library for speech/signal processing.

Authentication

Libraries for implementing authentications schemes.

OAuth

Others

Build Tools

Compile software from source code.

  • platformio-core 2901 Apache-2.0- An open source ecosystem for IoT development 👽 Cross-platform IDE and unified debugger. Remote unit testing and firmware updates.
  • pybuilder 1074 Apache-2.0- Continuous build tool for Python.
  • BitBake - A make-like build tool for embedded Linux.
  • buildout - A build system for creating, assembling and deploying applications from multiple parts.
  • SCons - A software construction tool.

Built-in Classes Enhancement

Libraries for enhancing Python built-in classes.

  • attrs 2390 MIT- Python Classes Without Boilerplate
  • Box 1170 MIT- Python dictionaries with advanced dot notation access
  • bidict 371 MPL-2.0- Efficient, Pythonic bidirectional map data structures and related functionality.
  • DottedDict 51 MIT- Python library that provides a method of accessing lists and dicts with a dotted path notation.

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.
  • 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.

Caching

Libraries for caching data.

  • django-cacheops 998 - A slick ORM cache with automatic granular event-driven invalidation.
  • django-cache-machine 726 - Automatic caching and invalidation for Django models through the ORM.
  • pylibmc 404 BSD-3-Clause- A Python wrapper around the libmemcached interface from TangentOrg.
  • beaker 388 - WSGI middleware for sessions and caching
  • johnny-cache 283 MIT- johnny cache django caching framework
  • django-viewlet 59 MIT- Render template parts with extended cache control.
  • DiskCache - SQLite and file backed cache backend with faster lookups than memcached and redis.
  • 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.

ChatOps Tools

Libraries for chatbot development.

  • Errbot - The easiest and most popular chatbot to implement ChatOps.

Cluster Computing

Frameworks and libraries for Cluster Computing.

  • luigi 11021 Apache-2.0- Luigi is a Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in.
  • faust 2837 - Python Stream Processing
  • mrjob 2373 - Run MapReduce jobs on Hadoop or Amazon Web Services
  • streamparse 1358 - Run Python in Apache Storm topologies. Pythonic API, CLI tooling, and a topology DSL.
  • PySpark - Apache Spark Python API.
  • dask - A flexible parallel computing library for analytic computing.

Code Analysis

Tools of static analysis, linters and code quality checkers. See: awesome-static-analysis.

Code Analysis

  • pycallgraph 1247 GPL-2.0- pycallgraph is a Python module that creates call graphs for Python programs.
  • code2flow 557 LGPL-3.0- Turn your Python and Javascript code into DOT flowcharts
  • pylama 529 LGPL-3.0- Code audit tool for python.
  • prospector2 5 GPL-2.0- Inspects Python source files and provides information about type and location of classes, methods etc
  • flake8 - A wrapper around pycodestyle, pyflakes and McCabe.
  • coala - Language independent and easily extendable code analysis application.
  • pylint - A fully customizable source code analyzer.

Static Type Checkers

  • pyre-check 2283 MIT- Performant type-checking for python.
  • mypy - Check variable types during compile time.

Static Type Annotations Generators

  • MonkeyType 2063 - A system for Python that generates static type annotations by collecting runtime types

Command-line Tools

Libraries for building command-line application.

Command-line Application Development

  • python-fire 13475 - Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
  • Gooey 6484 MIT- Turn (almost) any Python command line program into a full GUI application with one line
  • python-prompt-toolkit 5222 BSD-3-Clause- Library for building powerful interactive command line applications in Python
  • clint 2483 ISC- Python Command-line Application Tools
  • 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.
  • docopt - Pythonic command line arguments parser.

Terminal Rendering

  • asciimatics 1317 Apache-2.0- A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations
  • bashplotlib 1136 MIT- plotting in the terminal
  • colorama - Cross-platform colored terminal text.

Productivity Tools

  • thefuck 41252 MIT- Magnificent app which corrects your previous console command.
  • httpie 40021 - As easy as httpie /aitch-tee-tee-pie/ 🥧 Modern command line HTTP client – user-friendly curl alternative with intuitive UI, JSON support, syntax highlighting, wget-like downloads, extensions, etc. https://twitter.com/clihttp
  • tmux 12966 - tmux source code
  • cookiecutter 8978 BSD-3-Clause- A command-line utility that creates projects from cookiecutters (project templates). E.g. Python package projects, jQuery plugin projects.
  • pgcli 7666 BSD-3-Clause- Postgres CLI with autocompletion and syntax highlighting
  • aws-cli 7651 - Universal Command Line Interface for Amazon Web Services
  • mycli 7144 - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
  • howdoi 7043 MIT- instant coding answers via the command line
  • PathPicker 4048 - PathPicker accepts a wide range of input -- output from git commands, grep results, searches -- pretty much anything.After parsing the input, PathPicker presents you with a nice UI to select which files you're interested in. After that you can open them in your favorite editor or execute arbitrary commands.
  • saws 3901 - A supercharged AWS command line interface (CLI).
  • percol 2687 - adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
  • doitlive 2352 MIT- Because sometimes you need to do it live
  • kube-shell 1125 Apache-2.0- Kubernetes shell: An integrated shell for working with the Kubernetes
  • try 478 MIT- Dead simple CLI tool to try Python packages - It's never been easier! 📦

Compatibility

Libraries for migrating from Python 2 to 3.

  • python-modernize 510 - Modernizes Python code for eventual Python 3 migration. Build on top of 2to3
  • Python-Future - The missing compatibility layer between Python 2 and Python 3.
  • Six - Python 2 and 3 compatibility utilities.

Computer Vision

Libraries for computer vision.

  • pyocr 914 - A Python wrapper for Tesseract and Cuneiform -- Moved to Gnome's Gitlab
  • OpenCV - Open Source Computer Vision Library.
  • SimpleCV - An open source framework for building computer vision applications.

Concurrency and Parallelism

Libraries for concurrent and parallel execution.

  • uvloop 5631 - Ultra fast asyncio event loop.
  • Tomorrow 1419 MIT- Magic decorator syntax for asynchronous code in Python
  • greenlet 994 - Lightweight in-process concurrent programming
  • scoop 374 LGPL-3.0- SCOOP (Scalable COncurrent Operations in Python)
  • concurrent.futures - (Python standard library) Process-based threading interface.
  • multiprocessing - (Python standard library) A high-level interface for asynchronously executing callables.
  • eventlet - Asynchronous framework with WSGI support.

Configuration

Libraries for storing and parsing configuration options.

  • python-decouple 926 MIT- Strict separation of config from code.
  • configobj 185 - Python 3+ compatible port of the configobj library
  • config - Hierarchical config from the author of logging.
  • ConfigParser - (Python standard library) INI file parser.
  • profig - Config from multiple formats with value conversion.

Cryptography

  • pynacl 571 Apache-2.0- Python binding to the Networking and Cryptography (NaCl) library
  • cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
  • 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.

Data Analysis

Libraries for data analyzing.

  • blaze 2613 - NumPy and Pandas interface to Big Data
  • mining 964 MIT- Business Intelligence (BI) in Python, OLAP
  • Optimus 555 Apache-2.0- 🚚 Agile Data Science Workflows made easy with Python and Spark.
  • 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.

Data Validation

Libraries for validating data. Used for forms in many cases.

  • schematics 2144 - Python Data Structures for Humans™.
  • jsonschema 2114 MIT- An(other) implementation of JSON Schema for Python
  • schema 1665 MIT- Schema validation just got Pythonic
  • cerberus 1547 ISC- Lightweight, extensible data validation library for Python
  • voluptuous 1400 BSD-3-Clause- Voluptuous, despite the name, is a Python data validation library.
  • awesome-dash 271 CC0-1.0- A curated list of awesome Dash (plotly) resources
  • valideer 217 MIT- Lightweight data validation and adaptation Python library.
  • colander - Validating and deserializing data obtained via XML, JSON, an HTML form post.
  • Dash - Built on top of Flask, React and Plotly aimed at analytical web applications.

Data Visualization

Libraries for visualizing data. See: awesome-javascript.

Database

Databases implemented in Python.

  • tinydb 2705 MIT- TinyDB is a lightweight document oriented database optimized for your happiness :)
  • pickleDB - A simple and lightweight key-value store for Python.
  • ZODB - A native object database for Python. A key-value and object graph database.

Database Drivers

Libraries for connecting and operating databases.

  • PyMySQL 4815 MIT- Pure Python MySQL Client
  • mysqlclient-python 1375 GPL-2.0- MySQL database connector for Python (with Python 3 support)
  • oursql - A better MySQL connector with support for native prepared statements and BLOBs.

PostgreSQL - awesome-postgres

  • queries 198 BSD-3-Clause- PostgreSQL database access simplified
  • txpostgres 101 MIT- Twisted wrapper for asynchronous PostgreSQL connections
  • psycopg2 - The most popular PostgreSQL adapter for Python.

Other Relational Databases

  • dataset 3450 MIT- Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions.
  • apsw - Another Python SQLite wrapper.
  • pymssql - A simple database interface to Microsoft SQL Server.

NoSQL Databases

Asynchronous Clients

  • motor 1167 Apache-2.0- Motor - the async Python driver for MongoDB and Tornado or asyncio
  • txRedis 118 - A Redis client library for Twisted Python
  • Telephus 93 MIT- Telephus is a connection pooled, low-level client API for Cassandra in Twisted python.

Date and Time

Libraries for working with dates and times.

  • pendulum 3152 MIT- Python datetimes made easy
  • maya 2828 MIT- Datetimes for Humans™
  • delorean 1516 MIT- Delorean: Time Travel Made Easy
  • dateutil 889 - Useful extensions to the standard Python datetime features
  • moment 559 - Dealing with dates in Python shouldn't have to suck.
  • Chronyk 270 MIT- A Python 3 library for parsing human-written times and dates
  • When.py 174 - Friendly Python Dates
  • PyTime 127 MIT- PyTime is an easy-use Python module which aims to operate date/time/datetime by string.
  • pytz - World timezone definitions, modern and historical. Brings the tz database into Python.

Debugging Tools

Libraries for debugging code.

pdb-like Debugger

Profiler

Others

Deep Learning

Frameworks for Neural Networks and Deep Learning. See: awesome-deep-learning.

  • tensorflow 121577 Apache-2.0- An Open Source Machine Learning Framework for Everyone
  • keras 38648 - Deep Learning for humans
  • caffe 27174 - Caffe: a fast open framework for deep learning.
  • incubator-mxnet 16412 Apache-2.0- Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
  • Theano 8698 - Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It can use GPUs and perform efficient symbolic differentiation.
  • SerpentAI 5044 MIT- Game Agent Framework. Helping you create AIs / Bots to play any game you own!
  • Neupy - Running and testing different Artificial Neural Networks algorithms.
  • Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.

DevOps Tools

Software and libraries for DevOps.

  • ansible 35663 GPL-3.0- Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications — automate in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com/ansible/
  • salt 9701 Apache-2.0- Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:
  • supervisor 5113 - Supervisor process control system for UNIX
  • foreman 4965 MIT- Manage Procfile-based applications
  • psutil 4564 - Cross-platform lib for process and system monitoring in Python
  • pexpect 1448 - A Python module for controlling interactive programs in a pseudo-terminal
  • cuisine 1239 - Chef-like functionality for Fabric
  • fabtools 1181 BSD-2-Clause- Tools for writing awesome Fabric files
  • Cloud-Init - A multi-distribution package that handles early initialization of a cloud instance.
  • Docker Compose - Fast, isolated development environments using Docker.
  • Fabric - A simple, Pythonic tool for remote execution and deployment.
  • OpenStack - Open source software for building private and public clouds.

Distribution

Libraries to create packaged executables for release distribution.

  • pyinstaller 5027 - Freeze (package) Python programs into stand-alone executables
  • dh-virtualenv 1260 GPL-2.0- Python virtualenvs in Debian packages
  • Nuitka - Compile scripts, modules, packages to an executable or extension module.
  • py2app - Freezes Python scripts (Mac OS X).
  • py2exe - Freezes Python scripts (Windows).
  • pynsist - A tool to build Windows installers, installers bundle Python itself.

Documentation

Libraries for generating project documentation.

  • pycco 653 - Literate-style documentation generator.
  • pdoc 567 Unlicense- A simple command line tool and library to auto generate API documentation for Python libraries.
  • awesome-sphinxdoc 518 - A curated list of awesome tools for Sphinx Python Documentation Generator
  • Sphinx - Python Documentation generator.
  • MkDocs - Markdown friendly documentation generator.

Downloader

Libraries for downloading.

  • s3cmd 2923 GPL-2.0- Official s3cmd repo -- Command line tool for managing Amazon S3 and CloudFront services
  • s4cmd 815 Apache-2.0- Super S3 command line tool
  • you-get - A YouTube/Youku/Niconico video downloader written in Python 3.
  • youtube-dl - A small command-line program to download videos from YouTube.

E-commerce

Frameworks and libraries for e-commerce and payments.

  • django-shop 1778 BSD-3-Clause- A Django based shop system
  • merchant 910 BSD-3-Clause- A Django app to accept payments from various payment processors via Pluggable backends.
  • cartridge 581 BSD-2-Clause- Ecommerce for Mezzanine
  • alipay 304 - An Unofficial Alipay API for Python
  • forex-python 220 MIT- Foreign exchange rates, Bitcoin price index and currency conversion using ratesapi.io
  • money 157 MIT- Python money class with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution.
  • python-currencies 37 GPL-3.0- Display money format and its filthy currencies, for all money lovers out there.
  • django-oscar - An open-source e-commerce framework for Django.
  • saleor - An e-commerce storefront for Django.
  • shoop - An open source E-Commerce platform based on Django.

Editor Plugins and IDEs

Emacs

  • elpy 1368 GPL-3.0- Emacs Python Development Environment

Sublime Text

  • anaconda 1929 - Anaconda turns your Sublime Text 3 in a full featured Python development IDE including autocompletion, code linting, IDE features, autopep8 formating, McCabe complexity checker Vagrant and Docker support for Sublime Text 3 using Jedi, PyFlakes, pep8, MyPy, PyLint, pep257 and McCabe that will never freeze your Sublime Text 3
  • SublimeJEDI 859 MIT- awesome Python autocompletion with SublimeText

Vim

  • python-mode 4553 LGPL-3.0- Vim python-mode. PyLint, Rope, Pydoc, breakpoints from box.
  • jedi-vim 3849 MIT- Using the jedi autocompletion library for VIM.
  • jedi 3716 - Awesome autocompletion and static analysis library for python.

Visual Studio

Visual Studio Code

  • pythonVSCode 1881 MIT- This extension is now maintained in the Microsoft fork.
  • MagicPython 1071 MIT- Cutting edge Python syntax highlighter for Sublime Text, Atom and Visual Studio Code. Used by GitHub to highlight your Python code!

IDE

  • spyder 4170 MIT- Official repository for Spyder - The Scientific Python Development Environment
  • LiClipse - Free polyglot IDE based on Eclipse. Uses PyDev for Python support.
  • PyCharm - Commercial Python IDE by JetBrains. Has free community edition available.

Email

Libraries for sending and parsing email.

  • sync-engine 3472 AGPL-3.0- 📨 IMAP/SMTP sync system with modern APIs
  • inbox.py 1442 BSD-2-Clause- Python SMTP Server for Humans
  • flanker 1285 Apache-2.0- Python email address and Mime parsing library
  • yagmail 1273 MIT- yagmail makes sending emails very easy by doing all the magic for you
  • modoboa 1228 ISC- Mail hosting made simple
  • imbox 822 MIT- Python IMAP for Human beings
  • lamson 661 - Pythonic SMTP Application Server
  • mailer 162 MIT- A highly efficient and modular mail delivery framework for Python 2.6+ and 3.1+, formerly TurboMail.
  • envelopes - Mailing for human beings.

Environment Management

Libraries for Python version and environment management.

  • pipenv 15970 MIT- Python Development Workflow for Humans.
  • pyenv 14474 MIT- Simple Python version management
  • p 746 MIT- 🐍 Python Version Management Made Simple
  • 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.

Files

Libraries for file manipulation and MIME type detection.

  • watchdog 3358 - Python library and shell utilities to monitor filesystem events.
  • python-magic 1291 MIT- A python wrapper for libmagic
  • path.py 841 MIT- "Path" object conveniently wrapping assorted file/path-related functionality
  • pyfilesystem2 832 MIT- Python's Filesystem abstraction layer
  • Unipath 475 - An object-oriented approach to Python file/directory operations.
  • mimetypes - (Python standard library) Map filenames to MIME types.
  • pathlib - (Python standard library) An cross-platform, object-oriented path library.

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.

Forms

Libraries for working with forms.

  • django-crispy-forms 3453 MIT- The best way to have DRY Django forms. The app provides a tag and filter that lets you quickly render forms in a div format while providing an enormous amount of capability to configure and control the rendered HTML.
  • django-bootstrap3 2085 BSD-3-Clause- Bootstrap 3 integration with Django.
  • wtforms 919 - A flexible forms validation and rendering library for Python.
  • deform 309 - A Python HTML form library.
  • django-remote-forms 184 MIT- A platform independent django form serializer

Functional Programming

Functional Programming with Python.

  • fn.py 2786 - Functional programming in Python: implementation of missing features to enjoy FP
  • toolz 2199 - A functional standard library for Python.
  • funcy 1981 - A fancy and practical functional tools
  • cytoolz 586 - Cython implementation of Toolz: High performance functional utilities
  • Coconut - Coconut is a variant of Python built for simple, elegant, Pythonic functional programming.

GUI

Libraries for working with graphical user interface applications.

  • Eel 2535 MIT- A little Python library for making simple Electron-like HTML/JS GUI apps
  • toga 1903 - A Python native, OS native GUI toolkit.
  • flexx 1893 BSD-2-Clause- Write desktop and web apps in pure Python
  • pywebview 1251 BSD-3-Clause- Build GUI for your Python program with JavaScript, HTML, and CSS
  • PySimpleGUI 1186 LGPL-3.0- Launched in 2018 Actively developed and supported. Supports tkinter, Qt & WxPython. Create custom layout GUI's simply. Python 2.7 & 3 Support. 100+ Demo programs & Cookbook for rapid start. Extensive documentation. Examples using Machine Learning(GUI, OpenCV Integration, Chatterbot), Floating Desktop Widgets, Matplotlib + Pyplot integration, add GUI to command line scripts, PDF & Image Viewer. For both beginning and advanced programmers .
  • enaml 723 - Declarative User Interfaces for Python
  • curses - Built-in wrapper for ncurses used to create terminal GUI applications.
  • 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.
  • Tkinter - Tkinter is Python's de-facto standard GUI package.
  • 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.

Game Development

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.

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

HTML Manipulation

Libraries for working with HTML and XML.

  • xmltodict 3344 MIT- Python module that makes working with XML feel like you are working with JSON
  • bleach 1668 - Bleach is an allowed-list-based HTML sanitizing library that escapes or strips markup and attributes
  • pyquery 1653 - A jquery-like library for python
  • html5lib-python 759 MIT- Standards-compliant library for parsing and serializing HTML documents and fragments in Python
  • untangle 384 MIT- Converts XML to Python objects
  • markupsafe 245 BSD-3-Clause- Safely add untrusted strings to HTML/XML markup.
  • BeautifulSoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
  • cssutils - A CSS library for Python.
  • lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.
  • WeasyPrint - A visual rendering engine for HTML and CSS that can export to PDF.
  • xmldataset - Simple XML Parsing.

HTTP

Libraries for working with HTTP.

  • grequests 2920 BSD-2-Clause- Requests + Gevent = <3
  • urllib3 1883 - Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more.
  • treq 455 - Python requests like API built on top of Twisted's HTTP client.
  • httplib2 294 - Small, fast HTTP client library for Python. Features persistent connections, cache, and Google App Engine support. Originally written by Joe Gregorio, now supported by community.
  • requests - HTTP Requests for Humans™.

Hardware

Libraries for programming with hardware.

  • scapy 3603 GPL-2.0- Scapy: the Python-based interactive packet manipulation program & library. Supports Python 2 & Python 3.
  • keyboard 1323 MIT- Hook and simulate global keyboard events on Windows and Linux.
  • PyUserInput 809 GPL-3.0- A module for cross-platform control of the mouse and keyboard in python that is simple to install and use.
  • wifi 238 BSD-2-Clause- [unmaintained] WiFi tools for linux
  • mouse 158 MIT- Hook and simulate global mouse events in pure Python
  • ino - Command line toolkit for working with Arduino.
  • Pingo - Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.

Image Processing

Libraries for manipulating images.

  • thumbor 6631 MIT- thumbor is an open-source photo thumbnail service by globo.com
  • Pillow 5862 - The friendly PIL fork (Python Imaging Library)
  • python-qrcode 1682 - Python QR Code image generator
  • wand 845 - The ctypes-based simple ImageMagick binding for Python
  • Quads 826 - Computer art based on quadtrees.
  • nude.py 631 - Nudity detection with Python
  • hmap 159 - Image histogram remapping
  • pagan 127 GPL-2.0- Python avatar generator for absolute nerds
  • pygram 76 - Instagram-like image filters.
  • imgSeek - A project for searching a collection of images using visual similarity.
  • pyBarcode - Create barcodes in Python without needing PIL.
  • scikit-image - A Python library for (scientific) image processing.

Implementations

Implementations of Python.

  • cpython 22744 - The Python programming language
  • grumpy 9545 Apache-2.0- Grumpy is a Python to Go source code transcompiler and runtime.
  • micropython 8001 MIT- MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
  • pyston 4468 - An open-source Python implementation using JIT techniques.
  • Pyjion 1248 MIT- Pyjion - A JIT for Python based upon CoreCLR
  • PeachPy 1233 - x86-64 assembler embedded in Python
  • ironpython3 817 Apache-2.0- DO NOT USE. Implementation of Python 3.x for .NET Framework that is built on top of the Dynamic Language Runtime.
  • owasp-pysec 325 Apache-2.0- OWASP Python Security Project
  • stackless 320 - The Stackless Python programming language
  • cl-python 265 - An implementation of Python in Common Lisp
  • Cython - Optimizing Static Compiler for Python. Uses type mixins to compile Python into C or C++ modules resulting in large performance gains
  • Jython - Implementation of Python programming language written in Java for the Java virtual machine (JVM).
  • Numba - Python JIT compiler to LLVM aimed at scientific Python.
  • 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.

Interactive Interpreter

Interactive Python interpreters (REPL).

Internationalization

Libraries for working with i18n.

  • pyicu 83 - PyICU project repository
  • Babel - An internationalization library for Python.

Job Scheduler

Libraries for scheduling jobs.

  • schedule 5715 MIT- Python job scheduling for humans.
  • plan 1062 - Crontab jobs management in Python
  • django-schedule 736 - A calendaring app for Django. It is now stable, Please feel free to use it now. Active development has been taken over by bartekgorny.
  • SpiffWorkflow 718 LGPL-3.0- A powerful workflow engine implemented in pure Python
  • gunnery 677 Apache-2.0- Remote task execution tool
  • APScheduler - A light but powerful in-process task scheduler that lets you schedule functions.
  • doit - A task runner and build tool.
  • Joblib - A set of tools to provide lightweight pipelining in Python.
  • TaskFlow - A Python library that helps to make task execution easy, consistent and reliable.

Logging

Libraries for generating and working with logs.

  • raven-python 1605 BSD-3-Clause- Raven is the legacy Python client for Sentry (getsentry.com) — replaced by sentry-python
  • eliot 462 Apache-2.0- Eliot: the logging system that tells you why it happened
  • logbook - Logging replacement for Python.
  • logging - (Python standard library) Logging facility for Python.

Machine Learning

Libraries for Machine Learning. See: awesome-machine-learning.

  • xgboost 15006 Apache-2.0- Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow
  • vowpal_wabbit 6133 - Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.
  • nupic 5825 AGPL-3.0- Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex.
  • h2o-3 3838 Apache-2.0- Open Source Fast Scalable Machine Learning Platform For Smarter Applications (Deep Learning, Gradient Boosting, Random Forest, Generalized Linear Modeling (Logistic Regression, Elastic Net), K-Means, PCA, Stacked Ensembles, Automatic Machine Learning (AutoML), ...)
  • Metrics 1072 - Machine learning evaluation metrics, implemented in Python, R, Haskell, and MATLAB / Octave
  • scikit-learn - The most popular Python library for Machine Learning.
  • Spark ML - Apache Spark's scalable Machine Learning library.

Microsoft Windows

Python programming on Microsoft Windows.

  • pythonnet 1453 MIT- Python for .NET is a package that gives Python programmers nearly seamless integration with the .NET Common Language Runtime (CLR) and provides a powerful application scripting tool for .NET developers.
  • Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
  • pythonlibs - Unofficial Windows binaries for Python extension packages.
  • PyWin32 - Python Extensions for Windows.
  • WinPython - Portable development environment for Windows 7/8.

Miscellaneous

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

  • itsdangerous 1664 - Various helpers to pass trusted data to untrusted environments and back.
  • blinker 859 MIT- A fast Python in-process signal/event dispatching system.
  • pluginbase 773 - A simple but flexible plugin system for Python.
  • pychievements 109 MIT- The Python Achievements Framework!
  • Tryton - A general purpose business framework.

Natural Language Processing

Libraries for working with human languages.

  • jieba 17366 MIT- 结巴中文分词
  • gensim 8724 LGPL-2.1- Topic Modelling for Humans
  • TextBlob 5999 MIT- Simple, Pythonic, text processing--Sentiment analysis, part-of-speech tagging, noun phrase extraction, translation, and more.
  • snownlp 3855 MIT- Python library for processing Chinese text
  • langid.py 1236 - Stand-alone language identification system
  • PyTorch-NLP 1200 BSD-3-Clause- Supporting Rapid Prototyping with a Toolkit (incl. Datasets and Neural Network Layers)
  • polyglot 1165 GPL-3.0- Multilingual text (NLP) processing toolkit
  • NLTK - A leading platform for building Python programs to work with human language data.
  • Pattern - A web mining module for the Python.
  • spaCy - A library for industrial-strength natural language processing in Python and Cython.

Network Virtualization

Tools and libraries for Virtual Networking and SDN (Software Defined Networking).

  • pox 420 Apache-2.0- The POX network software platform
  • Mininet - A popular network emulator and API written in Python.
  • Pyretic - A member of the Frenetic family of SDN programming languages that provides powerful abstractions over network switches or emulators.

Networking

Libraries for networking programming.

  • pulsar 1714 BSD-3-Clause- Event driven concurrent framework for Python
  • awesome-asyncio 1299 - A curated list of awesome Python asyncio frameworks, libraries, software and resources
  • napalm 1151 Apache-2.0- Network Automation and Programmability Abstraction Layer with Multivendor support
  • diesel 567 - Greenlet-based event I/O Framework for Python
  • txZMQ 144 GPL-2.0- ZeroMQ bindings for Twisted
  • asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
  • pyzmq - A Python wrapper for the ZeroMQ message library.
  • Twisted - An event-driven networking engine.

News Feed

Libraries for building user's activities.

  • Stream-Framework 3959 - Stream Framework is a Python library, which allows you to build news feed, activity streams and notification systems using Cassandra and/or Redis. The authors of Stream-Framework also provide a cloud service for feed technology:
  • django-activity-stream 1507 BSD-3-Clause- Generate generic activity streams from the actions on your site. Users can follow any actors' activities for personalized streams.

ORM

Libraries that implement Object-Relational Mapping or data mapping techniques.

Relational Databases

  • peewee 6152 MIT- a small, expressive orm -- supports postgresql, mysql and sqlite
  • awesome-sqlalchemy 1798 - A curated list of awesome tools for SQLAlchemy
  • pydal 252 - A pure Python Database Abstraction Layer
  • 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.
  • PonyORM - ORM that provides a generator-oriented interface to SQL.
  • python-sql - Write SQL queries pythonically.

NoSQL Databases

Others

  • dataset 3450 MIT- Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions.
  • butterdb 340 MIT- butterdb is a Python object mapper for Google Drive Spreadsheets. Still in development, but usable.

Package Management

Libraries for package and dependency management.

  • pip-tools 3143 - A set of tools to keep your pinned Python dependencies fresh.
  • conda 2750 - OS-agnostic, system-level binary package manager and ecosystem
  • pip - The Python package and dependency manager Python Package Index.
  • 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 2082 Apache-2.0- The Python Package Repository
  • localshop 346 MIT- local pypi server (custom packages and auto-mirroring of pypi)
  • bandersnatch - PyPI mirroring tool provided by Python Packaging Authority (PyPA).
  • devpi - PyPI server and packaging/testing/release tool.

Permissions

Libraries that allow or deny users access to data or functionality.

  • django-guardian 2139 - Per object permissions for Django
  • django-rules 825 MIT- Awesome Django authorization, without the database
  • python-carteblanche 39 - Module to align code with thoughts of users and designers. Also magically handles navigation and permissions.

Processes

Libraries for starting and communicating with OS processes.

  • sh 4844 MIT- Python process launching
  • delegator.py 1223 MIT- Subprocesses for Humans 2.0.
  • sarge - Yet another wrapper for subprocess.

Queue

Libraries for working with event and task queues.

  • huey 2125 MIT- a little task queue for python
  • mrq 739 MIT- Mr. Queue - A distributed worker task queue in Python using Redis & gevent
  • simpleq 141 - A simple, infinitely scalable, SQS based queue.
  • celery - An asynchronous task queue/job queue based on distributed message passing.
  • rq - Simple job queues for Python.

Recommender Systems

Libraries for building recommender systems.

  • annoy 4917 Apache-2.0- Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk
  • lightfm 2309 Apache-2.0- A Python implementation of LightFM, a hybrid recommendation algorithm.
  • spotlight 1533 MIT- Deep recommender models using PyTorch.
  • implicit 1340 MIT- Fast Python Collaborative Filtering for Implicit Feedback Datasets
  • libffm 1130 - A Library for Field-aware Factorization Machines
  • tensorrec 765 Apache-2.0- A TensorFlow recommendation algorithm and framework in Python.
  • fastFM 703 - fastFM: A Library for Factorization Machines
  • surprise - A scikit for building and analyzing recommender systems.

RESTful API

Libraries for developing RESTful APIs.

Django

Flask

  • eve 5495 - REST API framework designed for human beings
  • flask-restful 4461 BSD-3-Clause- Simple framework for creating REST APIs
  • flask-restless 962 - A Flask extension for creating simple ReSTful JSON APIs from SQLAlchemy models.
  • flask-api-utils 47 MIT- Flask extension that takes care of API representation and authentication.
  • flask-api - Browsable Web APIs for Flask.

Pyramid

  • cornice 339 - Build Web Services with Pyramid.

Framework agnostic

  • hug 5593 MIT- Embrace the APIs of the future. Hug aims to make developing APIs as simple as possible, but no simpler.
  • apistar 5072 BSD-3-Clause- The Web API toolkit. 🛠
  • sandman 2310 Apache-2.0- Sandman "makes things REST".
  • restless 735 BSD-3-Clause- A lightweight REST miniframework for Python.
  • ripozo 188 GPL-2.0- A tool for quickly creating REST/HATEOAS/Hypermedia APIs in python
  • falcon - A high-performance framework for building cloud APIs and web app backends.

Robotics

Libraries for robotics.

  • PythonRobotics 4626 MIT- Python sample codes for robotics algorithms.
  • rospy - This is a library for ROS (Robot Operating System).

RPC Servers

RPC-compatible servers.

  • zerorpc-python 2377 - zerorpc for python
  • jsonrpclib 386 - A Python JSON-RPC over HTTP that mirrors xmlrpclib syntax.
  • SimpleXMLRPCServer - (Python standard library) Simple XML-RPC server implementation, single-threaded.

Science

Libraries for scientific computing.

  • zipline 8377 Apache-2.0- Zipline, a Pythonic Algorithmic Trading Library
  • sympy 5599 - A computer algebra system written in pure Python
  • pymc3 3979 - Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Theano
  • statsmodels 3674 - Statsmodels: statistical modeling and econometrics in Python
  • bcbio-nextgen 656 MIT- Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis
  • obspy 478 - ObsPy: A Python Toolbox for seismology/seismological observatories.
  • bcbb 436 - Incubator for useful bioinformatics code, primarily in Python and R
  • astropy - A community Python library for Astronomy.
  • 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.
  • Colour - A colour science package implementing a comprehensive number of colour theory transformations and algorithms.
  • 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.
  • PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.
  • QuTiP - Quantum Toolbox in Python.
  • RDKit - Cheminformatics and Machine Learning Software.
  • SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
  • SimPy - A process-based discrete-event simulation framework.

Search

Libraries and software for indexing and performing search queries on data.

Serialization

Libraries for serializing complex data types

  • marshmallow 3341 MIT- A lightweight library for converting complex objects to and from simple Python datatypes.

Serverless Frameworks

Frameworks for developing serverless Python code.

  • Zappa 8690 MIT- Serverless Python
  • apex 7583 MIT- Build, deploy, and manage AWS Lambda functions with ease.
  • python-lambda 876 ISC- A toolkit for developing and deploying serverless Python code in AWS Lambda.

Specific Formats Processing

Libraries for parsing and manipulating specific text formats.

General

  • tablib 3338 MIT- Python Module for Tabular Datasets in XLS, CSV, JSON, YAML, &c.

Office

  • xlrd 1573 - Library for developers to extract data from Microsoft Excel (tm) spreadsheet files
  • python-docx 1565 MIT- Create and modify Word documents with Python
  • unoconv 1483 GPL-2.0- Universal Office Converter - Convert between any document format supported by LibreOffice/OpenOffice.
  • python-pptx 741 MIT- Create Open XML PowerPoint documents in Python
  • pyexcel 609 - Single API for reading, manipulating and writing data in csv, ods, xls, xlsx and xlsm files
  • mm 153 - Python powered spreadsheets
  • openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
  • relatorio - Templating OpenDocument 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.

PDF

  • pdfminer 3349 MIT- Python PDF Parser
  • PyPDF2 2360 - A utility to read and write PDFs with Python
  • ReportLab - Allowing Rapid creation of rich PDF documents.

Markdown

  • markdown 1653 - A Python implementation of John Gruber’s Markdown with Extension support.
  • mistune 1416 BSD-3-Clause- The fastest markdown parser in pure Python with renderer feature.

YAML

  • PyYAML - YAML implementations for Python.

CSV

  • csvkit 3672 MIT- A suite of utilities for converting to and working with CSV, the king of tabular file formats.

Archive

  • unp 339 - Unpacks things.

Static Site Generator

Static site generator is a software that takes some text + templates as input and produces HTML files on the output.

  • Cactus 3274 - Static site generator for designers. Uses Python and Django templates.
  • 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.

Tagging

Libraries for tagging items.

Template Engine

Libraries and tools for templating and lexing.

  • jinja 5895 - The Jinja2 template engine
  • Genshi - Python templating toolkit for generation of web-aware output.
  • Mako - Hyperfast and lightweight templating for the Python platform.

Testing

Libraries for testing codebases and generating test data.

Testing Frameworks

  • hypothesis 3281 - Hypothesis is a powerful, flexible, and easy to use library for property-based testing.
  • robotframework 3073 - Generic automation framework for acceptance testing and RPA
  • nose 1262 - nose is nicer testing for python
  • nose2 527 - The successor to nose, based on unittest2
  • mamba - The definitive testing tool for Python. Born under the banner of BDD.
  • pytest - A mature full-featured Python testing tool.
  • unittest - (Python standard library) Unit testing framework.

Test Runners

  • green 589 MIT- Green is a clean, colorful, fast python test runner.
  • tox - Auto builds and tests distributions in multiple Python versions

GUI / Web Testing

  • locust 9446 MIT- Scalable user load testing tool written in Python
  • pyautogui 2458 BSD-3-Clause- A cross-platform GUI automation Python module for human beings. Used to programmatically control the mouse & keyboard.
  • splinter 1964 BSD-3-Clause- splinter - python test framework for web applications
  • sixpack 1541 BSD-2-Clause- Sixpack is a language-agnostic a/b-testing framework
  • Selenium - Python bindings for Selenium WebDriver.

Mock

  • responses 2221 Apache-2.0- A utility for mocking out the Python Requests library.
  • freezegun 1820 Apache-2.0- Let your Python tests travel through time
  • HTTPretty 1663 MIT- HTTP client mocking tool for Python - inspired by Fakeweb for Ruby
  • vcrpy 1351 MIT- Automatically mock your HTTP interactions to simplify and speed up testing
  • httmock 363 - A mocking library for requests
  • python-mocket 138 BSD-3-Clause- a socket mock framework - for all kinds of socket animals, web-clients included
  • doublex - Powerful test doubles framework for Python.
  • mock - (Python standard library) A mocking and patching library.

Object Factories

  • factory_boy 1705 MIT- A test fixtures replacement for Python
  • model_mommy 880 - Object factory for django
  • mixer 578 - Mixer -- Is a fixtures replacement. Supported Django, Flask, SqlAlchemy and custom python objects.

Code Coverage

Fake Data

  • faker 7425 MIT- Faker is a Python package that generates fake data for you.
  • mimesis 2289 MIT- Mimesis is fast and extremely easy to use Python package, which helps generate big volumes of fake data for a variety of purposes in a variety of languages.
  • fake2db 1941 GPL-2.0- create custom test databases that are populated with fake data
  • radar - Generate random datetime / time.

Error Handler

  • fuckitpy 3316 - The Python error steamroller.

Text Processing

Libraries for parsing and manipulating plain texts.

General

  • fuzzywuzzy 5254 GPL-2.0- Fuzzy String Matching in Python
  • python-ftfy 2406 MIT- Fixes mojibake and other glitches in Unicode text, after the fact.
  • python-pinyin 1653 MIT- 汉字转拼音(pypinyin)
  • textdistance 1316 LGPL-3.0- Compute distance between sequences. 30+ algorithms, pure python implementation, common interface, optional external libs usage.
  • chardet 1081 LGPL-2.1- Python 2/3 compatible character encoding detector.
  • shortuuid 1024 BSD-3-Clause- A generator library for concise, unambiguous and URL-safe UUIDs.
  • hashids-python 889 MIT- Implementation of hashids (http://hashids.org) in Python. Compatible with Python 2 and Python 3
  • xpinyin 611 - translate chinese hanzi to pinyin by python
  • python-Levenshtein 582 GPL-2.0- The Levenshtein Python C extension module contains functions for fast computation of Levenshtein distance and string similarity
  • pyfiglet 405 - An implementation of figlet written in Python
  • uniout 151 MIT- Never see escaped bytes in output.
  • pangu.py 92 MIT- Paranoid text spacing in Python
  • difflib - (Python standard library) Helpers for computing deltas.
  • unidecode - ASCII transliterations of Unicode text.

Slugify

Parser

  • python-phonenumbers 2091 Apache-2.0- Python port of Google's libphonenumber
  • sqlparse 1531 BSD-3-Clause- A non-validating SQL parser module for Python
  • python-user-agents 854 MIT- A Python library that provides an easy way to identify devices like mobile phones, tablets and their capabilities by parsing (browser) user agent strings.
  • python-nameparser 311 - A simple Python module for parsing human names into their individual components
  • PLY - Implementation of lex and yacc parsing tools for Python.
  • Pygments - A generic syntax highlighter.

Third-party APIs

Libraries for accessing third party services APIs. See: List of Python API Wrappers and Libraries.

URL Manipulation

Libraries for parsing URLs.

  • furl 1522 - 🌐 URL parsing and manipulation made easy.
  • webargs 757 MIT- A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, Pyramid, webapp2, Falcon, and aiohttp.
  • purl 223 MIT- A simple, immutable URL class with a clean API for interrogation and manipulation.
  • pyshorteners 219 GPL-3.0- 🔌 A Python lib to consume the most used shorteners APIs (WIP)
  • python-short_url 128 MIT- Python implementation for generating Tiny URL- and bit.ly-like URLs.

Video

Libraries for manipulating video and GIFs.

  • scikit-video 87 - Video processing routines for SciPy
  • moviepy - A module for script-based movie editing with many formats, including animated GIFs.

WSGI Servers

WSGI-compatible web servers.

  • netius 108 Apache-2.0- Readable, simple and fast asynchronous non-blocking network apps
  • 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.
  • 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.

  • requests-html 9096 MIT- Pythonic HTML Parsing for Humans™
  • newspaper 7688 - News, full-text, and article metadata extraction in Python 3. Advanced docs:
  • python-goose 3283 Apache-2.0- Html Content / Article Extractor, web scrapping lib in Python
  • toapi 2761 - Every web site provides APIs.
  • textract 2438 MIT- extract text from any document. no muss. no fuss.
  • sumy 1823 Apache-2.0- Module for automatic summarization of text documents and HTML pages.
  • python-readability 1582 - fast python port of arc90's readability tool, updated to match latest readability.js!
  • html2text 639 GPL-3.0- Convert HTML to Markdown-formatted text.
  • lassie 448 MIT- Web Content Retrieval for Humans™
  • micawber 427 MIT- a small library for extracting rich content from urls
  • haul 136 MIT- An Extensible Image Crawler
  • python-sanitize 58 BSD-2-Clause- Bringing sanity to world of messed-up data

Web Crawling & Web Scraping

Libraries to automate data extraction from websites.

  • pyspider 12770 Apache-2.0- A Powerful Spider(Web Crawler) System in Python.
  • portia 6748 - Visual scraping for Scrapy
  • MechanicalSoup 3126 MIT- A Python library for automating interaction with websites.
  • cola 1335 - A high-level distributed crawling framework.
  • demiurge 89 BSD-3-Clause- PyQuery-based scraping micro-framework.
  • feedparser - Universal feed parser.
  • Grab - Site scraping framework.
  • Scrapy - A fast high-level screen scraping and web crawling framework.

Web Frameworks

Full stack web frameworks.

  • sanic 11506 MIT- Async Python 3.5+ web server that's written to go fast
  • awesome-flask 6807 - A curated list of awesome Flask resources and plugins
  • awesome-django 494 - A curated list of awesome things related to Django
  • awesome-pyramid 455 - A curated list of awesome Pyramid apps, projects and resources.
  • 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.
  • Tornado - A Web framework and asynchronous networking library.
  • Vibora - Fast, efficient and asynchronous Web framework inspired by Flask.

WebSocket

Libraries for working with WebSocket.

Services

Online tools and APIs to simplify development.

Continuous Integration

See: awesome-CIandCD.

  • 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.

Code Quality

  • Codacy - Automated Code Review to ship better code, faster.
  • Codecov - Code coverage dashboard.
  • CodeFactor - Automated Code Review for Git.
  • Landscape - Hosted continuous Python code metrics.

Resources

Where to discover new Python libraries.

Podcasts

Twitter

Websites

Weekly

Other Awesome Lists

List of lists.

Monty

  • awesome 102872 - 😎 Awesome lists about all kinds of interesting topics
  • awesomo 6287 - An extensive list of interesting open source projects written in С, C++, Clojure, Lisp, Elixir, Erlang, Elm, Golang, Haskell, JavaScript, Lua, OCaml, Python, R, Ruby, Rust, Scala etc.
  • lists 5602 CC0-1.0- The definitive list of lists (of lists) curated on GitHub

Python

List generated with awesome at 2019-03-02 12:07:30.240291866 CET.

Releases

No releases published

Packages

No packages published