<!doctype html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="description" content="A curated list of awesome Python frameworks, libraries and software"> <link rel="canonical" href="https://awesome-python.com/"> <meta name="author" content="Vinta Chen"> <meta name="lang:clipboard.copy" content="Copy to clipboard"> <meta name="lang:clipboard.copied" content="Copied to clipboard"> <meta name="lang:search.language" content="en"> <meta name="lang:search.pipeline.stopwords" content="True"> <meta name="lang:search.pipeline.trimmer" content="True"> <meta name="lang:search.result.none" content="No matching documents"> <meta name="lang:search.result.one" content="1 matching document"> <meta name="lang:search.result.other" content="# matching documents"> <meta name="lang:search.tokenizer" content="[\s\-]+"> <link rel="shortcut icon" href="assets/images/favicon.png"> <meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.0.2"> <title>Awesome Python</title> <link rel="stylesheet" href="assets/stylesheets/application.982221ab.css"> <link rel="stylesheet" href="assets/stylesheets/application-palette.224b79ff.css"> <meta name="theme-color" content="#ef5350"> <script src="assets/javascripts/modernizr.1f0bcf2b.js"></script> <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono"> <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style> <link rel="stylesheet" href="assets/fonts/material-icons.css"> <link rel="stylesheet" href="css/extra.css"> <script> window.ga = window.ga || function() { (ga.q = ga.q || []).push(arguments) } ga.l = +new Date /* Setup integration and send page view */ ga("create", "UA-510626-7", "auto") ga("set", "anonymizeIp", true) ga("send", "pageview") /* Register handler to log search on blur */ document.addEventListener("DOMContentLoaded", () => { if (document.forms.search) { var query = document.forms.search.query query.addEventListener("blur", function() { if (this.value) { var path = document.location.pathname; ga("send", "pageview", path + "?q=" + this.value) } }) } }) </script> <script async src="https://www.google-analytics.com/analytics.js"></script> </head> <body dir="ltr" data-md-color-primary="red" data-md-color-accent="pink"> <svg class="md-svg"> <defs> <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="__github"> <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75 19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360 304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25 2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75 1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75 0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5 46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z" /> </svg> </defs> </svg> <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> <label class="md-overlay" data-md-component="overlay" for="__drawer"></label> <a href="#awesome-python" tabindex="1" class="md-skip"> Skip to content </a> <header class="md-header" data-md-component="header"> <nav class="md-header-nav md-grid"> <div class="md-flex"> <div class="md-flex__cell md-flex__cell--shrink"> <a href="https://awesome-python.com" title="Awesome Python" class="md-header-nav__button md-logo"> <i class="md-icon"></i> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title"> <span class="md-header-nav__topic"> Awesome Python </span> <span class="md-header-nav__topic"> Life is short, you need Python. </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label> <div class="md-search" data-md-component="search" role="dialog"> <label class="md-search__overlay" for="__search"></label> <div class="md-search__inner" role="search"> <form class="md-search__form" name="search"> <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active"> <label class="md-icon md-search__icon" for="__search"></label> <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">  </button> </form> <div class="md-search__output"> <div class="md-search__scrollwrap" data-md-scrollfix> <div class="md-search-result" data-md-component="result"> <div class="md-search-result__meta"> Type to start searching </div> <ol class="md-search-result__list"></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class="md-header-nav__source"> <a href="https://github.com/vinta/awesome-python/" title="Go to repository" class="md-source" data-md-source="github"> <div class="md-source__icon"> <svg viewBox="0 0 24 24" width="24" height="24"> <use xlink:href="#__github" width="24" height="24"></use> </svg> </div> <div class="md-source__repository"> vinta/awesome-python </div> </a> </div> </div> </div> </nav> </header> <div class="md-container"> <main class="md-main"> <div class="md-main__inner md-grid" data-md-component="container"> <div class="md-sidebar md-sidebar--primary" data-md-component="navigation"> <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--primary" data-md-level="0"> <label class="md-nav__title md-nav__title--site" for="__drawer"> <a href="https://awesome-python.com" title="Awesome Python" class="md-nav__button md-logo"> <i class="md-icon"></i> </a> Awesome Python </label> <div class="md-nav__source"> <a href="https://github.com/vinta/awesome-python/" title="Go to repository" class="md-source" data-md-source="github"> <div class="md-source__icon"> <svg viewBox="0 0 24 24" width="24" height="24"> <use xlink:href="#__github" width="24" height="24"></use> </svg> </div> <div class="md-source__repository"> vinta/awesome-python </div> </a> </div> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc"> <label class="md-nav__link md-nav__link--active" for="__toc"> Life is short, you need Python. </label> <a href="." title="Life is short, you need Python." class="md-nav__link md-nav__link--active"> Life is short, you need Python. </a> <nav class="md-nav md-nav--secondary"> <label class="md-nav__title" for="__toc">Table of contents</label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="#admin-panels" title="Admin Panels" class="md-nav__link"> Admin Panels </a> </li> <li class="md-nav__item"> <a href="#algorithms-and-design-patterns" title="Algorithms and Design Patterns" class="md-nav__link"> Algorithms and Design Patterns </a> </li> <li class="md-nav__item"> <a href="#asgi-servers" title="ASGI Servers" class="md-nav__link"> ASGI Servers </a> </li> <li class="md-nav__item"> <a href="#asynchronous-programming" title="Asynchronous Programming" class="md-nav__link"> Asynchronous Programming </a> </li> <li class="md-nav__item"> <a href="#audio" title="Audio" class="md-nav__link"> Audio </a> </li> <li class="md-nav__item"> <a href="#authentication" title="Authentication" class="md-nav__link"> Authentication </a> </li> <li class="md-nav__item"> <a href="#build-tools" title="Build Tools" class="md-nav__link"> Build Tools </a> </li> <li class="md-nav__item"> <a href="#built-in-classes-enhancement" title="Built-in Classes Enhancement" class="md-nav__link"> Built-in Classes Enhancement </a> </li> <li class="md-nav__item"> <a href="#cms" title="CMS" class="md-nav__link"> CMS </a> </li> <li class="md-nav__item"> <a href="#caching" title="Caching" class="md-nav__link"> Caching </a> </li> <li class="md-nav__item"> <a href="#chatops-tools" title="ChatOps Tools" class="md-nav__link"> ChatOps Tools </a> </li> <li class="md-nav__item"> <a href="#code-analysis" title="Code Analysis" class="md-nav__link"> Code Analysis </a> </li> <li class="md-nav__item"> <a href="#command-line-interface-development" title="Command-line Interface Development" class="md-nav__link"> Command-line Interface Development </a> </li> <li class="md-nav__item"> <a href="#command-line-tools" title="Command-line Tools" class="md-nav__link"> Command-line Tools </a> </li> <li class="md-nav__item"> <a href="#compatibility" title="Compatibility" class="md-nav__link"> Compatibility </a> </li> <li class="md-nav__item"> <a href="#computer-vision" title="Computer Vision" class="md-nav__link"> Computer Vision </a> </li> <li class="md-nav__item"> <a href="#concurrency-and-parallelism" title="Concurrency and Parallelism" class="md-nav__link"> Concurrency and Parallelism </a> </li> <li class="md-nav__item"> <a href="#configuration" title="Configuration" class="md-nav__link"> Configuration </a> </li> <li class="md-nav__item"> <a href="#cryptography" title="Cryptography" class="md-nav__link"> Cryptography </a> </li> <li class="md-nav__item"> <a href="#data-analysis" title="Data Analysis" class="md-nav__link"> Data Analysis </a> </li> <li class="md-nav__item"> <a href="#data-validation" title="Data Validation" class="md-nav__link"> Data Validation </a> </li> <li class="md-nav__item"> <a href="#data-visualization" title="Data Visualization" class="md-nav__link"> Data Visualization </a> </li> <li class="md-nav__item"> <a href="#database" title="Database" class="md-nav__link"> Database </a> </li> <li class="md-nav__item"> <a href="#database-drivers" title="Database Drivers" class="md-nav__link"> Database Drivers </a> </li> <li class="md-nav__item"> <a href="#date-and-time" title="Date and Time" class="md-nav__link"> Date and Time </a> </li> <li class="md-nav__item"> <a href="#debugging-tools" title="Debugging Tools" class="md-nav__link"> Debugging Tools </a> </li> <li class="md-nav__item"> <a href="#deep-learning" title="Deep Learning" class="md-nav__link"> Deep Learning </a> </li> <li class="md-nav__item"> <a href="#devops-tools" title="DevOps Tools" class="md-nav__link"> DevOps Tools </a> </li> <li class="md-nav__item"> <a href="#distributed-computing" title="Distributed Computing" class="md-nav__link"> Distributed Computing </a> </li> <li class="md-nav__item"> <a href="#distribution" title="Distribution" class="md-nav__link"> Distribution </a> </li> <li class="md-nav__item"> <a href="#documentation" title="Documentation" class="md-nav__link"> Documentation </a> </li> <li class="md-nav__item"> <a href="#downloader" title="Downloader" class="md-nav__link"> Downloader </a> </li> <li class="md-nav__item"> <a href="#e-commerce" title="E-commerce" class="md-nav__link"> E-commerce </a> </li> <li class="md-nav__item"> <a href="#editor-plugins-and-ides" title="Editor Plugins and IDEs" class="md-nav__link"> Editor Plugins and IDEs </a> </li> <li class="md-nav__item"> <a href="#email" title="Email" class="md-nav__link"> Email </a> </li> <li class="md-nav__item"> <a href="#environment-management" title="Environment Management" class="md-nav__link"> Environment Management </a> </li> <li class="md-nav__item"> <a href="#files" title="Files" class="md-nav__link"> Files </a> </li> <li class="md-nav__item"> <a href="#foreign-function-interface" title="Foreign Function Interface" class="md-nav__link"> Foreign Function Interface </a> </li> <li class="md-nav__item"> <a href="#forms" title="Forms" class="md-nav__link"> Forms </a> </li> <li class="md-nav__item"> <a href="#functional-programming" title="Functional Programming" class="md-nav__link"> Functional Programming </a> </li> <li class="md-nav__item"> <a href="#gui-development" title="GUI Development" class="md-nav__link"> GUI Development </a> </li> <li class="md-nav__item"> <a href="#graphql" title="GraphQL" class="md-nav__link"> GraphQL </a> </li> <li class="md-nav__item"> <a href="#game-development" title="Game Development" class="md-nav__link"> Game Development </a> </li> <li class="md-nav__item"> <a href="#geolocation" title="Geolocation" class="md-nav__link"> Geolocation </a> </li> <li class="md-nav__item"> <a href="#html-manipulation" title="HTML Manipulation" class="md-nav__link"> HTML Manipulation </a> </li> <li class="md-nav__item"> <a href="#http-clients" title="HTTP Clients" class="md-nav__link"> HTTP Clients </a> </li> <li class="md-nav__item"> <a href="#hardware" title="Hardware" class="md-nav__link"> Hardware </a> </li> <li class="md-nav__item"> <a href="#image-processing" title="Image Processing" class="md-nav__link"> Image Processing </a> </li> <li class="md-nav__item"> <a href="#implementations" title="Implementations" class="md-nav__link"> Implementations </a> </li> <li class="md-nav__item"> <a href="#interactive-interpreter" title="Interactive Interpreter" class="md-nav__link"> Interactive Interpreter </a> </li> <li class="md-nav__item"> <a href="#internationalization" title="Internationalization" class="md-nav__link"> Internationalization </a> </li> <li class="md-nav__item"> <a href="#job-scheduler" title="Job Scheduler" class="md-nav__link"> Job Scheduler </a> </li> <li class="md-nav__item"> <a href="#logging" title="Logging" class="md-nav__link"> Logging </a> </li> <li class="md-nav__item"> <a href="#machine-learning" title="Machine Learning" class="md-nav__link"> Machine Learning </a> </li> <li class="md-nav__item"> <a href="#microsoft-windows" title="Microsoft Windows" class="md-nav__link"> Microsoft Windows </a> </li> <li class="md-nav__item"> <a href="#miscellaneous" title="Miscellaneous" class="md-nav__link"> Miscellaneous </a> </li> <li class="md-nav__item"> <a href="#natural-language-processing" title="Natural Language Processing" class="md-nav__link"> Natural Language Processing </a> </li> <li class="md-nav__item"> <a href="#network-virtualization" title="Network Virtualization" class="md-nav__link"> Network Virtualization </a> </li> <li class="md-nav__item"> <a href="#news-feed" title="News Feed" class="md-nav__link"> News Feed </a> </li> <li class="md-nav__item"> <a href="#orm" title="ORM" class="md-nav__link"> ORM </a> </li> <li class="md-nav__item"> <a href="#package-management" title="Package Management" class="md-nav__link"> Package Management </a> </li> <li class="md-nav__item"> <a href="#package-repositories" title="Package Repositories" class="md-nav__link"> Package Repositories </a> </li> <li class="md-nav__item"> <a href="#permissions" title="Permissions" class="md-nav__link"> Permissions </a> </li> <li class="md-nav__item"> <a href="#processes" title="Processes" class="md-nav__link"> Processes </a> </li> <li class="md-nav__item"> <a href="#recommender-systems" title="Recommender Systems" class="md-nav__link"> Recommender Systems </a> </li> <li class="md-nav__item"> <a href="#refactoring" title="Refactoring" class="md-nav__link"> Refactoring </a> </li> <li class="md-nav__item"> <a href="#restful-api" title="RESTful API" class="md-nav__link"> RESTful API </a> </li> <li class="md-nav__item"> <a href="#robotics" title="Robotics" class="md-nav__link"> Robotics </a> </li> <li class="md-nav__item"> <a href="#rpc-servers" title="RPC Servers" class="md-nav__link"> RPC Servers </a> </li> <li class="md-nav__item"> <a href="#science" title="Science" class="md-nav__link"> Science </a> </li> <li class="md-nav__item"> <a href="#search" title="Search" class="md-nav__link"> Search </a> </li> <li class="md-nav__item"> <a href="#serialization" title="Serialization" class="md-nav__link"> Serialization </a> </li> <li class="md-nav__item"> <a href="#serverless-frameworks" title="Serverless Frameworks" class="md-nav__link"> Serverless Frameworks </a> </li> <li class="md-nav__item"> <a href="#specific-formats-processing" title="Specific Formats Processing" class="md-nav__link"> Specific Formats Processing </a> </li> <li class="md-nav__item"> <a href="#static-site-generator" title="Static Site Generator" class="md-nav__link"> Static Site Generator </a> </li> <li class="md-nav__item"> <a href="#tagging" title="Tagging" class="md-nav__link"> Tagging </a> </li> <li class="md-nav__item"> <a href="#task-queues" title="Task Queues" class="md-nav__link"> Task Queues </a> </li> <li class="md-nav__item"> <a href="#template-engine" title="Template Engine" class="md-nav__link"> Template Engine </a> </li> <li class="md-nav__item"> <a href="#testing" title="Testing" class="md-nav__link"> Testing </a> </li> <li class="md-nav__item"> <a href="#text-processing" title="Text Processing" class="md-nav__link"> Text Processing </a> </li> <li class="md-nav__item"> <a href="#third-party-apis" title="Third-party APIs" class="md-nav__link"> Third-party APIs </a> </li> <li class="md-nav__item"> <a href="#url-manipulation" title="URL Manipulation" class="md-nav__link"> URL Manipulation </a> </li> <li class="md-nav__item"> <a href="#video" title="Video" class="md-nav__link"> Video </a> </li> <li class="md-nav__item"> <a href="#web-asset-management" title="Web Asset Management" class="md-nav__link"> Web Asset Management </a> </li> <li class="md-nav__item"> <a href="#web-content-extracting" title="Web Content Extracting" class="md-nav__link"> Web Content Extracting </a> </li> <li class="md-nav__item"> <a href="#web-crawling" title="Web Crawling" class="md-nav__link"> Web Crawling </a> </li> <li class="md-nav__item"> <a href="#web-frameworks" title="Web Frameworks" class="md-nav__link"> Web Frameworks </a> </li> <li class="md-nav__item"> <a href="#websocket" title="WebSocket" class="md-nav__link"> WebSocket </a> </li> <li class="md-nav__item"> <a href="#wsgi-servers" title="WSGI Servers" class="md-nav__link"> WSGI Servers </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component="toc"> <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--secondary"> <label class="md-nav__title" for="__toc">Table of contents</label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="#admin-panels" title="Admin Panels" class="md-nav__link"> Admin Panels </a> </li> <li class="md-nav__item"> <a href="#algorithms-and-design-patterns" title="Algorithms and Design Patterns" class="md-nav__link"> Algorithms and Design Patterns </a> </li> <li class="md-nav__item"> <a href="#asgi-servers" title="ASGI Servers" class="md-nav__link"> ASGI Servers </a> </li> <li class="md-nav__item"> <a href="#asynchronous-programming" title="Asynchronous Programming" class="md-nav__link"> Asynchronous Programming </a> </li> <li class="md-nav__item"> <a href="#audio" title="Audio" class="md-nav__link"> Audio </a> </li> <li class="md-nav__item"> <a href="#authentication" title="Authentication" class="md-nav__link"> Authentication </a> </li> <li class="md-nav__item"> <a href="#build-tools" title="Build Tools" class="md-nav__link"> Build Tools </a> </li> <li class="md-nav__item"> <a href="#built-in-classes-enhancement" title="Built-in Classes Enhancement" class="md-nav__link"> Built-in Classes Enhancement </a> </li> <li class="md-nav__item"> <a href="#cms" title="CMS" class="md-nav__link"> CMS </a> </li> <li class="md-nav__item"> <a href="#caching" title="Caching" class="md-nav__link"> Caching </a> </li> <li class="md-nav__item"> <a href="#chatops-tools" title="ChatOps Tools" class="md-nav__link"> ChatOps Tools </a> </li> <li class="md-nav__item"> <a href="#code-analysis" title="Code Analysis" class="md-nav__link"> Code Analysis </a> </li> <li class="md-nav__item"> <a href="#command-line-interface-development" title="Command-line Interface Development" class="md-nav__link"> Command-line Interface Development </a> </li> <li class="md-nav__item"> <a href="#command-line-tools" title="Command-line Tools" class="md-nav__link"> Command-line Tools </a> </li> <li class="md-nav__item"> <a href="#compatibility" title="Compatibility" class="md-nav__link"> Compatibility </a> </li> <li class="md-nav__item"> <a href="#computer-vision" title="Computer Vision" class="md-nav__link"> Computer Vision </a> </li> <li class="md-nav__item"> <a href="#concurrency-and-parallelism" title="Concurrency and Parallelism" class="md-nav__link"> Concurrency and Parallelism </a> </li> <li class="md-nav__item"> <a href="#configuration" title="Configuration" class="md-nav__link"> Configuration </a> </li> <li class="md-nav__item"> <a href="#cryptography" title="Cryptography" class="md-nav__link"> Cryptography </a> </li> <li class="md-nav__item"> <a href="#data-analysis" title="Data Analysis" class="md-nav__link"> Data Analysis </a> </li> <li class="md-nav__item"> <a href="#data-validation" title="Data Validation" class="md-nav__link"> Data Validation </a> </li> <li class="md-nav__item"> <a href="#data-visualization" title="Data Visualization" class="md-nav__link"> Data Visualization </a> </li> <li class="md-nav__item"> <a href="#database" title="Database" class="md-nav__link"> Database </a> </li> <li class="md-nav__item"> <a href="#database-drivers" title="Database Drivers" class="md-nav__link"> Database Drivers </a> </li> <li class="md-nav__item"> <a href="#date-and-time" title="Date and Time" class="md-nav__link"> Date and Time </a> </li> <li class="md-nav__item"> <a href="#debugging-tools" title="Debugging Tools" class="md-nav__link"> Debugging Tools </a> </li> <li class="md-nav__item"> <a href="#deep-learning" title="Deep Learning" class="md-nav__link"> Deep Learning </a> </li> <li class="md-nav__item"> <a href="#devops-tools" title="DevOps Tools" class="md-nav__link"> DevOps Tools </a> </li> <li class="md-nav__item"> <a href="#distributed-computing" title="Distributed Computing" class="md-nav__link"> Distributed Computing </a> </li> <li class="md-nav__item"> <a href="#distribution" title="Distribution" class="md-nav__link"> Distribution </a> </li> <li class="md-nav__item"> <a href="#documentation" title="Documentation" class="md-nav__link"> Documentation </a> </li> <li class="md-nav__item"> <a href="#downloader" title="Downloader" class="md-nav__link"> Downloader </a> </li> <li class="md-nav__item"> <a href="#e-commerce" title="E-commerce" class="md-nav__link"> E-commerce </a> </li> <li class="md-nav__item"> <a href="#editor-plugins-and-ides" title="Editor Plugins and IDEs" class="md-nav__link"> Editor Plugins and IDEs </a> </li> <li class="md-nav__item"> <a href="#email" title="Email" class="md-nav__link"> Email </a> </li> <li class="md-nav__item"> <a href="#environment-management" title="Environment Management" class="md-nav__link"> Environment Management </a> </li> <li class="md-nav__item"> <a href="#files" title="Files" class="md-nav__link"> Files </a> </li> <li class="md-nav__item"> <a href="#foreign-function-interface" title="Foreign Function Interface" class="md-nav__link"> Foreign Function Interface </a> </li> <li class="md-nav__item"> <a href="#forms" title="Forms" class="md-nav__link"> Forms </a> </li> <li class="md-nav__item"> <a href="#functional-programming" title="Functional Programming" class="md-nav__link"> Functional Programming </a> </li> <li class="md-nav__item"> <a href="#gui-development" title="GUI Development" class="md-nav__link"> GUI Development </a> </li> <li class="md-nav__item"> <a href="#graphql" title="GraphQL" class="md-nav__link"> GraphQL </a> </li> <li class="md-nav__item"> <a href="#game-development" title="Game Development" class="md-nav__link"> Game Development </a> </li> <li class="md-nav__item"> <a href="#geolocation" title="Geolocation" class="md-nav__link"> Geolocation </a> </li> <li class="md-nav__item"> <a href="#html-manipulation" title="HTML Manipulation" class="md-nav__link"> HTML Manipulation </a> </li> <li class="md-nav__item"> <a href="#http-clients" title="HTTP Clients" class="md-nav__link"> HTTP Clients </a> </li> <li class="md-nav__item"> <a href="#hardware" title="Hardware" class="md-nav__link"> Hardware </a> </li> <li class="md-nav__item"> <a href="#image-processing" title="Image Processing" class="md-nav__link"> Image Processing </a> </li> <li class="md-nav__item"> <a href="#implementations" title="Implementations" class="md-nav__link"> Implementations </a> </li> <li class="md-nav__item"> <a href="#interactive-interpreter" title="Interactive Interpreter" class="md-nav__link"> Interactive Interpreter </a> </li> <li class="md-nav__item"> <a href="#internationalization" title="Internationalization" class="md-nav__link"> Internationalization </a> </li> <li class="md-nav__item"> <a href="#job-scheduler" title="Job Scheduler" class="md-nav__link"> Job Scheduler </a> </li> <li class="md-nav__item"> <a href="#logging" title="Logging" class="md-nav__link"> Logging </a> </li> <li class="md-nav__item"> <a href="#machine-learning" title="Machine Learning" class="md-nav__link"> Machine Learning </a> </li> <li class="md-nav__item"> <a href="#microsoft-windows" title="Microsoft Windows" class="md-nav__link"> Microsoft Windows </a> </li> <li class="md-nav__item"> <a href="#miscellaneous" title="Miscellaneous" class="md-nav__link"> Miscellaneous </a> </li> <li class="md-nav__item"> <a href="#natural-language-processing" title="Natural Language Processing" class="md-nav__link"> Natural Language Processing </a> </li> <li class="md-nav__item"> <a href="#network-virtualization" title="Network Virtualization" class="md-nav__link"> Network Virtualization </a> </li> <li class="md-nav__item"> <a href="#news-feed" title="News Feed" class="md-nav__link"> News Feed </a> </li> <li class="md-nav__item"> <a href="#orm" title="ORM" class="md-nav__link"> ORM </a> </li> <li class="md-nav__item"> <a href="#package-management" title="Package Management" class="md-nav__link"> Package Management </a> </li> <li class="md-nav__item"> <a href="#package-repositories" title="Package Repositories" class="md-nav__link"> Package Repositories </a> </li> <li class="md-nav__item"> <a href="#permissions" title="Permissions" class="md-nav__link"> Permissions </a> </li> <li class="md-nav__item"> <a href="#processes" title="Processes" class="md-nav__link"> Processes </a> </li> <li class="md-nav__item"> <a href="#recommender-systems" title="Recommender Systems" class="md-nav__link"> Recommender Systems </a> </li> <li class="md-nav__item"> <a href="#refactoring" title="Refactoring" class="md-nav__link"> Refactoring </a> </li> <li class="md-nav__item"> <a href="#restful-api" title="RESTful API" class="md-nav__link"> RESTful API </a> </li> <li class="md-nav__item"> <a href="#robotics" title="Robotics" class="md-nav__link"> Robotics </a> </li> <li class="md-nav__item"> <a href="#rpc-servers" title="RPC Servers" class="md-nav__link"> RPC Servers </a> </li> <li class="md-nav__item"> <a href="#science" title="Science" class="md-nav__link"> Science </a> </li> <li class="md-nav__item"> <a href="#search" title="Search" class="md-nav__link"> Search </a> </li> <li class="md-nav__item"> <a href="#serialization" title="Serialization" class="md-nav__link"> Serialization </a> </li> <li class="md-nav__item"> <a href="#serverless-frameworks" title="Serverless Frameworks" class="md-nav__link"> Serverless Frameworks </a> </li> <li class="md-nav__item"> <a href="#specific-formats-processing" title="Specific Formats Processing" class="md-nav__link"> Specific Formats Processing </a> </li> <li class="md-nav__item"> <a href="#static-site-generator" title="Static Site Generator" class="md-nav__link"> Static Site Generator </a> </li> <li class="md-nav__item"> <a href="#tagging" title="Tagging" class="md-nav__link"> Tagging </a> </li> <li class="md-nav__item"> <a href="#task-queues" title="Task Queues" class="md-nav__link"> Task Queues </a> </li> <li class="md-nav__item"> <a href="#template-engine" title="Template Engine" class="md-nav__link"> Template Engine </a> </li> <li class="md-nav__item"> <a href="#testing" title="Testing" class="md-nav__link"> Testing </a> </li> <li class="md-nav__item"> <a href="#text-processing" title="Text Processing" class="md-nav__link"> Text Processing </a> </li> <li class="md-nav__item"> <a href="#third-party-apis" title="Third-party APIs" class="md-nav__link"> Third-party APIs </a> </li> <li class="md-nav__item"> <a href="#url-manipulation" title="URL Manipulation" class="md-nav__link"> URL Manipulation </a> </li> <li class="md-nav__item"> <a href="#video" title="Video" class="md-nav__link"> Video </a> </li> <li class="md-nav__item"> <a href="#web-asset-management" title="Web Asset Management" class="md-nav__link"> Web Asset Management </a> </li> <li class="md-nav__item"> <a href="#web-content-extracting" title="Web Content Extracting" class="md-nav__link"> Web Content Extracting </a> </li> <li class="md-nav__item"> <a href="#web-crawling" title="Web Crawling" class="md-nav__link"> Web Crawling </a> </li> <li class="md-nav__item"> <a href="#web-frameworks" title="Web Frameworks" class="md-nav__link"> Web Frameworks </a> </li> <li class="md-nav__item"> <a href="#websocket" title="WebSocket" class="md-nav__link"> WebSocket </a> </li> <li class="md-nav__item"> <a href="#wsgi-servers" title="WSGI Servers" class="md-nav__link"> WSGI Servers </a> </li> </ul> </nav> </div> </div> </div> <div class="md-content"> <article class="md-content__inner md-typeset"> <a href="https://github.com/vinta/awesome-python/edit/master/docs/index.md" title="Edit this page" class="md-icon md-content__icon"></a> <h1 id="awesome-python">Awesome Python <a href="https://github.com/sindresorhus/awesome"><img alt="Awesome" src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg" /></a></h1> <p>A curated list of awesome Python frameworks, libraries, software and resources.</p> <p>Inspired by <a href="https://github.com/ziadoz/awesome-php">awesome-php</a>.</p> <ul> <li><a href="#awesome-python">Awesome Python</a><ul> <li><a href="#admin-panels">Admin Panels</a></li> <li><a href="#algorithms-and-design-patterns">Algorithms and Design Patterns</a></li> <li><a href="#asgi-servers">ASGI Servers</a></li> <li><a href="#asynchronous-programming">Asynchronous Programming</a></li> <li><a href="#audio">Audio</a></li> <li><a href="#authentication">Authentication</a></li> <li><a href="#build-tools">Build Tools</a></li> <li><a href="#built-in-classes-enhancement">Built-in Classes Enhancement</a></li> <li><a href="#caching">Caching</a></li> <li><a href="#chatops-tools">ChatOps Tools</a></li> <li><a href="#cms">CMS</a></li> <li><a href="#code-analysis">Code Analysis</a></li> <li><a href="#command-line-interface-development">Command-line Interface Development</a></li> <li><a href="#command-line-tools">Command-line Tools</a></li> <li><a href="#compatibility">Compatibility</a></li> <li><a href="#computer-vision">Computer Vision</a></li> <li><a href="#concurrency-and-parallelism">Concurrency and Parallelism</a></li> <li><a href="#configuration">Configuration</a></li> <li><a href="#cryptography">Cryptography</a></li> <li><a href="#data-analysis">Data Analysis</a></li> <li><a href="#data-validation">Data Validation</a></li> <li><a href="#data-visualization">Data Visualization</a></li> <li><a href="#database-drivers">Database Drivers</a></li> <li><a href="#database">Database</a></li> <li><a href="#date-and-time">Date and Time</a></li> <li><a href="#debugging-tools">Debugging Tools</a></li> <li><a href="#deep-learning">Deep Learning</a></li> <li><a href="#devops-tools">DevOps Tools</a></li> <li><a href="#distributed-computing">Distributed Computing</a></li> <li><a href="#distribution">Distribution</a></li> <li><a href="#documentation">Documentation</a></li> <li><a href="#downloader">Downloader</a></li> <li><a href="#e-commerce">E-commerce</a></li> <li><a href="#editor-plugins-and-ides">Editor Plugins and IDEs</a></li> <li><a href="#email">Email</a></li> <li><a href="#environment-management">Environment Management</a></li> <li><a href="#files">Files</a></li> <li><a href="#foreign-function-interface">Foreign Function Interface</a></li> <li><a href="#forms">Forms</a></li> <li><a href="#functional-programming">Functional Programming</a></li> <li><a href="#game-development">Game Development</a></li> <li><a href="#geolocation">Geolocation</a></li> <li><a href="#gui-development">GUI Development</a></li> <li><a href="#hardware">Hardware</a></li> <li><a href="#html-manipulation">HTML Manipulation</a></li> <li><a href="#http-clients">HTTP Clients</a></li> <li><a href="#image-processing">Image Processing</a></li> <li><a href="#implementations">Implementations</a></li> <li><a href="#interactive-interpreter">Interactive Interpreter</a></li> <li><a href="#internationalization">Internationalization</a></li> <li><a href="#job-scheduler">Job Scheduler</a></li> <li><a href="#logging">Logging</a></li> <li><a href="#machine-learning">Machine Learning</a></li> <li><a href="#miscellaneous">Miscellaneous</a></li> <li><a href="#natural-language-processing">Natural Language Processing</a></li> <li><a href="#network-virtualization">Network Virtualization</a></li> <li><a href="#news-feed">News Feed</a></li> <li><a href="#orm">ORM</a></li> <li><a href="#package-management">Package Management</a></li> <li><a href="#package-repositories">Package Repositories</a></li> <li><a href="#permissions">Permissions</a></li> <li><a href="#processes">Processes</a></li> <li><a href="#recommender-systems">Recommender Systems</a></li> <li><a href="#refactoring">Refactoring</a></li> <li><a href="#restful-api">RESTful API</a></li> <li><a href="#robotics">Robotics</a></li> <li><a href="#rpc-servers">RPC Servers</a></li> <li><a href="#science">Science</a></li> <li><a href="#search">Search</a></li> <li><a href="#serialization">Serialization</a></li> <li><a href="#serverless-frameworks">Serverless Frameworks</a></li> <li><a href="#specific-formats-processing">Specific Formats Processing</a></li> <li><a href="#static-site-generator">Static Site Generator</a></li> <li><a href="#tagging">Tagging</a></li> <li><a href="#task-queues">Task Queues</a></li> <li><a href="#template-engine">Template Engine</a></li> <li><a href="#testing">Testing</a></li> <li><a href="#text-processing">Text Processing</a></li> <li><a href="#third-party-apis">Third-party APIs</a></li> <li><a href="#url-manipulation">URL Manipulation</a></li> <li><a href="#video">Video</a></li> <li><a href="#web-asset-management">Web Asset Management</a></li> <li><a href="#web-content-extracting">Web Content Extracting</a></li> <li><a href="#web-crawling">Web Crawling</a></li> <li><a href="#web-frameworks">Web Frameworks</a></li> <li><a href="#websocket">WebSocket</a></li> <li><a href="#wsgi-servers">WSGI Servers</a></li> </ul> </li> <li><a href="#resources">Resources</a><ul> <li><a href="#podcasts">Podcasts</a></li> <li><a href="#twitter">Twitter</a></li> <li><a href="#websites">Websites</a></li> <li><a href="#weekly">Weekly</a></li> </ul> </li> <li><a href="#contributing">Contributing</a></li> </ul> <hr /> <h2 id="admin-panels">Admin Panels</h2> <p><em>Libraries for administrative interfaces.</em></p> <ul> <li><a href="https://github.com/ajenti/ajenti">ajenti</a> - The admin panel your servers deserve.</li> <li><a href="https://grappelliproject.com/">django-grappelli</a> - A jazzy skin for the Django Admin-Interface.</li> <li><a href="https://github.com/geex-arts/django-jet">django-jet</a> - Modern responsive template for the Django admin interface with improved functionality.</li> <li><a href="https://djangosuit.com/">django-suit</a> - Alternative Django Admin-Interface (free only for Non-commercial use).</li> <li><a href="https://github.com/sshwsfc/xadmin">django-xadmin</a> - Drop-in replacement of Django admin comes with lots of goodies.</li> <li><a href="https://github.com/jet-admin/jet-bridge">jet-bridge</a> - Admin panel framework for any application with nice UI (ex Jet Django)</li> <li><a href="https://github.com/flask-admin/flask-admin">flask-admin</a> - Simple and extensible administrative interface framework for Flask.</li> <li><a href="https://github.com/mher/flower">flower</a> - Real-time monitor and web admin for Celery.</li> <li><a href="https://github.com/wooey/wooey">wooey</a> - A Django app which creates automatic web UIs for Python scripts.</li> </ul> <h2 id="algorithms-and-design-patterns">Algorithms and Design Patterns</h2> <p><em>Python implementation of data structures, algorithms and design patterns.</em></p> <ul> <li>Algorithms<ul> <li><a href="https://github.com/TheAlgorithms/Python">TheAlgorithms</a> - All Algorithms implemented in Python.</li> <li><a href="https://github.com/keon/algorithms">algorithms</a> - Minimal examples of data structures and algorithms.</li> <li><a href="https://github.com/prabhupant/python-ds">python-ds</a> - A collection of data structure and algorithms for coding interviews.</li> <li><a href="https://github.com/grantjenks/python-sortedcontainers">sortedcontainers</a> - Fast and pure-Python implementation of sorted collections.</li> </ul> </li> <li>Design Patterns<ul> <li><a href="https://github.com/tylerlaberge/PyPattyrn">PyPattyrn</a> - A simple yet effective library for implementing common design patterns.</li> <li><a href="https://github.com/faif/python-patterns">python-patterns</a> - A collection of design patterns in Python.</li> <li><a href="https://github.com/pytransitions/transitions">transitions</a> - A lightweight, object-oriented finite state machine implementation.</li> </ul> </li> </ul> <h2 id="asgi-servers">ASGI Servers</h2> <p><em>ASGI-compatible web servers.</em></p> <ul> <li><a href="https://github.com/encode/uvicorn">uvicorn</a> - Uvicorn is a lightning-fast ASGI server implementation, using uvloop and httptools.</li> </ul> <h2 id="asynchronous-programming">Asynchronous Programming</h2> <ul> <li><a href="https://docs.python.org/3/library/asyncio.html">asyncio</a> - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.<ul> <li><a href="https://github.com/timofurrer/awesome-asyncio">awesome-asyncio</a></li> </ul> </li> <li><a href="https://github.com/MagicStack/uvloop">uvloop</a> - Ultra fast asyncio event loop.</li> <li><a href="https://twistedmatrix.com/trac/">Twisted</a> - An event-driven networking engine.</li> </ul> <h2 id="audio">Audio</h2> <p><em>Libraries for manipulating audio and its metadata.</em></p> <ul> <li>Audio<ul> <li><a href="https://github.com/beetbox/audioread">audioread</a> - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.</li> <li><a href="https://github.com/worldveil/dejavu">dejavu</a> - Audio fingerprinting and recognition.</li> <li><a href="https://github.com/sergree/matchering">matchering</a> - A library for automated reference audio mastering.</li> <li><a href="http://bspaans.github.io/python-mingus/">mingus</a> - An advanced music theory and notation package with MIDI file and playback support.</li> <li><a href="https://github.com/tyiannak/pyAudioAnalysis">pyAudioAnalysis</a> - Audio feature extraction, classification, segmentation and applications.</li> <li><a href="https://github.com/jiaaro/pydub">pydub</a> - Manipulate audio with a simple and easy high level interface.</li> <li><a href="https://github.com/Parisson/TimeSide">TimeSide</a> - Open web audio processing framework.</li> </ul> </li> <li>Metadata<ul> <li><a href="https://github.com/beetbox/beets">beets</a> - A music library manager and <a href="https://musicbrainz.org/">MusicBrainz</a> tagger.</li> <li><a href="https://github.com/nicfit/eyeD3">eyeD3</a> - A tool for working with audio files, specifically MP3 files containing ID3 metadata.</li> <li><a href="https://github.com/quodlibet/mutagen">mutagen</a> - A Python module to handle audio metadata.</li> <li><a href="https://github.com/devsnd/tinytag">tinytag</a> - A library for reading music meta data of MP3, OGG, FLAC and Wave files.</li> </ul> </li> </ul> <h2 id="authentication">Authentication</h2> <p><em>Libraries for implementing authentications schemes.</em></p> <ul> <li>OAuth<ul> <li><a href="https://github.com/lepture/authlib">authlib</a> - JavaScript Object Signing and Encryption draft implementation.</li> <li><a href="https://github.com/pennersr/django-allauth">django-allauth</a> - Authentication app for Django that "just works."</li> <li><a href="https://github.com/evonove/django-oauth-toolkit">django-oauth-toolkit</a> - OAuth 2 goodies for Django.</li> <li><a href="https://github.com/idan/oauthlib">oauthlib</a> - A generic and thorough implementation of the OAuth request-signing logic.</li> <li><a href="https://github.com/joestump/python-oauth2">python-oauth2</a> - A fully tested, abstract interface to creating OAuth clients and servers.</li> <li><a href="https://github.com/omab/python-social-auth">python-social-auth</a> - An easy-to-setup social authentication mechanism.</li> </ul> </li> <li>JWT<ul> <li><a href="https://github.com/jpadilla/pyjwt">pyjwt</a> - JSON Web Token implementation in Python.</li> <li><a href="https://github.com/mpdavis/python-jose/">python-jose</a> - A JOSE implementation in Python.</li> <li><a href="https://github.com/davedoesdev/python-jwt">python-jwt</a> - A module for generating and verifying JSON Web Tokens.</li> </ul> </li> </ul> <h2 id="build-tools">Build Tools</h2> <p><em>Compile software from source code.</em></p> <ul> <li><a href="http://www.yoctoproject.org/docs/1.6/bitbake-user-manual/bitbake-user-manual.html">BitBake</a> - A make-like build tool for embedded Linux.</li> <li><a href="http://www.buildout.org/en/latest/">buildout</a> - A build system for creating, assembling and deploying applications from multiple parts.</li> <li><a href="https://github.com/platformio/platformio-core">PlatformIO</a> - A console tool to build code with different development platforms.</li> <li><a href="https://github.com/pybuilder/pybuilder">pybuilder</a> - A continuous build tool written in pure Python.</li> <li><a href="http://www.scons.org/">SCons</a> - A software construction tool.</li> </ul> <h2 id="built-in-classes-enhancement">Built-in Classes Enhancement</h2> <p><em>Libraries for enhancing Python built-in classes.</em></p> <ul> <li><a href="https://docs.python.org/3/library/dataclasses.html">dataclasses</a> - (Python standard library) Data classes.</li> <li><a href="https://github.com/python-attrs/attrs">attrs</a> - Replacement for <code>__init__</code>, <code>__eq__</code>, <code>__repr__</code>, etc. boilerplate in class definitions.</li> <li><a href="https://github.com/jab/bidict">bidict</a> - Efficient, Pythonic bidirectional map data structures and related functionality..</li> <li><a href="https://github.com/cdgriffith/Box">Box</a> - Python dictionaries with advanced dot notation access.</li> <li><a href="https://github.com/carlosescri/DottedDict">DottedDict</a> - A library that provides a method of accessing lists and dicts with a dotted path notation.</li> </ul> <h2 id="cms">CMS</h2> <p><em>Content Management Systems.</em></p> <ul> <li><a href="https://wagtail.io/">wagtail</a> - A Django content management system.</li> <li><a href="https://www.django-cms.org/en/">django-cms</a> - An Open source enterprise CMS based on the Django.</li> <li><a href="https://github.com/feincms/feincms">feincms</a> - One of the most advanced Content Management Systems built on Django.</li> <li><a href="https://github.com/indico/indico">indico</a> - A feature-rich event management system, made @ <a href="https://en.wikipedia.org/wiki/CERN">CERN</a>.</li> <li><a href="https://github.com/Kotti/Kotti">Kotti</a> - A high-level, Pythonic web application framework built on Pyramid.</li> <li><a href="https://github.com/stephenmcd/mezzanine">mezzanine</a> - A powerful, consistent, and flexible content management platform.</li> <li><a href="https://plone.org/">plone</a> - A CMS built on top of the open source application server Zope.</li> <li><a href="https://github.com/rochacbruno/quokka">quokka</a> - Flexible, extensible, small CMS powered by Flask and MongoDB.</li> </ul> <h2 id="caching">Caching</h2> <p><em>Libraries for caching data.</em></p> <ul> <li><a href="https://github.com/bbangert/beaker">beaker</a> - A WSGI middleware for sessions and caching.</li> <li><a href="https://github.com/django-cache-machine/django-cache-machine">django-cache-machine</a> - Automatic caching and invalidation for Django models.</li> <li><a href="https://github.com/Suor/django-cacheops">django-cacheops</a> - A slick ORM cache with automatic granular event-driven invalidation.</li> <li><a href="http://dogpilecache.readthedocs.io/en/latest/">dogpile.cache</a> - dogpile.cache is next generation replacement for Beaker made by same authors.</li> <li><a href="https://pypi.org/project/HermesCache/">HermesCache</a> - Python caching library with tag-based invalidation and dogpile effect prevention.</li> <li><a href="https://github.com/lericson/pylibmc">pylibmc</a> - A Python wrapper around the <a href="https://libmemcached.org/libMemcached.html">libmemcached</a> interface.</li> <li><a href="http://www.grantjenks.com/docs/diskcache/">python-diskcache</a> - SQLite and file backed cache backend with faster lookups than memcached and redis.</li> </ul> <h2 id="chatops-tools">ChatOps Tools</h2> <p><em>Libraries for chatbot development.</em></p> <ul> <li><a href="https://github.com/errbotio/errbot/">errbot</a> - The easiest and most popular chatbot to implement ChatOps.</li> </ul> <h2 id="code-analysis">Code Analysis</h2> <p><em>Tools of static analysis, linters and code quality checkers. Also see <a href="https://github.com/mre/awesome-static-analysis">awesome-static-analysis</a>.</em></p> <ul> <li>Code Analysis<ul> <li><a href="https://github.com/coala/coala/">coala</a> - Language independent and easily extendable code analysis application.</li> <li><a href="https://github.com/scottrogowski/code2flow">code2flow</a> - Turn your Python and JavaScript code into DOT flowcharts.</li> <li><a href="https://github.com/PyCQA/prospector">prospector</a> - A tool to analyse Python code.</li> <li><a href="https://github.com/gak/pycallgraph">pycallgraph</a> - A library that visualises the flow (call graph) of your Python application.</li> <li><a href="https://github.com/jendrikseipp/vulture">vulture</a> - A tool for finding and analysing dead Python code.</li> </ul> </li> <li>Code Linters<ul> <li><a href="https://pypi.org/project/flake8/">flake8</a> - A wrapper around <code>pycodestyle</code>, <code>pyflakes</code> and McCabe.<ul> <li><a href="https://github.com/DmytroLitvinov/awesome-flake8-extensions">awesome-flake8-extensions</a></li> </ul> </li> <li><a href="https://www.pylint.org/">pylint</a> - A fully customizable source code analyzer.</li> <li><a href="https://github.com/klen/pylama">pylama</a> - A code audit tool for Python and JavaScript.</li> <li><a href="https://github.com/wemake-services/wemake-python-styleguide">wemake-python-styleguide</a> - The strictest and most opinionated python linter ever.</li> </ul> </li> <li>Code Formatters<ul> <li><a href="https://github.com/python/black">black</a> - The uncompromising Python code formatter.</li> <li><a href="https://github.com/google/yapf">yapf</a> - Yet another Python code formatter from Google.</li> </ul> </li> <li>Static Type Checkers, also see <a href="https://github.com/typeddjango/awesome-python-typing">awesome-python-typing</a><ul> <li><a href="http://mypy-lang.org/">mypy</a> - Check variable types during compile time.</li> <li><a href="https://github.com/python/typeshed">typeshed</a> - Collection of library stubs for Python, with static types.</li> <li><a href="https://github.com/facebook/pyre-check">pyre-check</a> - Performant type checking.</li> </ul> </li> <li>Static Type Annotations Generators<ul> <li><a href="https://github.com/Instagram/MonkeyType">MonkeyType</a> - A system for Python that generates static type annotations by collecting runtime types</li> </ul> </li> </ul> <h2 id="command-line-interface-development">Command-line Interface Development</h2> <p><em>Libraries for building command-line applications.</em></p> <ul> <li>Command-line Application Development<ul> <li><a href="http://builtoncement.com/">cement</a> - CLI Application Framework for Python.</li> <li><a href="http://click.pocoo.org/dev/">click</a> - A package for creating beautiful command line interfaces in a composable way.</li> <li><a href="https://docs.openstack.org/developer/cliff/">cliff</a> - A framework for creating command-line programs with multi-level commands.</li> <li><a href="http://docopt.org/">docopt</a> - Pythonic command line arguments parser.</li> <li><a href="https://github.com/google/python-fire">python-fire</a> - A library for creating command line interfaces from absolutely any Python object.</li> <li><a href="https://github.com/jonathanslenders/python-prompt-toolkit">python-prompt-toolkit</a> - A library for building powerful interactive command lines.</li> </ul> </li> <li>Terminal Rendering<ul> <li><a href="https://github.com/peterbrittain/asciimatics">asciimatics</a> - A package to create full-screen text UIs (from interactive forms to ASCII animations).</li> <li><a href="https://github.com/glamp/bashplotlib">bashplotlib</a> - Making basic plots in the terminal.</li> <li><a href="https://pypi.org/project/colorama/">colorama</a> - Cross-platform colored terminal text.</li> <li><a href="https://github.com/willmcgugan/rich">rich</a> - Python library for rich text and beautiful formatting in the terminal. Also provides a great <code>RichHandler</code> log handler.</li> <li><a href="https://github.com/tqdm/tqdm">tqdm</a> - Fast, extensible progress bar for loops and CLI.</li> </ul> </li> </ul> <h2 id="command-line-tools">Command-line Tools</h2> <p><em>Useful CLI-based tools for productivity.</em></p> <ul> <li>Productivity Tools<ul> <li><a href="https://github.com/audreyr/cookiecutter">cookiecutter</a> - A command-line utility that creates projects from cookiecutters (project templates).</li> <li><a href="https://github.com/sloria/doitlive">doitlive</a> - A tool for live presentations in the terminal.</li> <li><a href="https://github.com/gleitz/howdoi">howdoi</a> - Instant coding answers via the command line.</li> <li><a href="https://github.com/pyinvoke/invoke#readme">Invoke</a> - A tool for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks.</li> <li><a href="https://github.com/facebook/PathPicker">PathPicker</a> - Select files out of bash output.</li> <li><a href="https://github.com/mooz/percol">percol</a> - Adds flavor of interactive selection to the traditional pipe concept on UNIX.</li> <li><a href="https://github.com/nvbn/thefuck">thefuck</a> - Correcting your previous console command.</li> <li><a href="https://github.com/tony/tmuxp">tmuxp</a> - A <a href="https://github.com/tmux/tmux">tmux</a> session manager.</li> <li><a href="https://github.com/timofurrer/try">try</a> - A dead simple CLI to try out python packages - it's never been easier.</li> </ul> </li> <li>CLI Enhancements<ul> <li><a href="https://github.com/jakubroztocil/httpie">httpie</a> - A command line HTTP client, a user-friendly cURL replacement.</li> <li><a href="https://github.com/cloudnativelabs/kube-shell">kube-shell</a> - An integrated shell for working with the Kubernetes CLI.</li> <li><a href="https://github.com/dbcli/mycli">mycli</a> - MySQL CLI with autocompletion and syntax highlighting.</li> <li><a href="https://github.com/dbcli/pgcli">pgcli</a> - PostgreSQL CLI with autocompletion and syntax highlighting.</li> <li><a href="https://github.com/laixintao/iredis">iredis</a> - Redis CLI with autocompletion and syntax highlighting.</li> <li><a href="https://github.com/dbcli/litecli">litecli</a> - SQLite CLI with autocompletion and syntax highlighting.</li> <li><a href="https://github.com/donnemartin/saws">saws</a> - A Supercharged <a href="https://github.com/aws/aws-cli">aws-cli</a>.</li> </ul> </li> </ul> <h2 id="compatibility">Compatibility</h2> <p><em>Libraries for migrating from Python 2 to 3.</em></p> <ul> <li><a href="http://python-future.org/index.html">python-future</a> - The missing compatibility layer between Python 2 and Python 3.</li> <li><a href="https://github.com/mitsuhiko/python-modernize">python-modernize</a> - Modernizes Python code for eventual Python 3 migration.</li> <li><a href="https://pypi.org/project/six/">six</a> - Python 2 and 3 compatibility utilities.</li> </ul> <h2 id="computer-vision">Computer Vision</h2> <p><em>Libraries for Computer Vision.</em></p> <ul> <li><a href="https://github.com/kornia/kornia/">Kornia</a> - Open Source Differentiable Computer Vision Library for PyTorch.</li> <li><a href="https://opencv.org/">OpenCV</a> - Open Source Computer Vision Library.</li> <li><a href="https://github.com/madmaze/pytesseract">pytesseract</a> - Another wrapper for <a href="https://github.com/tesseract-ocr">Google Tesseract OCR</a>.</li> <li><a href="https://github.com/sirfz/tesserocr">tesserocr</a> - A simple, Pillow-friendly, wrapper around the <code>tesseract-ocr</code> API for OCR.</li> <li><a href="https://github.com/sightmachine/SimpleCV">SimpleCV</a> - An open source framework for building computer vision applications.</li> </ul> <h2 id="concurrency-and-parallelism">Concurrency and Parallelism</h2> <p><em>Libraries for concurrent and parallel execution. Also see <a href="https://github.com/timofurrer/awesome-asyncio">awesome-asyncio</a>.</em></p> <ul> <li><a href="https://docs.python.org/3/library/concurrent.futures.html">concurrent.futures</a> - (Python standard library) A high-level interface for asynchronously executing callables.</li> <li><a href="https://docs.python.org/3/library/multiprocessing.html">multiprocessing</a> - (Python standard library) Process-based parallelism.</li> <li><a href="http://eventlet.net/">eventlet</a> - Asynchronous framework with WSGI support.</li> <li><a href="http://www.gevent.org/">gevent</a> - A coroutine-based Python networking library that uses <a href="https://github.com/python-greenlet/greenlet">greenlet</a>.</li> <li><a href="https://github.com/MagicStack/uvloop">uvloop</a> - Ultra fast implementation of <code>asyncio</code> event loop on top of <code>libuv</code>.</li> <li><a href="https://github.com/soravux/scoop">scoop</a> - Scalable Concurrent Operations in Python.</li> </ul> <h2 id="configuration">Configuration</h2> <p><em>Libraries for storing and parsing configuration options.</em></p> <ul> <li><a href="https://github.com/DiffSK/configobj">configobj</a> - INI file parser with validation.</li> <li><a href="https://docs.python.org/3/library/configparser.html">configparser</a> - (Python standard library) INI file parser.</li> <li><a href="https://profig.readthedocs.io/en/latest/">profig</a> - Config from multiple formats with value conversion.</li> <li><a href="https://github.com/henriquebastos/python-decouple">python-decouple</a> - Strict separation of settings from code.</li> </ul> <h2 id="cryptography">Cryptography</h2> <ul> <li><a href="https://cryptography.io/en/latest/">cryptography</a> - A package designed to expose cryptographic primitives and recipes to Python developers.</li> <li><a href="https://github.com/paramiko/paramiko">paramiko</a> - The leading native Python SSHv2 protocol library.</li> <li><a href="https://passlib.readthedocs.io/en/stable/">passlib</a> - Secure password storage/hashing library, very high level.</li> <li><a href="https://github.com/pyca/pynacl">pynacl</a> - Python binding to the Networking and Cryptography (NaCl) library.</li> </ul> <h2 id="data-analysis">Data Analysis</h2> <p><em>Libraries for data analyzing.</em></p> <ul> <li><a href="https://github.com/blaze/blaze">Blaze</a> - NumPy and Pandas interface to Big Data.</li> <li><a href="https://github.com/mining/mining">Open Mining</a> - Business Intelligence (BI) in Pandas interface.</li> <li><a href="https://orange.biolab.si/">Orange</a> - Data mining, data visualization, analysis and machine learning through visual programming or scripts.</li> <li><a href="http://pandas.pydata.org/">Pandas</a> - A library providing high-performance, easy-to-use data structures and data analysis tools.</li> <li><a href="https://github.com/ironmussa/Optimus">Optimus</a> - Agile Data Science Workflows made easy with PySpark.</li> <li><a href="https://github.com/awslabs/aws-data-wrangler">AWS Data Wrangler</a> - Pandas on AWS.</li> </ul> <h2 id="data-validation">Data Validation</h2> <p><em>Libraries for validating data. Used for forms in many cases.</em></p> <ul> <li><a href="https://github.com/pyeve/cerberus">Cerberus</a> - A lightweight and extensible data validation library.</li> <li><a href="https://docs.pylonsproject.org/projects/colander/en/latest/">colander</a> - Validating and deserializing data obtained via XML, JSON, an HTML form post.</li> <li><a href="https://github.com/Julian/jsonschema">jsonschema</a> - An implementation of <a href="http://json-schema.org/">JSON Schema</a> for Python.</li> <li><a href="https://github.com/keleshev/schema">schema</a> - A library for validating Python data structures.</li> <li><a href="https://github.com/schematics/schematics">Schematics</a> - Data Structure Validation.</li> <li><a href="https://github.com/podio/valideer">valideer</a> - Lightweight extensible data validation and adaptation library.</li> <li><a href="https://github.com/alecthomas/voluptuous">voluptuous</a> - A Python data validation library.</li> </ul> <h2 id="data-visualization">Data Visualization</h2> <p><em>Libraries for visualizing data. Also see <a href="https://github.com/sorrycc/awesome-javascript#data-visualization">awesome-javascript</a>.</em></p> <ul> <li><a href="https://github.com/altair-viz/altair">Altair</a> - Declarative statistical visualization library for Python.</li> <li><a href="https://github.com/bokeh/bokeh">Bokeh</a> - Interactive Web Plotting for Python.</li> <li><a href="https://github.com/bloomberg/bqplot">bqplot</a> - Interactive Plotting Library for the Jupyter Notebook</li> <li><a href="https://plot.ly/products/dash/">Dash</a> - Built on top of Flask, React and Plotly aimed at analytical web applications.<ul> <li><a href="https://github.com/Acrotrend/awesome-dash">awesome-dash</a></li> </ul> </li> <li><a href="https://github.com/mingrammer/diagrams">diagrams</a> - Diagram as Code.</li> <li><a href="https://github.com/has2k1/plotnine">plotnine</a> - A grammar of graphics for Python based on ggplot2.</li> <li><a href="http://matplotlib.org/">Matplotlib</a> - A Python 2D plotting library.</li> <li><a href="http://www.pygal.org/en/latest/">Pygal</a> - A Python SVG Charts Creator.</li> <li><a href="https://pypi.org/project/pygraphviz/">PyGraphviz</a> - Python interface to <a href="http://www.graphviz.org/">Graphviz</a>.</li> <li><a href="http://www.pyqtgraph.org/">PyQtGraph</a> - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.</li> <li><a href="https://github.com/mwaskom/seaborn">Seaborn</a> - Statistical data visualization using Matplotlib.</li> <li><a href="https://github.com/vispy/vispy">VisPy</a> - High-performance scientific visualization based on OpenGL.</li> </ul> <h2 id="database">Database</h2> <p><em>Databases implemented in Python.</em></p> <ul> <li><a href="https://github.com/patx/pickledb">pickleDB</a> - A simple and lightweight key-value store for Python.</li> <li><a href="https://github.com/msiemens/tinydb">tinydb</a> - A tiny, document-oriented database.</li> <li><a href="https://github.com/zopefoundation/ZODB">ZODB</a> - A native object database for Python. A key-value and object graph database.</li> </ul> <h2 id="database-drivers">Database Drivers</h2> <p><em>Libraries for connecting and operating databases.</em></p> <ul> <li>MySQL - <a href="http://shlomi-noach.github.io/awesome-mysql/">awesome-mysql</a><ul> <li><a href="https://github.com/PyMySQL/mysqlclient-python">mysqlclient</a> - MySQL connector with Python 3 support (<a href="https://sourceforge.net/projects/mysql-python/">mysql-python</a> fork).</li> <li><a href="https://github.com/PyMySQL/PyMySQL">PyMySQL</a> - A pure Python MySQL driver compatible to mysql-python.</li> </ul> </li> <li>PostgreSQL - <a href="https://github.com/dhamaniasad/awesome-postgres">awesome-postgres</a><ul> <li><a href="http://initd.org/psycopg/">psycopg2</a> - The most popular PostgreSQL adapter for Python.</li> <li><a href="https://github.com/gmr/queries">queries</a> - A wrapper of the psycopg2 library for interacting with PostgreSQL.</li> </ul> </li> <li>Other Relational Databases<ul> <li><a href="https://pymssql.readthedocs.io/en/latest/">pymssql</a> - A simple database interface to Microsoft SQL Server.</li> <li><a href="https://github.com/plasticityai/supersqlite">SuperSQLite</a> - A supercharged SQLite library built on top of <a href="https://github.com/rogerbinns/apsw">apsw</a>.</li> </ul> </li> <li>NoSQL Databases<ul> <li><a href="https://github.com/datastax/python-driver">cassandra-driver</a> - The Python Driver for Apache Cassandra.</li> <li><a href="https://github.com/wbolster/happybase">happybase</a> - A developer-friendly library for Apache HBase.</li> <li><a href="https://github.com/dpkp/kafka-python">kafka-python</a> - The Python client for Apache Kafka.</li> <li><a href="https://py2neo.org/">py2neo</a> - A client library and toolkit for working with Neo4j.</li> <li><a href="https://github.com/mongodb/mongo-python-driver">pymongo</a> - The official Python client for MongoDB.</li> <li><a href="https://github.com/andymccurdy/redis-py">redis-py</a> - The Python client for Redis.</li> </ul> </li> <li>Asynchronous Clients<ul> <li><a href="https://github.com/mongodb/motor">motor</a> - The async Python driver for MongoDB.</li> </ul> </li> </ul> <h2 id="date-and-time">Date and Time</h2> <p><em>Libraries for working with dates and times.</em></p> <ul> <li><a href="https://arrow.readthedocs.io/en/latest/">Arrow</a> - A Python library that offers a sensible and human-friendly approach to creating, manipulating, formatting and converting dates, times and timestamps.</li> <li><a href="https://github.com/KoffeinFlummi/Chronyk">Chronyk</a> - A Python 3 library for parsing human-written times and dates.</li> <li><a href="https://github.com/dateutil/dateutil">dateutil</a> - Extensions to the standard Python <a href="https://docs.python.org/3/library/datetime.html">datetime</a> module.</li> <li><a href="https://github.com/myusuf3/delorean/">delorean</a> - A library for clearing up the inconvenient truths that arise dealing with datetimes.</li> <li><a href="https://github.com/zachwill/moment">moment</a> - A Python library for dealing with dates/times. Inspired by <a href="http://momentjs.com/">Moment.js</a>.</li> <li><a href="https://github.com/sdispater/pendulum">Pendulum</a> - Python datetimes made easy.</li> <li><a href="https://github.com/shinux/PyTime">PyTime</a> - An easy-to-use Python module which aims to operate date/time/datetime by string.</li> <li><a href="https://launchpad.net/pytz">pytz</a> - World timezone definitions, modern and historical. Brings the <a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a> into Python.</li> <li><a href="https://github.com/dirn/When.py">when.py</a> - Providing user-friendly functions to help perform common date and time actions.</li> <li><a href="https://github.com/timofurrer/maya">maya</a> - Datetimes for Humans.</li> </ul> <h2 id="debugging-tools">Debugging Tools</h2> <p><em>Libraries for debugging code.</em></p> <ul> <li>pdb-like Debugger<ul> <li><a href="https://github.com/gotcha/ipdb">ipdb</a> - IPython-enabled <a href="https://docs.python.org/3/library/pdb.html">pdb</a>.</li> <li><a href="https://github.com/antocuni/pdb">pdb++</a> - Another drop-in replacement for pdb.</li> <li><a href="https://github.com/inducer/pudb">pudb</a> - A full-screen, console-based Python debugger.</li> <li><a href="https://github.com/Kozea/wdb">wdb</a> - An improbable web debugger through WebSockets.</li> </ul> </li> <li>Tracing<ul> <li><a href="https://github.com/khamidou/lptrace">lptrace</a> - <a href="http://man7.org/linux/man-pages/man1/strace.1.html">strace</a> for Python programs.</li> <li><a href="https://github.com/ionelmc/python-manhole">manhole</a> - Debugging UNIX socket connections and present the stacktraces for all threads and an interactive prompt.</li> <li><a href="https://github.com/google/pyringe">pyringe</a> - Debugger capable of attaching to and injecting code into Python processes.</li> <li><a href="https://github.com/ionelmc/python-hunter">python-hunter</a> - A flexible code tracing toolkit.</li> </ul> </li> <li>Profiler<ul> <li><a href="https://github.com/rkern/line_profiler">line_profiler</a> - Line-by-line profiling.</li> <li><a href="https://github.com/fabianp/memory_profiler">memory_profiler</a> - Monitor Memory usage of Python code.</li> <li><a href="https://github.com/what-studio/profiling">profiling</a> - An interactive Python profiler.</li> <li><a href="https://github.com/benfred/py-spy">py-spy</a> - A sampling profiler for Python programs. Written in Rust.</li> <li><a href="https://github.com/uber/pyflame">pyflame</a> - A ptracing profiler For Python.</li> <li><a href="https://github.com/nvdv/vprof">vprof</a> - Visual Python profiler.</li> </ul> </li> <li>Others<ul> <li><a href="https://github.com/gruns/icecream">icecream</a> - Inspect variables, expressions, and program execution with a single, simple function call.</li> <li><a href="https://github.com/jazzband/django-debug-toolbar">django-debug-toolbar</a> - Display various debug information for Django.</li> <li><a href="https://github.com/dcramer/django-devserver">django-devserver</a> - A drop-in replacement for Django's runserver.</li> <li><a href="https://github.com/mgood/flask-debugtoolbar">flask-debugtoolbar</a> - A port of the django-debug-toolbar to flask.</li> <li><a href="https://github.com/eliben/pyelftools">pyelftools</a> - Parsing and analyzing ELF files and DWARF debugging information.</li> </ul> </li> </ul> <h2 id="deep-learning">Deep Learning</h2> <p><em>Frameworks for Neural Networks and Deep Learning. Also see <a href="https://github.com/ChristosChristofidis/awesome-deep-learning">awesome-deep-learning</a>.</em></p> <ul> <li><a href="https://github.com/BVLC/caffe">caffe</a> - A fast open framework for deep learning..</li> <li><a href="https://github.com/keras-team/keras">keras</a> - A high-level neural networks library and capable of running on top of either TensorFlow or Theano.</li> <li><a href="https://github.com/dmlc/mxnet">mxnet</a> - A deep learning framework designed for both efficiency and flexibility.</li> <li><a href="https://github.com/pytorch/pytorch">pytorch</a> - Tensors and Dynamic neural networks in Python with strong GPU acceleration.</li> <li><a href="https://github.com/SerpentAI/SerpentAI">SerpentAI</a> - Game agent framework. Use any video game as a deep learning sandbox.</li> <li><a href="https://github.com/tensorflow/tensorflow">tensorflow</a> - The most popular Deep Learning framework created by Google.</li> <li><a href="https://github.com/Theano/Theano">Theano</a> - A library for fast numerical computation.</li> </ul> <h2 id="devops-tools">DevOps Tools</h2> <p><em>Software and libraries for DevOps.</em></p> <ul> <li><a href="https://github.com/ansible/ansible">ansible</a> - A radically simple IT automation platform.</li> <li><a href="https://cloudinit.readthedocs.io/en/latest/">cloudinit</a> - A multi-distribution package that handles early initialization of a cloud instance.</li> <li><a href="https://github.com/sebastien/cuisine">cuisine</a> - Chef-like functionality for Fabric.</li> <li><a href="https://docs.docker.com/compose/">docker-compose</a> - Fast, isolated development environments using <a href="https://www.docker.com/">Docker</a>.</li> <li><a href="https://github.com/fabric/fabric">fabric</a> - A simple, Pythonic tool for remote execution and deployment.</li> <li><a href="https://github.com/fabtools/fabtools">fabtools</a> - Tools for writing awesome Fabric files.</li> <li><a href="https://github.com/nickstenning/honcho">honcho</a> - A Python clone of <a href="https://github.com/ddollar/foreman">Foreman</a>, for managing Procfile-based applications.</li> <li><a href="https://www.openstack.org/">OpenStack</a> - Open source software for building private and public clouds.</li> <li><a href="https://github.com/pexpect/pexpect">pexpect</a> - Controlling interactive programs in a pseudo-terminal like GNU expect.</li> <li><a href="https://github.com/giampaolo/psutil">psutil</a> - A cross-platform process and system utilities module.</li> <li><a href="https://github.com/saltstack/salt">saltstack</a> - Infrastructure automation and management system.</li> <li><a href="https://github.com/Supervisor/supervisor">supervisor</a> - Supervisor process control system for UNIX.</li> </ul> <h2 id="distributed-computing">Distributed Computing</h2> <p><em>Frameworks and libraries for Distributed Computing.</em></p> <ul> <li>Batch Processing<ul> <li><a href="https://pypi.org/project/pyspark/">PySpark</a> - <a href="https://spark.apache.org/">Apache Spark</a> Python API.</li> <li><a href="https://github.com/dask/dask">dask</a> - A flexible parallel computing library for analytic computing.</li> <li><a href="https://github.com/spotify/luigi">luigi</a> - A module that helps you build complex pipelines of batch jobs.</li> <li><a href="https://github.com/Yelp/mrjob">mrjob</a> - Run MapReduce jobs on Hadoop or Amazon Web Services.</li> <li><a href="https://github.com/ray-project/ray/">Ray</a> - A system for parallel and distributed Python that unifies the machine learning ecosystem.</li> </ul> </li> <li>Stream Processing<ul> <li><a href="https://github.com/robinhood/faust">faust</a> - A stream processing library, porting the ideas from <a href="https://kafka.apache.org/documentation/streams/">Kafka Streams</a> to Python.</li> <li><a href="https://github.com/Parsely/streamparse">streamparse</a> - Run Python code against real-time streams of data via <a href="http://storm.apache.org/">Apache Storm</a>.</li> </ul> </li> </ul> <h2 id="distribution">Distribution</h2> <p><em>Libraries to create packaged executables for release distribution.</em></p> <ul> <li><a href="https://github.com/spotify/dh-virtualenv">dh-virtualenv</a> - Build and distribute a virtualenv as a Debian package.</li> <li><a href="http://nuitka.net/">Nuitka</a> - Compile scripts, modules, packages to an executable or extension module.</li> <li><a href="http://pythonhosted.org/py2app/">py2app</a> - Freezes Python scripts (Mac OS X).</li> <li><a href="http://www.py2exe.org/">py2exe</a> - Freezes Python scripts (Windows).</li> <li><a href="https://github.com/pyinstaller/pyinstaller">PyInstaller</a> - Converts Python programs into stand-alone executables (cross-platform).</li> <li><a href="http://pynsist.readthedocs.io/en/latest/">pynsist</a> - A tool to build Windows installers, installers bundle Python itself.</li> <li><a href="https://github.com/dashingsoft/pyarmor">pyarmor</a> - A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.</li> <li><a href="https://github.com/linkedin/shiv">shiv</a> - A command line utility for building fully self-contained zipapps (PEP 441), but with all their dependencies included.</li> </ul> <h2 id="documentation">Documentation</h2> <p><em>Libraries for generating project documentation.</em></p> <ul> <li><a href="https://github.com/sphinx-doc/sphinx/">sphinx</a> - Python Documentation generator.<ul> <li><a href="https://github.com/yoloseem/awesome-sphinxdoc">awesome-sphinxdoc</a></li> </ul> </li> <li><a href="https://github.com/mitmproxy/pdoc">pdoc</a> - Epydoc replacement to auto generate API documentation for Python libraries.</li> <li><a href="https://github.com/pycco-docs/pycco">pycco</a> - The literate-programming-style documentation generator.</li> </ul> <h2 id="downloader">Downloader</h2> <p><em>Libraries for downloading.</em></p> <ul> <li><a href="https://github.com/s3tools/s3cmd">s3cmd</a> - A command line tool for managing Amazon S3 and CloudFront.</li> <li><a href="https://github.com/bloomreach/s4cmd">s4cmd</a> - Super S3 command line tool, good for higher performance.</li> <li><a href="https://you-get.org/">you-get</a> - A YouTube/Youku/Niconico video downloader written in Python 3.</li> <li><a href="https://rg3.github.io/youtube-dl/">youtube-dl</a> - A small command-line program to download videos from YouTube.</li> <li><a href="https://github.com/jindaxiang/akshare">akshare</a> - A financial data interface library, built for human beings!</li> </ul> <h2 id="e-commerce">E-commerce</h2> <p><em>Frameworks and libraries for e-commerce and payments.</em></p> <ul> <li><a href="https://github.com/lxneng/alipay">alipay</a> - Unofficial Alipay API for Python.</li> <li><a href="https://github.com/stephenmcd/cartridge">Cartridge</a> - A shopping cart app built using the Mezzanine.</li> <li><a href="http://oscarcommerce.com/">django-oscar</a> - An open-source e-commerce framework for Django.</li> <li><a href="https://github.com/awesto/django-shop">django-shop</a> - A Django based shop system.</li> <li><a href="https://github.com/agiliq/merchant">merchant</a> - A Django app to accept payments from various payment processors.</li> <li><a href="https://github.com/carlospalol/money">money</a> - <code>Money</code> class with optional CLDR-backed locale-aware formatting and an extensible currency exchange.</li> <li><a href="https://github.com/Alir3z4/python-currencies">python-currencies</a> - Display money format and its filthy currencies.</li> <li><a href="https://github.com/MicroPyramid/forex-python">forex-python</a> - Foreign exchange rates, Bitcoin price index and currency conversion.</li> <li><a href="http://getsaleor.com/">saleor</a> - An e-commerce storefront for Django.</li> <li><a href="https://www.shuup.com/en/">shoop</a> - An open source E-Commerce platform based on Django.</li> </ul> <h2 id="editor-plugins-and-ides">Editor Plugins and IDEs</h2> <ul> <li>Emacs<ul> <li><a href="https://github.com/jorgenschaefer/elpy">elpy</a> - Emacs Python Development Environment.</li> </ul> </li> <li>Sublime Text<ul> <li><a href="https://github.com/DamnWidget/anaconda">anaconda</a> - Anaconda turns your Sublime Text 3 in a full featured Python development IDE.</li> <li><a href="https://github.com/srusskih/SublimeJEDI">SublimeJEDI</a> - A Sublime Text plugin to the awesome auto-complete library Jedi.</li> </ul> </li> <li>Vim<ul> <li><a href="https://github.com/davidhalter/jedi-vim">jedi-vim</a> - Vim bindings for the Jedi auto-completion library for Python.</li> <li><a href="https://github.com/python-mode/python-mode">python-mode</a> - An all in one plugin for turning Vim into a Python IDE.</li> <li><a href="https://github.com/Valloric/YouCompleteMe">YouCompleteMe</a> - Includes <a href="https://github.com/davidhalter/jedi">Jedi</a>-based completion engine for Python.</li> </ul> </li> <li>Visual Studio<ul> <li><a href="https://github.com/Microsoft/PTVS">PTVS</a> - Python Tools for Visual Studio.</li> </ul> </li> <li>Visual Studio Code<ul> <li><a href="https://marketplace.visualstudio.com/items?itemName=ms-python.python">Python</a> - The official VSCode extension with rich support for Python.</li> </ul> </li> <li>IDE<ul> <li><a href="https://www.jetbrains.com/pycharm/">PyCharm</a> - Commercial Python IDE by JetBrains. Has free community edition available.</li> <li><a href="https://github.com/spyder-ide/spyder">spyder</a> - Open Source Python IDE.</li> </ul> </li> </ul> <h2 id="email">Email</h2> <p><em>Libraries for sending and parsing email.</em></p> <ul> <li>Mail Servers<ul> <li><a href="https://github.com/modoboa/modoboa">modoboa</a> - A mail hosting and management platform including a modern Web UI.</li> <li><a href="https://github.com/moggers87/salmon">salmon</a> - A Python Mail Server.</li> </ul> </li> <li>Clients<ul> <li><a href="https://github.com/martinrusev/imbox">imbox</a> - Python IMAP for Humans.</li> <li><a href="https://github.com/kootenpv/yagmail">yagmail</a> - Yet another Gmail/SMTP client.</li> </ul> </li> <li>Others<ul> <li><a href="https://github.com/mailgun/flanker">flanker</a> - An email address and Mime parsing library.</li> <li><a href="https://github.com/marrow/mailer">mailer</a> - High-performance extensible mail delivery framework.</li> </ul> </li> </ul> <h2 id="environment-management">Environment Management</h2> <p><em>Libraries for Python version and virtual environment management.</em></p> <ul> <li><a href="https://github.com/pyenv/pyenv">pyenv</a> - Simple Python version management.</li> <li><a href="https://github.com/pypa/virtualenv">virtualenv</a> - A tool to create isolated Python environments.</li> </ul> <h2 id="files">Files</h2> <p><em>Libraries for file manipulation and MIME type detection.</em></p> <ul> <li><a href="https://docs.python.org/3/library/mimetypes.html">mimetypes</a> - (Python standard library) Map filenames to MIME types.</li> <li><a href="https://github.com/jaraco/path.py">path.py</a> - A module wrapper for <a href="https://docs.python.org/3/library/os.path.html">os.path</a>.</li> <li><a href="https://docs.python.org/3/library/pathlib.html">pathlib</a> - (Python standard library) An cross-platform, object-oriented path library.</li> <li><a href="https://github.com/pyfilesystem/pyfilesystem2">PyFilesystem2</a> - Python's filesystem abstraction layer.</li> <li><a href="https://github.com/ahupp/python-magic">python-magic</a> - A Python interface to the libmagic file type identification library.</li> <li><a href="https://github.com/mikeorr/Unipath">Unipath</a> - An object-oriented approach to file/directory operations.</li> <li><a href="https://github.com/gorakhargosh/watchdog">watchdog</a> - API and shell utilities to monitor file system events.</li> </ul> <h2 id="foreign-function-interface">Foreign Function Interface</h2> <p><em>Libraries for providing foreign function interface.</em></p> <ul> <li><a href="https://pypi.org/project/cffi/">cffi</a> - Foreign Function Interface for Python calling C code.</li> <li><a href="https://docs.python.org/3/library/ctypes.html">ctypes</a> - (Python standard library) Foreign Function Interface for Python calling C code.</li> <li><a href="https://mathema.tician.de/software/pycuda/">PyCUDA</a> - A Python wrapper for Nvidia's CUDA API.</li> <li><a href="http://www.swig.org/Doc1.3/Python.html">SWIG</a> - Simplified Wrapper and Interface Generator.</li> </ul> <h2 id="forms">Forms</h2> <p><em>Libraries for working with forms.</em></p> <ul> <li><a href="https://github.com/Pylons/deform">Deform</a> - Python HTML form generation library influenced by the formish form generation library.</li> <li><a href="https://github.com/dyve/django-bootstrap3">django-bootstrap3</a> - Bootstrap 3 integration with Django.</li> <li><a href="https://github.com/zostera/django-bootstrap4">django-bootstrap4</a> - Bootstrap 4 integration with Django.</li> <li><a href="https://github.com/django-crispy-forms/django-crispy-forms">django-crispy-forms</a> - A Django app which lets you create beautiful forms in a very elegant and DRY way.</li> <li><a href="https://github.com/WiserTogether/django-remote-forms">django-remote-forms</a> - A platform independent Django form serializer.</li> <li><a href="https://github.com/wtforms/wtforms">WTForms</a> - A flexible forms validation and rendering library.</li> </ul> <h2 id="functional-programming">Functional Programming</h2> <p><em>Functional Programming with Python.</em></p> <ul> <li><a href="https://github.com/evhub/coconut">Coconut</a> - A variant of Python built for simple, elegant, Pythonic functional programming.</li> <li><a href="https://github.com/kachayev/fn.py">fn.py</a> - Functional programming in Python: implementation of missing features to enjoy FP.</li> <li><a href="https://github.com/Suor/funcy">funcy</a> - A fancy and practical functional tools.</li> <li><a href="https://github.com/erikrose/more-itertools">more-itertools</a> - More routines for operating on iterables, beyond <code>itertools</code>.</li> <li><a href="https://github.com/dry-python/returns">returns</a> - A set of type-safe monads, tranformers, and composition utilities.</li> <li><a href="https://github.com/pytoolz/toolz">Toolz</a> - A collection of functional utilities for iterators, functions, and dictionaries.</li> <li><a href="https://github.com/pytoolz/cytoolz/">CyToolz</a> - Cython implementation of <code>Toolz</code>: High performance functional utilities.</li> </ul> <h2 id="gui-development">GUI Development</h2> <p><em>Libraries for working with graphical user interface applications.</em></p> <ul> <li><a href="https://docs.python.org/3/library/curses.html">curses</a> - Built-in wrapper for <a href="http://www.gnu.org/software/ncurses/">ncurses</a> used to create terminal GUI applications.</li> <li><a href="https://github.com/ChrisKnott/Eel">Eel</a> - A library for making simple Electron-like offline HTML/JS GUI apps.</li> <li><a href="https://github.com/nucleic/enaml">enaml</a> - Creating beautiful user-interfaces with Declarative Syntax like QML.</li> <li><a href="https://github.com/zoofIO/flexx">Flexx</a> - Flexx is a pure Python toolkit for creating GUI's, that uses web technology for its rendering.</li> <li><a href="https://github.com/chriskiehl/Gooey">Gooey</a> - Turn command line programs into a full GUI application with one line.</li> <li><a href="https://kivy.org/">kivy</a> - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.</li> <li><a href="https://bitbucket.org/pyglet/pyglet/wiki/Home">pyglet</a> - A cross-platform windowing and multimedia library for Python.</li> <li><a href="https://wiki.gnome.org/Projects/PyGObject">PyGObject</a> - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).</li> <li><a href="https://riverbankcomputing.com/software/pyqt/intro">PyQt</a> - Python bindings for the <a href="https://www.qt.io/">Qt</a> cross-platform application and UI framework.</li> <li><a href="https://github.com/PySimpleGUI/PySimpleGUI">PySimpleGUI</a> - Wrapper for tkinter, Qt, WxPython and Remi.</li> <li><a href="https://github.com/r0x0r/pywebview/">pywebview</a> - A lightweight cross-platform native wrapper around a webview component.</li> <li><a href="https://wiki.python.org/moin/TkInter">Tkinter</a> - Tkinter is Python's de-facto standard GUI package.</li> <li><a href="https://github.com/pybee/toga">Toga</a> - A Python native, OS native GUI toolkit.</li> <li><a href="http://urwid.org/">urwid</a> - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.</li> <li><a href="https://wxpython.org/">wxPython</a> - A blending of the wxWidgets C++ class library with the Python.</li> </ul> <h2 id="graphql">GraphQL</h2> <p><em>Libraries for working with GraphQL.</em></p> <ul> <li><a href="https://tartiflette.io">tartiflette</a> - SDL-first GraphQL engine implementation for Python 3.6+ and asyncio.</li> <li><a href="https://github.com/tartiflette/tartiflette-aiohttp/">tartiflette-aiohttp</a> - An <code>aiohttp</code>-based wrapper for Tartiflette to expose GraphQL APIs over HTTP.</li> <li><a href="https://github.com/tartiflette/tartiflette-asgi/">tartiflette-asgi</a> - ASGI support for the Tartiflette GraphQL engine.</li> </ul> <h2 id="game-development">Game Development</h2> <p><em>Awesome game development libraries.</em></p> <ul> <li><a href="http://cocos2d.org/">Cocos2d</a> - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications.</li> <li><a href="http://www.harfang3d.com">Harfang3D</a> - Python framework for 3D, VR and game development.</li> <li><a href="https://www.panda3d.org/">Panda3D</a> - 3D game engine developed by Disney.</li> <li><a href="http://www.pygame.org/news.html">Pygame</a> - Pygame is a set of Python modules designed for writing games.</li> <li><a href="http://www.ogre3d.org/tikiwiki/PyOgre">PyOgre</a> - Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D.</li> <li><a href="http://pyopengl.sourceforge.net/">PyOpenGL</a> - Python ctypes bindings for OpenGL and it's related APIs.</li> <li><a href="https://pysdl2.readthedocs.io">PySDL2</a> - A ctypes based wrapper for the SDL2 library.</li> <li><a href="https://www.renpy.org/">RenPy</a> - A Visual Novel engine.</li> </ul> <h2 id="geolocation">Geolocation</h2> <p><em>Libraries for geocoding addresses and working with latitudes and longitudes.</em></p> <ul> <li><a href="https://github.com/SmileyChris/django-countries">django-countries</a> - A Django app that provides a country field for models and forms.</li> <li><a href="https://docs.djangoproject.com/en/dev/ref/contrib/gis/">GeoDjango</a> - A world-class geographic web framework.</li> <li><a href="https://github.com/maxmind/geoip-api-python">GeoIP</a> - Python API for MaxMind GeoIP Legacy Database.</li> <li><a href="https://github.com/frewsxcv/python-geojson">geojson</a> - Python bindings and utilities for GeoJSON.</li> <li><a href="https://github.com/geopy/geopy">geopy</a> - Python Geocoding Toolbox.</li> <li><a href="https://github.com/appliedsec/pygeoip">pygeoip</a> - Pure Python GeoIP API.</li> </ul> <h2 id="html-manipulation">HTML Manipulation</h2> <p><em>Libraries for working with HTML and XML.</em></p> <ul> <li><a href="https://www.crummy.com/software/BeautifulSoup/bs4/doc/">BeautifulSoup</a> - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.</li> <li><a href="https://github.com/mozilla/bleach">bleach</a> - A whitelist-based HTML sanitization and text linkification library.</li> <li><a href="https://pypi.org/project/cssutils/">cssutils</a> - A CSS library for Python.</li> <li><a href="https://github.com/html5lib/html5lib-python">html5lib</a> - A standards-compliant library for parsing and serializing HTML documents and fragments.</li> <li><a href="http://lxml.de/">lxml</a> - A very fast, easy-to-use and versatile library for handling HTML and XML.</li> <li><a href="https://github.com/pallets/markupsafe">MarkupSafe</a> - Implements a XML/HTML/XHTML Markup safe string for Python.</li> <li><a href="https://github.com/gawel/pyquery">pyquery</a> - A jQuery-like library for parsing HTML.</li> <li><a href="https://github.com/stchris/untangle">untangle</a> - Converts XML documents to Python objects for easy access.</li> <li><a href="http://weasyprint.org">WeasyPrint</a> - A visual rendering engine for HTML and CSS that can export to PDF.</li> <li><a href="https://xmldataset.readthedocs.io/en/latest/">xmldataset</a> - Simple XML Parsing.</li> <li><a href="https://github.com/martinblech/xmltodict">xmltodict</a> - Working with XML feel like you are working with JSON.</li> </ul> <h2 id="http-clients">HTTP Clients</h2> <p><em>Libraries for working with HTTP.</em></p> <ul> <li><a href="https://github.com/spyoungtech/grequests">grequests</a> - requests + gevent for asynchronous HTTP requests.</li> <li><a href="https://github.com/httplib2/httplib2">httplib2</a> - Comprehensive HTTP client library.</li> <li><a href="https://github.com/encode/httpx">httpx</a> - A next generation HTTP client for Python.</li> <li><a href="https://github.com/psf/requests">requests</a> - HTTP Requests for Humans.</li> <li><a href="https://github.com/twisted/treq">treq</a> - Python requests like API built on top of Twisted's HTTP client.</li> <li><a href="https://github.com/shazow/urllib3">urllib3</a> - A HTTP library with thread-safe connection pooling, file post support, sanity friendly.</li> </ul> <h2 id="hardware">Hardware</h2> <p><em>Libraries for programming with hardware.</em></p> <ul> <li><a href="http://inotool.org/">ino</a> - Command line toolkit for working with <a href="https://www.arduino.cc/">Arduino</a>.</li> <li><a href="https://github.com/boppreh/keyboard">keyboard</a> - Hook and simulate global keyboard events on Windows and Linux.</li> <li><a href="https://github.com/boppreh/mouse">mouse</a> - Hook and simulate global mouse events on Windows and Linux.</li> <li><a href="http://www.pingo.io/">Pingo</a> - Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.</li> <li><a href="https://github.com/SavinaRoja/PyUserInput">PyUserInput</a> - A module for cross-platform control of the mouse and keyboard.</li> <li><a href="https://github.com/secdev/scapy">scapy</a> - A brilliant packet manipulation library.</li> <li><a href="https://github.com/rockymeza/wifi">wifi</a> - A Python library and command line tool for working with WiFi on Linux.</li> </ul> <h2 id="image-processing">Image Processing</h2> <p><em>Libraries for manipulating images.</em></p> <ul> <li><a href="https://github.com/rossgoodwin/hmap">hmap</a> - Image histogram remapping.</li> <li><a href="https://sourceforge.net/projects/imgseek/">imgSeek</a> - A project for searching a collection of images using visual similarity.</li> <li><a href="https://github.com/hhatto/nude.py">nude.py</a> - Nudity detection.</li> <li><a href="https://github.com/daboth/pagan">pagan</a> - Retro identicon (Avatar) generation based on input string and hash.</li> <li><a href="https://github.com/python-pillow/Pillow">pillow</a> - Pillow is the friendly <a href="http://www.pythonware.com/products/pil/">PIL</a> fork.</li> <li><a href="https://pythonhosted.org/pyBarcode/">pyBarcode</a> - Create barcodes in Python without needing PIL.</li> <li><a href="https://github.com/ajkumar25/pygram">pygram</a> - Instagram-like image filters.</li> <li><a href="https://github.com/lincolnloop/python-qrcode">python-qrcode</a> - A pure Python QR Code generator.</li> <li><a href="https://github.com/fogleman/Quads">Quads</a> - Computer art based on quadtrees.</li> <li><a href="http://scikit-image.org/">scikit-image</a> - A Python library for (scientific) image processing.</li> <li><a href="https://github.com/thumbor/thumbor">thumbor</a> - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images.</li> <li><a href="https://github.com/dahlia/wand">wand</a> - Python bindings for <a href="http://www.imagemagick.org/script/magick-wand.php">MagickWand</a>, C API for ImageMagick.</li> </ul> <h2 id="implementations">Implementations</h2> <p><em>Implementations of Python.</em></p> <ul> <li><a href="https://github.com/python/cpython">CPython</a> - <strong>Default, most widely used implementation of the Python programming language written in C.</strong></li> <li><a href="http://cython.org/">Cython</a> - Optimizing Static Compiler for Python.</li> <li><a href="https://github.com/metawilm/cl-python">CLPython</a> - Implementation of the Python programming language written in Common Lisp.</li> <li><a href="https://github.com/google/grumpy">Grumpy</a> - More compiler than interpreter as more powerful CPython2.7 replacement (alpha).</li> <li><a href="https://github.com/IronLanguages/ironpython3">IronPython</a> - Implementation of the Python programming language written in C#.</li> <li><a href="https://hg.python.org/jython">Jython</a> - Implementation of Python programming language written in Java for the JVM.</li> <li><a href="https://github.com/micropython/micropython">MicroPython</a> - A lean and efficient Python programming language implementation.</li> <li><a href="http://numba.pydata.org/">Numba</a> - Python JIT compiler to LLVM aimed at scientific Python.</li> <li><a href="https://github.com/Maratyszcza/PeachPy">PeachPy</a> - x86-64 assembler embedded in Python.</li> <li><a href="https://github.com/Microsoft/Pyjion">Pyjion</a> - A JIT for Python based upon CoreCLR.</li> <li><a href="https://foss.heptapod.net/pypy/pypy">PyPy</a> - A very fast and compliant implementation of the Python language.</li> <li><a href="https://github.com/dropbox/pyston">Pyston</a> - A Python implementation using JIT techniques.</li> <li><a href="https://github.com/stackless-dev/stackless">Stackless Python</a> - An enhanced version of the Python programming language.</li> </ul> <h2 id="interactive-interpreter">Interactive Interpreter</h2> <p><em>Interactive Python interpreters (REPL).</em></p> <ul> <li><a href="https://github.com/bpython/bpython">bpython</a> - A fancy interface to the Python interpreter.</li> <li><a href="https://jupyter.org">Jupyter Notebook (IPython)</a> - A rich toolkit to help you make the most out of using Python interactively.<ul> <li><a href="https://github.com/markusschanta/awesome-jupyter">awesome-jupyter</a></li> </ul> </li> <li><a href="https://github.com/jonathanslenders/ptpython">ptpython</a> - Advanced Python REPL built on top of the <a href="https://github.com/jonathanslenders/python-prompt-toolkit">python-prompt-toolkit</a>.</li> </ul> <h2 id="internationalization">Internationalization</h2> <p><em>Libraries for working with i18n.</em></p> <ul> <li><a href="http://babel.pocoo.org/en/latest/">Babel</a> - An internationalization library for Python.</li> <li><a href="https://github.com/ovalhub/pyicu">PyICU</a> - A wrapper of International Components for Unicode C++ library (<a href="http://site.icu-project.org/">ICU</a>).</li> </ul> <h2 id="job-scheduler">Job Scheduler</h2> <p><em>Libraries for scheduling jobs.</em></p> <ul> <li><a href="http://apscheduler.readthedocs.io/en/latest/">APScheduler</a> - A light but powerful in-process task scheduler that lets you schedule functions.</li> <li><a href="https://github.com/thauber/django-schedule">django-schedule</a> - A calendaring app for Django.</li> <li><a href="http://pydoit.org/">doit</a> - A task runner and build tool.</li> <li><a href="https://github.com/gunnery/gunnery">gunnery</a> - Multipurpose task execution tool for distributed systems with web-based interface.</li> <li><a href="https://joblib.readthedocs.io/">Joblib</a> - A set of tools to provide lightweight pipelining in Python.</li> <li><a href="https://github.com/fengsp/plan">Plan</a> - Writing crontab file in Python like a charm.</li> <li><a href="https://github.com/dbader/schedule">schedule</a> - Python job scheduling for humans.</li> <li><a href="https://github.com/knipknap/SpiffWorkflow">Spiff</a> - A powerful workflow engine implemented in pure Python.</li> <li><a href="https://docs.openstack.org/developer/taskflow/">TaskFlow</a> - A Python library that helps to make task execution easy, consistent and reliable.</li> <li><a href="https://airflow.apache.org/">Airflow</a> - Airflow is a platform to programmatically author, schedule and monitor workflows.</li> </ul> <h2 id="logging">Logging</h2> <p><em>Libraries for generating and working with logs.</em></p> <ul> <li><a href="https://github.com/ScatterHQ/eliot">Eliot</a> - Logging for complex & distributed systems.</li> <li><a href="http://logbook.readthedocs.io/en/stable/">logbook</a> - Logging replacement for Python.</li> <li><a href="https://docs.python.org/3/library/logging.html">logging</a> - (Python standard library) Logging facility for Python.</li> <li><a href="https://github.com/getsentry/raven-python">raven</a> - Python client for Sentry, a log/error tracking, crash reporting and aggregation platform for web applications.</li> </ul> <h2 id="machine-learning">Machine Learning</h2> <p><em>Libraries for Machine Learning. Also see <a href="https://github.com/josephmisiti/awesome-machine-learning#python">awesome-machine-learning</a>.</em></p> <ul> <li><a href="https://github.com/h2oai/h2o-3">H2O</a> - Open Source Fast Scalable Machine Learning Platform.</li> <li><a href="https://github.com/benhamner/Metrics">Metrics</a> - Machine learning evaluation metrics.</li> <li><a href="https://github.com/numenta/nupic">NuPIC</a> - Numenta Platform for Intelligent Computing.</li> <li><a href="http://scikit-learn.org/">scikit-learn</a> - The most popular Python library for Machine Learning.</li> <li><a href="http://spark.apache.org/docs/latest/ml-guide.html">Spark ML</a> - <a href="http://spark.apache.org/">Apache Spark</a>'s scalable Machine Learning library.</li> <li><a href="https://github.com/josephreisinger/vowpal_porpoise">vowpal_porpoise</a> - A lightweight Python wrapper for <a href="https://github.com/JohnLangford/vowpal_wabbit/">Vowpal Wabbit</a>.</li> <li><a href="https://github.com/dmlc/xgboost">xgboost</a> - A scalable, portable, and distributed gradient boosting library.</li> </ul> <h2 id="microsoft-windows">Microsoft Windows</h2> <p><em>Python programming on Microsoft Windows.</em></p> <ul> <li><a href="http://python-xy.github.io/">Python(x,y)</a> - Scientific-applications-oriented Python Distribution based on Qt and Spyder.</li> <li><a href="http://www.lfd.uci.edu/~gohlke/pythonlibs/">pythonlibs</a> - Unofficial Windows binaries for Python extension packages.</li> <li><a href="https://github.com/pythonnet/pythonnet">PythonNet</a> - Python Integration with the .NET Common Language Runtime (CLR).</li> <li><a href="https://github.com/mhammond/pywin32">PyWin32</a> - Python Extensions for Windows.</li> <li><a href="https://winpython.github.io/">WinPython</a> - Portable development environment for Windows 7/8.</li> </ul> <h2 id="miscellaneous">Miscellaneous</h2> <p><em>Useful libraries or tools that don't fit in the categories above.</em></p> <ul> <li><a href="https://github.com/jek/blinker">blinker</a> - A fast Python in-process signal/event dispatching system.</li> <li><a href="https://github.com/mahmoud/boltons">boltons</a> - A set of pure-Python utilities.</li> <li><a href="https://github.com/pallets/itsdangerous">itsdangerous</a> - Various helpers to pass trusted data to untrusted environments.</li> <li><a href="https://github.com/mitsuhiko/pluginbase">pluginbase</a> - A simple but flexible plugin system for Python.</li> <li><a href="http://www.tryton.org/">tryton</a> - A general purpose business framework.</li> </ul> <h2 id="natural-language-processing">Natural Language Processing</h2> <p><em>Libraries for working with human languages.</em></p> <ul> <li>General<ul> <li><a href="https://github.com/RaRe-Technologies/gensim">gensim</a> - Topic Modeling for Humans.</li> <li><a href="https://github.com/saffsd/langid.py">langid.py</a> - Stand-alone language identification system.</li> <li><a href="http://www.nltk.org/">nltk</a> - A leading platform for building Python programs to work with human language data.</li> <li><a href="https://github.com/clips/pattern">pattern</a> - A web mining module.</li> <li><a href="https://github.com/aboSamoor/polyglot">polyglot</a> - Natural language pipeline supporting hundreds of languages.</li> <li><a href="https://github.com/facebookresearch/pytext">pytext</a> - A natural language modeling framework based on PyTorch.</li> <li><a href="https://github.com/PetrochukM/PyTorch-NLP">PyTorch-NLP</a> - A toolkit enabling rapid deep learning NLP prototyping for research.</li> <li><a href="https://spacy.io/">spacy</a> - A library for industrial-strength natural language processing in Python and Cython.</li> <li><a href="https://github.com/stanfordnlp/stanza">Stanza</a> - The Stanford NLP Group's official Python library, supporting 60+ languages.</li> </ul> </li> <li>Chinese<ul> <li><a href="https://github.com/fxsjy/jieba">jieba</a> - The most popular Chinese text segmentation library.</li> <li><a href="https://github.com/lancopku/pkuseg-python">pkuseg-python</a> - A toolkit for Chinese word segmentation in various domains.</li> <li><a href="https://github.com/isnowfy/snownlp">snownlp</a> - A library for processing Chinese text.</li> <li><a href="https://github.com/fighting41love/funNLP">funNLP</a> - A collection of tools and datasets for Chinese NLP.</li> </ul> </li> </ul> <h2 id="network-virtualization">Network Virtualization</h2> <p><em>Tools and libraries for Virtual Networking and SDN (Software Defined Networking).</em></p> <ul> <li><a href="https://github.com/mininet/mininet">mininet</a> - A popular network emulator and API written in Python.</li> <li><a href="https://github.com/napalm-automation/napalm">napalm</a> - Cross-vendor API to manipulate network devices.</li> <li><a href="https://github.com/noxrepo/pox">pox</a> - A Python-based SDN control applications, such as OpenFlow SDN controllers.</li> </ul> <h2 id="news-feed">News Feed</h2> <p><em>Libraries for building user's activities.</em></p> <ul> <li><a href="https://github.com/justquick/django-activity-stream">django-activity-stream</a> - Generating generic activity streams from the actions on your site.</li> <li><a href="https://github.com/tschellenbach/Stream-Framework">Stream Framework</a> - Building news feed and notification systems using Cassandra and Redis.</li> </ul> <h2 id="orm">ORM</h2> <p><em>Libraries that implement Object-Relational Mapping or data mapping techniques.</em></p> <ul> <li>Relational Databases<ul> <li><a href="https://docs.djangoproject.com/en/dev/topics/db/models/">Django Models</a> - The Django ORM.</li> <li><a href="https://www.sqlalchemy.org/">SQLAlchemy</a> - The Python SQL Toolkit and Object Relational Mapper.<ul> <li><a href="https://github.com/dahlia/awesome-sqlalchemy">awesome-sqlalchemy</a></li> </ul> </li> <li><a href="https://github.com/pudo/dataset">dataset</a> - Store Python dicts in a database - works with SQLite, MySQL, and PostgreSQL.</li> <li><a href="https://github.com/sdispater/orator">orator</a> - The Orator ORM provides a simple yet beautiful ActiveRecord implementation.</li> <li><a href="https://github.com/encode/orm">orm</a> - An async ORM.</li> <li><a href="https://github.com/coleifer/peewee">peewee</a> - A small, expressive ORM.</li> <li><a href="https://github.com/ponyorm/pony/">pony</a> - ORM that provides a generator-oriented interface to SQL.</li> <li><a href="https://github.com/web2py/pydal/">pydal</a> - A pure Python Database Abstraction Layer.</li> </ul> </li> <li>NoSQL Databases<ul> <li><a href="https://github.com/stephenmcd/hot-redis">hot-redis</a> - Rich Python data types for Redis.</li> <li><a href="https://github.com/MongoEngine/mongoengine">mongoengine</a> - A Python Object-Document-Mapper for working with MongoDB.</li> <li><a href="https://github.com/pynamodb/PynamoDB">PynamoDB</a> - A Pythonic interface for <a href="https://aws.amazon.com/dynamodb/">Amazon DynamoDB</a>.</li> <li><a href="https://github.com/kiddouk/redisco">redisco</a> - A Python Library for Simple Models and Containers Persisted in Redis.</li> </ul> </li> </ul> <h2 id="package-management">Package Management</h2> <p><em>Libraries for package and dependency management.</em></p> <ul> <li><a href="https://pip.pypa.io/en/stable/">pip</a> - The package installer for Python.<ul> <li><a href="https://pypi.org/">PyPI</a></li> <li><a href="https://github.com/jazzband/pip-tools">pip-tools</a> - A set of tools to keep your pinned Python dependencies fresh.</li> </ul> </li> <li><a href="https://github.com/sdispater/poetry">poetry</a> - Python dependency management and packaging made easy.</li> <li><a href="https://github.com/conda/conda/">conda</a> - Cross-platform, Python-agnostic binary package manager.</li> </ul> <h2 id="package-repositories">Package Repositories</h2> <p><em>Local PyPI repository server and proxies.</em></p> <ul> <li><a href="https://github.com/pypa/warehouse">warehouse</a> - Next generation Python Package Repository (PyPI).</li> <li><a href="https://github.com/pypa/bandersnatch/">bandersnatch</a> - PyPI mirroring tool provided by Python Packaging Authority (PyPA).</li> <li><a href="https://github.com/devpi/devpi">devpi</a> - PyPI server and packaging/testing/release tool.</li> <li><a href="https://github.com/jazzband/localshop">localshop</a> - Local PyPI server (custom packages and auto-mirroring of pypi).</li> </ul> <h2 id="permissions">Permissions</h2> <p><em>Libraries that allow or deny users access to data or functionality.</em></p> <ul> <li><a href="https://github.com/django-guardian/django-guardian">django-guardian</a> - Implementation of per object permissions for Django 1.2+</li> <li><a href="https://github.com/dfunckt/django-rules">django-rules</a> - A tiny but powerful app providing object-level permissions to Django, without requiring a database.</li> </ul> <h2 id="processes">Processes</h2> <p><em>Libraries for starting and communicating with OS processes.</em></p> <ul> <li><a href="https://github.com/amitt001/delegator.py">delegator.py</a> - <a href="https://docs.python.org/3/library/subprocess.html">Subprocesses</a> for Humans 2.0.</li> <li><a href="https://sarge.readthedocs.io/en/latest/">sarge</a> - Yet another wrapper for subprocess.</li> <li><a href="https://github.com/amoffat/sh">sh</a> - A full-fledged subprocess replacement for Python.</li> </ul> <h2 id="recommender-systems">Recommender Systems</h2> <p><em>Libraries for building recommender systems.</em></p> <ul> <li><a href="https://github.com/spotify/annoy">annoy</a> - Approximate Nearest Neighbors in C++/Python optimized for memory usage.</li> <li><a href="https://github.com/ibayer/fastFM">fastFM</a> - A library for Factorization Machines.</li> <li><a href="https://github.com/benfred/implicit">implicit</a> - A fast Python implementation of collaborative filtering for implicit datasets.</li> <li><a href="https://github.com/guestwalk/libffm">libffm</a> - A library for Field-aware Factorization Machine (FFM).</li> <li><a href="https://github.com/lyst/lightfm">lightfm</a> - A Python implementation of a number of popular recommendation algorithms.</li> <li><a href="https://github.com/maciejkula/spotlight">spotlight</a> - Deep recommender models using PyTorch.</li> <li><a href="https://github.com/NicolasHug/Surprise">Surprise</a> - A scikit for building and analyzing recommender systems.</li> <li><a href="https://github.com/jfkirk/tensorrec">tensorrec</a> - A Recommendation Engine Framework in TensorFlow.</li> </ul> <h2 id="refactoring">Refactoring</h2> <p><em>Refactoring tools and libraries for Python</em></p> <ul> <li><a href="http://bicyclerepair.sourceforge.net/">Bicycle Repair Man</a> - Bicycle Repair Man, a refactoring tool for Python.</li> <li><a href="https://pybowler.io/">Bowler</a> - Safe code refactoring for modern Python.</li> <li><a href="https://github.com/python-rope/rope">Rope</a> - Rope is a python refactoring library.</li> </ul> <h2 id="restful-api">RESTful API</h2> <p><em>Libraries for building RESTful APIs.</em></p> <ul> <li>Django<ul> <li><a href="http://www.django-rest-framework.org/">django-rest-framework</a> - A powerful and flexible toolkit to build web APIs.</li> <li><a href="http://tastypieapi.org/">django-tastypie</a> - Creating delicious APIs for Django apps.</li> </ul> </li> <li>Flask<ul> <li><a href="https://github.com/pyeve/eve">eve</a> - REST API framework powered by Flask, MongoDB and good intentions.</li> <li><a href="https://github.com/flask-api/flask-api">flask-api</a> - Browsable Web APIs for Flask.</li> <li><a href="https://github.com/flask-restful/flask-restful">flask-restful</a> - Quickly building REST APIs for Flask.</li> </ul> </li> <li>Pyramid<ul> <li><a href="https://github.com/Cornices/cornice">cornice</a> - A RESTful framework for Pyramid.</li> </ul> </li> <li>Framework agnostic<ul> <li><a href="https://github.com/encode/apistar">apistar</a> - A smart Web API framework, designed for Python 3.</li> <li><a href="https://github.com/falconry/falcon">falcon</a> - A high-performance framework for building cloud APIs and web app backends.</li> <li><a href="https://github.com/tiangolo/fastapi">fastapi</a> - A modern, fast, web framework for building APIs with Python 3.6+ based on standard Python type hints.</li> <li><a href="https://github.com/hugapi/hug">hug</a> - A Python 3 framework for cleanly exposing APIs.</li> <li><a href="https://github.com/jeffknupp/sandman2">sandman2</a> - Automated REST APIs for existing database-driven systems.</li> <li><a href="https://github.com/huge-success/sanic">sanic</a> - A Python 3.6+ web server and web framework that's written to go fast.</li> <li><a href="https://vibora.io/">vibora</a> - Fast, efficient and asynchronous Web framework inspired by Flask.</li> </ul> </li> </ul> <h2 id="robotics">Robotics</h2> <p><em>Libraries for robotics.</em></p> <ul> <li><a href="https://github.com/AtsushiSakai/PythonRobotics">PythonRobotics</a> - This is a compilation of various robotics algorithms with visualizations.</li> <li><a href="http://wiki.ros.org/rospy">rospy</a> - This is a library for ROS (Robot Operating System).</li> </ul> <h2 id="rpc-servers">RPC Servers</h2> <p><em>RPC-compatible servers.</em></p> <ul> <li><a href="https://github.com/0rpc/zerorpc-python">zeroRPC</a> - zerorpc is a flexible RPC implementation based on <a href="http://zeromq.org/">ZeroMQ</a> and <a href="http://msgpack.org/">MessagePack</a>.</li> <li><a href="https://github.com/tomerfiliba/rpyc">RPyC</a> (Remote Python Call) - A transparent and symmetric RPC library for Python</li> </ul> <h2 id="science">Science</h2> <p><em>Libraries for scientific computing. Also see <a href="https://github.com/TomNicholas/Python-for-Scientists">Python-for-Scientists</a></em></p> <ul> <li><a href="http://www.astropy.org/">astropy</a> - A community Python library for Astronomy.</li> <li><a href="https://github.com/chapmanb/bcbio-nextgen">bcbio-nextgen</a> - Providing best-practice pipelines for fully automated high throughput sequencing analysis.</li> <li><a href="https://github.com/chapmanb/bcbb">bccb</a> - Collection of useful code related to biological analysis.</li> <li><a href="http://biopython.org/wiki/Main_Page">Biopython</a> - Biopython is a set of freely available tools for biological computation.</li> <li><a href="http://cclib.github.io/">cclib</a> - A library for parsing and interpreting the results of computational chemistry packages.</li> <li><a href="http://colour-science.org/">Colour</a> - Implementing a comprehensive number of colour theory transformations and algorithms.</li> <li><a href="https://github.com/benedekrozemberczki/karateclub">Karate Club</a> - Unsupervised machine learning toolbox for graph structured data.</li> <li><a href="https://networkx.github.io/">NetworkX</a> - A high-productivity software for complex networks.</li> <li><a href="http://nipy.org">NIPY</a> - A collection of neuroimaging toolkits.</li> <li><a href="http://www.numpy.org/">NumPy</a> - A fundamental package for scientific computing with Python.</li> <li><a href="http://openbabel.org/wiki/Main_Page">Open Babel</a> - A chemical toolbox designed to speak the many languages of chemical data.</li> <li><a href="https://github.com/obspy/obspy/wiki/">ObsPy</a> - A Python toolbox for seismology.</li> <li><a href="http://www.pydy.org/">PyDy</a> - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.</li> <li><a href="https://github.com/pymc-devs/pymc3">PyMC</a> - Markov Chain Monte Carlo sampling toolkit.</li> <li><a href="http://qutip.org/">QuTiP</a> - Quantum Toolbox in Python.</li> <li><a href="http://www.rdkit.org/">RDKit</a> - Cheminformatics and Machine Learning Software.</li> <li><a href="https://www.scipy.org/">SciPy</a> - A Python-based ecosystem of open-source software for mathematics, science, and engineering.</li> <li><a href="https://github.com/statsmodels/statsmodels">statsmodels</a> - Statistical modeling and econometrics in Python.</li> <li><a href="https://github.com/sympy/sympy">SymPy</a> - A Python library for symbolic mathematics.</li> <li><a href="https://github.com/quantopian/zipline">Zipline</a> - A Pythonic algorithmic trading library.</li> <li><a href="https://bitbucket.org/simpy/simpy">SimPy</a> - A process-based discrete-event simulation framework.</li> </ul> <h2 id="search">Search</h2> <p><em>Libraries and software for indexing and performing search queries on data.</em></p> <ul> <li><a href="https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html">elasticsearch-py</a> - The official low-level Python client for <a href="https://www.elastic.co/products/elasticsearch">Elasticsearch</a>.</li> <li><a href="https://github.com/elastic/elasticsearch-dsl-py">elasticsearch-dsl-py</a> - The official high-level Python client for Elasticsearch.</li> <li><a href="https://github.com/django-haystack/django-haystack">django-haystack</a> - Modular search for Django.</li> <li><a href="https://github.com/django-haystack/pysolr">pysolr</a> - A lightweight Python wrapper for <a href="https://lucene.apache.org/solr/">Apache Solr</a>.</li> <li><a href="http://whoosh.readthedocs.io/en/latest/">whoosh</a> - A fast, pure Python search engine library.</li> </ul> <h2 id="serialization">Serialization</h2> <p><em>Libraries for serializing complex data types</em></p> <ul> <li><a href="https://github.com/marshmallow-code/marshmallow">marshmallow</a> - A lightweight library for converting complex objects to and from simple Python datatypes.</li> <li><a href="https://github.com/TkTech/pysimdjson">pysimdjson</a> - A Python bindings for <a href="https://github.com/lemire/simdjson">simdjson</a>.</li> <li><a href="https://github.com/python-rapidjson/python-rapidjson">python-rapidjson</a> - A Python wrapper around <a href="https://github.com/Tencent/rapidjson">RapidJSON</a>.</li> <li><a href="https://github.com/esnme/ultrajson">ultrajson</a> - A fast JSON decoder and encoder written in C with Python bindings.</li> </ul> <h2 id="serverless-frameworks">Serverless Frameworks</h2> <p><em>Frameworks for developing serverless Python code.</em></p> <ul> <li><a href="https://github.com/nficano/python-lambda">python-lambda</a> - A toolkit for developing and deploying Python code in AWS Lambda.</li> <li><a href="https://github.com/Miserlou/Zappa">Zappa</a> - A tool for deploying WSGI applications on AWS Lambda and API Gateway.</li> </ul> <h2 id="specific-formats-processing">Specific Formats Processing</h2> <p><em>Libraries for parsing and manipulating specific text formats.</em></p> <ul> <li>General<ul> <li><a href="https://github.com/jazzband/tablib">tablib</a> - A module for Tabular Datasets in XLS, CSV, JSON, YAML.</li> </ul> </li> <li>Office<ul> <li><a href="https://openpyxl.readthedocs.io/en/stable/">openpyxl</a> - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.</li> <li><a href="https://github.com/pyexcel/pyexcel">pyexcel</a> - Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files.</li> <li><a href="https://github.com/python-openxml/python-docx">python-docx</a> - Reads, queries and modifies Microsoft Word 2007/2008 docx files.</li> <li><a href="https://github.com/scanny/python-pptx">python-pptx</a> - Python library for creating and updating PowerPoint (.pptx) files.</li> <li><a href="https://github.com/unoconv/unoconv">unoconv</a> - Convert between any document format supported by LibreOffice/OpenOffice.</li> <li><a href="https://github.com/jmcnamara/XlsxWriter">XlsxWriter</a> - A Python module for creating Excel .xlsx files.</li> <li><a href="https://github.com/ZoomerAnalytics/xlwings">xlwings</a> - A BSD-licensed library that makes it easy to call Python from Excel and vice versa.</li> <li><a href="https://github.com/python-excel/xlwt">xlwt</a> / <a href="https://github.com/python-excel/xlrd">xlrd</a> - Writing and reading data and formatting information from Excel files.</li> </ul> </li> <li>PDF<ul> <li><a href="https://github.com/euske/pdfminer">PDFMiner</a> - A tool for extracting information from PDF documents.</li> <li><a href="https://github.com/mstamy2/PyPDF2">PyPDF2</a> - A library capable of splitting, merging and transforming PDF pages.</li> <li><a href="https://www.reportlab.com/opensource/">ReportLab</a> - Allowing Rapid creation of rich PDF documents.</li> </ul> </li> <li>Markdown<ul> <li><a href="https://github.com/lepture/mistune">Mistune</a> - Fastest and full featured pure Python parsers of Markdown.</li> <li><a href="https://github.com/waylan/Python-Markdown">Python-Markdown</a> - A Python implementation of John Gruber’s Markdown.</li> </ul> </li> <li>YAML<ul> <li><a href="http://pyyaml.org/">PyYAML</a> - YAML implementations for Python.</li> </ul> </li> <li>CSV<ul> <li><a href="https://github.com/wireservice/csvkit">csvkit</a> - Utilities for converting to and working with CSV.</li> </ul> </li> <li>Archive<ul> <li><a href="https://github.com/mitsuhiko/unp">unp</a> - A command line tool that can unpack archives easily.</li> </ul> </li> </ul> <h2 id="static-site-generator">Static Site Generator</h2> <p><em>Static site generator is a software that takes some text + templates as input and produces HTML files on the output.</em></p> <ul> <li><a href="https://github.com/mkdocs/mkdocs/">mkdocs</a> - Markdown friendly documentation generator.</li> <li><a href="https://github.com/getpelican/pelican">pelican</a> - Static site generator that supports Markdown and reST syntax.</li> <li><a href="https://github.com/lektor/lektor">lektor</a> - An easy to use static CMS and blog engine.</li> <li><a href="https://github.com/getnikola/nikola">nikola</a> - A static website and blog generator.</li> </ul> <h2 id="tagging">Tagging</h2> <p><em>Libraries for tagging items.</em></p> <ul> <li><a href="https://github.com/jazzband/django-taggit">django-taggit</a> - Simple tagging for Django.</li> </ul> <h2 id="task-queues">Task Queues</h2> <p><em>Libraries for working with task queues.</em></p> <ul> <li><a href="http://www.celeryproject.org/">celery</a> - An asynchronous task queue/job queue based on distributed message passing.</li> <li><a href="https://github.com/coleifer/huey">huey</a> - Little multi-threaded task queue.</li> <li><a href="https://github.com/pricingassistant/mrq">mrq</a> - A distributed worker task queue in Python using Redis & gevent.</li> <li><a href="https://github.com/rq/rq">rq</a> - Simple job queues for Python.</li> </ul> <h2 id="template-engine">Template Engine</h2> <p><em>Libraries and tools for templating and lexing.</em></p> <ul> <li><a href="https://github.com/pallets/jinja">Jinja2</a> - A modern and designer friendly templating language.</li> <li><a href="https://genshi.edgewall.org/">Genshi</a> - Python templating toolkit for generation of web-aware output.</li> <li><a href="http://www.makotemplates.org/">Mako</a> - Hyperfast and lightweight templating for the Python platform.</li> </ul> <h2 id="testing">Testing</h2> <p><em>Libraries for testing codebases and generating test data.</em></p> <ul> <li>Testing Frameworks<ul> <li><a href="https://docs.pytest.org/en/latest/">pytest</a> - A mature full-featured Python testing tool.</li> <li><a href="https://github.com/HypothesisWorks/hypothesis">hypothesis</a> - Hypothesis is an advanced Quickcheck style property based testing library.</li> <li><a href="https://github.com/nose-devs/nose2">nose2</a> - The successor to <code>nose</code>, based on `unittest2.</li> <li><a href="https://github.com/robotframework/robotframework">Robot Framework</a> - A generic test automation framework.</li> <li><a href="https://docs.python.org/3/library/unittest.html">unittest</a> - (Python standard library) Unit testing framework.</li> </ul> </li> <li>Test Runners<ul> <li><a href="https://github.com/CleanCut/green">green</a> - A clean, colorful test runner.</li> <li><a href="http://nestorsalceda.github.io/mamba/">mamba</a> - The definitive testing tool for Python. Born under the banner of BDD.</li> <li><a href="https://tox.readthedocs.io/en/latest/">tox</a> - Auto builds and tests distributions in multiple Python versions</li> </ul> </li> <li>GUI / Web Testing<ul> <li><a href="https://github.com/locustio/locust">locust</a> - Scalable user load testing tool written in Python.</li> <li><a href="https://github.com/asweigart/pyautogui">PyAutoGUI</a> - PyAutoGUI is a cross-platform GUI automation Python module for human beings.</li> <li><a href="https://pypi.org/project/selenium/">Selenium</a> - Python bindings for <a href="http://www.seleniumhq.org/">Selenium</a> WebDriver.</li> <li><a href="https://github.com/seatgeek/sixpack">sixpack</a> - A language-agnostic A/B Testing framework.</li> <li><a href="https://github.com/cobrateam/splinter">splinter</a> - Open source tool for testing web applications.</li> </ul> </li> <li>Mock<ul> <li><a href="https://docs.python.org/3/library/unittest.mock.html">mock</a> - (Python standard library) A mocking and patching library.</li> <li><a href="https://pypi.org/project/doublex/">doublex</a> - Powerful test doubles framework for Python.</li> <li><a href="https://github.com/spulec/freezegun">freezegun</a> - Travel through time by mocking the datetime module.</li> <li><a href="https://github.com/patrys/httmock">httmock</a> - A mocking library for requests for Python 2.6+ and 3.2+.</li> <li><a href="https://github.com/gabrielfalcao/HTTPretty">httpretty</a> - HTTP request mock tool for Python.</li> <li><a href="https://github.com/mindflayer/python-mocket">mocket</a> - A socket mock framework with gevent/asyncio/SSL support.</li> <li><a href="https://github.com/getsentry/responses">responses</a> - A utility library for mocking out the requests Python library.</li> <li><a href="https://github.com/kevin1024/vcrpy">VCR.py</a> - Record and replay HTTP interactions on your tests.</li> </ul> </li> <li>Object Factories<ul> <li><a href="https://github.com/FactoryBoy/factory_boy">factory_boy</a> - A test fixtures replacement for Python.</li> <li><a href="https://github.com/klen/mixer">mixer</a> - Another fixtures replacement. Supported Django, Flask, SQLAlchemy, Peewee and etc.</li> <li><a href="https://github.com/vandersonmota/model_mommy">model_mommy</a> - Creating random fixtures for testing in Django.</li> </ul> </li> <li>Code Coverage<ul> <li><a href="https://pypi.org/project/coverage/">coverage</a> - Code coverage measurement.</li> </ul> </li> <li>Fake Data<ul> <li><a href="https://github.com/lk-geimfari/mimesis">mimesis</a> - is a Python library that help you generate fake data.</li> <li><a href="https://github.com/emirozer/fake2db">fake2db</a> - Fake database generator.</li> <li><a href="https://github.com/joke2k/faker">faker</a> - A Python package that generates fake data.</li> <li><a href="https://pypi.org/project/radar/">radar</a> - Generate random datetime / time.</li> </ul> </li> </ul> <h2 id="text-processing">Text Processing</h2> <p><em>Libraries for parsing and manipulating plain texts.</em></p> <ul> <li>General<ul> <li><a href="https://github.com/chardet/chardet">chardet</a> - Python 2/3 compatible character encoding detector.</li> <li><a href="https://docs.python.org/3/library/difflib.html">difflib</a> - (Python standard library) Helpers for computing deltas.</li> <li><a href="https://github.com/LuminosoInsight/python-ftfy">ftfy</a> - Makes Unicode text less broken and more consistent automagically.</li> <li><a href="https://github.com/seatgeek/fuzzywuzzy">fuzzywuzzy</a> - Fuzzy String Matching.</li> <li><a href="https://github.com/ztane/python-Levenshtein/">Levenshtein</a> - Fast computation of Levenshtein distance and string similarity.</li> <li><a href="https://github.com/vinta/pangu.py">pangu.py</a> - Paranoid text spacing.</li> <li><a href="https://github.com/pwaller/pyfiglet">pyfiglet</a> - An implementation of figlet written in Python.</li> <li><a href="https://github.com/mozillazg/python-pinyin">pypinyin</a> - Convert Chinese hanzi (漢字) to pinyin (拼音).</li> <li><a href="https://github.com/orsinium/textdistance">textdistance</a> - Compute distance between sequences with 30+ algorithms.</li> <li><a href="https://pypi.org/project/Unidecode/">unidecode</a> - ASCII transliterations of Unicode text.</li> </ul> </li> <li>Slugify<ul> <li><a href="https://github.com/dimka665/awesome-slugify">awesome-slugify</a> - A Python slugify library that can preserve unicode.</li> <li><a href="https://github.com/un33k/python-slugify">python-slugify</a> - A Python slugify library that translates unicode to ASCII.</li> <li><a href="https://github.com/mozilla/unicode-slugify">unicode-slugify</a> - A slugifier that generates unicode slugs with Django as a dependency.</li> </ul> </li> <li>Unique identifiers<ul> <li><a href="https://github.com/davidaurelio/hashids-python">hashids</a> - Implementation of <a href="http://hashids.org">hashids</a> in Python.</li> <li><a href="https://github.com/skorokithakis/shortuuid">shortuuid</a> - A generator library for concise, unambiguous and URL-safe UUIDs.</li> </ul> </li> <li>Parser<ul> <li><a href="https://github.com/dabeaz/ply">ply</a> - Implementation of lex and yacc parsing tools for Python.</li> <li><a href="http://pygments.org/">pygments</a> - A generic syntax highlighter.</li> <li><a href="https://github.com/pyparsing/pyparsing">pyparsing</a> - A general purpose framework for generating parsers.</li> <li><a href="https://github.com/derek73/python-nameparser">python-nameparser</a> - Parsing human names into their individual components.</li> <li><a href="https://github.com/daviddrysdale/python-phonenumbers">python-phonenumbers</a> - Parsing, formatting, storing and validating international phone numbers.</li> <li><a href="https://github.com/selwin/python-user-agents">python-user-agents</a> - Browser user agent parser.</li> <li><a href="https://github.com/andialbrecht/sqlparse">sqlparse</a> - A non-validating SQL parser.</li> </ul> </li> </ul> <h2 id="third-party-apis">Third-party APIs</h2> <p><em>Libraries for accessing third party services APIs. Also see <a href="https://github.com/realpython/list-of-python-api-wrappers">List of Python API Wrappers and Libraries</a>.</em></p> <ul> <li><a href="https://libcloud.apache.org/">apache-libcloud</a> - One Python library for all clouds.</li> <li><a href="https://github.com/boto/boto3">boto3</a> - Python interface to Amazon Web Services.</li> <li><a href="https://github.com/istrategylabs/django-wordpress">django-wordpress</a> - WordPress models and views for Django.</li> <li><a href="https://github.com/mobolic/facebook-sdk">facebook-sdk</a> - Facebook Platform Python SDK.</li> <li><a href="https://github.com/google/google-api-python-client">google-api-python-client</a> - Google APIs Client Library for Python.</li> <li><a href="https://github.com/burnash/gspread">gspread</a> - Google Spreadsheets Python API.</li> <li><a href="https://github.com/ryanmcgrath/twython">twython</a> - A Python wrapper for the Twitter API.</li> </ul> <h2 id="url-manipulation">URL Manipulation</h2> <p><em>Libraries for parsing URLs.</em></p> <ul> <li><a href="https://github.com/gruns/furl">furl</a> - A small Python library that makes parsing and manipulating URLs easy.</li> <li><a href="https://github.com/codeinthehole/purl">purl</a> - A simple, immutable URL class with a clean API for interrogation and manipulation.</li> <li><a href="https://github.com/ellisonleao/pyshorteners">pyshorteners</a> - A pure Python URL shortening lib.</li> <li><a href="https://github.com/marshmallow-code/webargs">webargs</a> - A friendly library for parsing HTTP request arguments with built-in support for popular web frameworks.</li> </ul> <h2 id="video">Video</h2> <p><em>Libraries for manipulating video and GIFs.</em></p> <ul> <li><a href="https://github.com/abhiTronix/vidgear">vidgear</a> - Most Powerful multi-threaded Video Processing framework.</li> <li><a href="https://zulko.github.io/moviepy/">moviepy</a> - A module for script-based movie editing with many formats, including animated GIFs.</li> <li><a href="https://github.com/aizvorski/scikit-video">scikit-video</a> - Video processing routines for SciPy.</li> </ul> <h2 id="web-asset-management">Web Asset Management</h2> <p><em>Tools for managing, compressing and minifying website assets.</em></p> <ul> <li><a href="https://github.com/django-compressor/django-compressor">django-compressor</a> - Compresses linked and inline JavaScript or CSS into a single cached file.</li> <li><a href="https://github.com/jazzband/django-pipeline">django-pipeline</a> - An asset packaging library for Django.</li> <li><a href="https://github.com/jschneier/django-storages">django-storages</a> - A collection of custom storage back ends for Django.</li> <li><a href="http://www.fanstatic.org/en/latest/">fanstatic</a> - Packages, optimizes, and serves static file dependencies as Python packages.</li> <li><a href="http://wimleers.com/fileconveyor">fileconveyor</a> - A daemon to detect and sync files to CDNs, S3 and FTP.</li> <li><a href="https://github.com/miracle2k/flask-assets">flask-assets</a> - Helps you integrate webassets into your Flask app.</li> <li><a href="https://github.com/miracle2k/webassets">webassets</a> - Bundles, optimizes, and manages unique cache-busting URLs for static resources.</li> </ul> <h2 id="web-content-extracting">Web Content Extracting</h2> <p><em>Libraries for extracting web contents.</em></p> <ul> <li><a href="https://github.com/Alir3z4/html2text">html2text</a> - Convert HTML to Markdown-formatted text.</li> <li><a href="https://github.com/michaelhelmick/lassie">lassie</a> - Web Content Retrieval for Humans.</li> <li><a href="https://github.com/coleifer/micawber">micawber</a> - A small library for extracting rich content from URLs.</li> <li><a href="https://github.com/codelucas/newspaper">newspaper</a> - News extraction, article extraction and content curation in Python.</li> <li><a href="https://github.com/buriy/python-readability">python-readability</a> - Fast Python port of arc90's readability tool.</li> <li><a href="https://github.com/psf/requests-html">requests-html</a> - Pythonic HTML Parsing for Humans.</li> <li><a href="https://github.com/miso-belica/sumy">sumy</a> - A module for automatic summarization of text documents and HTML pages.</li> <li><a href="https://github.com/deanmalmgren/textract">textract</a> - Extract text from any document, Word, PowerPoint, PDFs, etc.</li> <li><a href="https://github.com/gaojiuli/toapi">toapi</a> - Every web site provides APIs.</li> </ul> <h2 id="web-crawling">Web Crawling</h2> <p><em>Libraries to automate web scraping.</em></p> <ul> <li><a href="https://github.com/chineking/cola">cola</a> - A distributed crawling framework.</li> <li><a href="https://pythonhosted.org/feedparser/">feedparser</a> - Universal feed parser.</li> <li><a href="https://github.com/lorien/grab">grab</a> - Site scraping framework.</li> <li><a href="https://github.com/MechanicalSoup/MechanicalSoup">MechanicalSoup</a> - A Python library for automating interaction with websites.</li> <li><a href="https://github.com/binux/pyspider">pyspider</a> - A powerful spider system.</li> <li><a href="https://github.com/jmcarp/robobrowser">robobrowser</a> - A simple, Pythonic library for browsing the web without a standalone web browser.</li> <li><a href="https://scrapy.org/">scrapy</a> - A fast high-level screen scraping and web crawling framework.</li> <li><a href="https://github.com/scrapinghub/portia">portia</a> - Visual scraping for Scrapy.</li> </ul> <h2 id="web-frameworks">Web Frameworks</h2> <p><em>Traditional full stack web frameworks. Also see <a href="https://github.com/vinta/awesome-python#restful-api">RESTful API</a></em></p> <ul> <li>Synchronous<ul> <li><a href="https://www.djangoproject.com/">Django</a> - The most popular web framework in Python.<ul> <li><a href="https://github.com/wsvincent/awesome-django">awesome-django</a></li> <li><a href="https://github.com/shahraizali/awesome-django">awesome-django</a></li> </ul> </li> <li><a href="http://flask.pocoo.org/">Flask</a> - A microframework for Python.<ul> <li><a href="https://github.com/humiaozuzu/awesome-flask">awesome-flask</a></li> </ul> </li> <li><a href="https://pylonsproject.org/">Pyramid</a> - A small, fast, down-to-earth, open source Python web framework.<ul> <li><a href="https://github.com/uralbash/awesome-pyramid">awesome-pyramid</a></li> </ul> </li> <li><a href="https://github.com/MasoniteFramework/masonite">Masonite</a> - The modern and developer centric Python web framework.</li> </ul> </li> <li>Asynchronous<ul> <li><a href="http://www.tornadoweb.org/en/latest/">Tornado</a> - A web framework and asynchronous networking library.</li> </ul> </li> </ul> <h2 id="websocket">WebSocket</h2> <p><em>Libraries for working with WebSocket.</em></p> <ul> <li><a href="https://github.com/crossbario/autobahn-python">autobahn-python</a> - WebSocket & WAMP for Python on Twisted and <a href="https://docs.python.org/3/library/asyncio.html">asyncio</a>.</li> <li><a href="https://github.com/django/channels">channels</a> - Developer-friendly asynchrony for Django.</li> <li><a href="https://github.com/aaugustin/websockets">websockets</a> - A library for building WebSocket servers and clients with a focus on correctness and simplicity.</li> </ul> <h2 id="wsgi-servers">WSGI Servers</h2> <p><em>WSGI-compatible web servers.</em></p> <ul> <li><a href="https://github.com/jonashaag/bjoern">bjoern</a> - Asynchronous, very fast and written in C.</li> <li><a href="https://github.com/benoitc/gunicorn">gunicorn</a> - Pre-forked, partly written in C.</li> <li><a href="https://uwsgi-docs.readthedocs.io/en/latest/">uWSGI</a> - A project aims at developing a full stack for building hosting services, written in C.</li> <li><a href="https://github.com/Pylons/waitress">waitress</a> - Multi-threaded, powers Pyramid.</li> <li><a href="https://github.com/pallets/werkzeug">werkzeug</a> - A WSGI utility library for Python that powers Flask and can easily be embedded into your own projects.</li> </ul> <h1 id="resources">Resources</h1> <p>Where to discover new Python libraries.</p> <h2 id="podcasts">Podcasts</h2> <ul> <li><a href="http://frompythonimportpodcast.com/">From Python Import Podcast</a></li> <li><a href="https://podcastinit.com/">Podcast.init</a></li> <li><a href="https://pythonbytes.fm">Python Bytes</a></li> <li><a href="http://pythontesting.net">Python Testing</a></li> <li><a href="http://radiofreepython.com/">Radio Free Python</a></li> <li><a href="https://talkpython.fm/">Talk Python To Me</a></li> <li><a href="https://testandcode.com/">Test and Code</a></li> <li><a href="https://realpython.com/podcasts/rpp/">The Real Python Podcast</a></li> </ul> <h2 id="twitter">Twitter</h2> <ul> <li><a href="https://twitter.com/codetengu">@codetengu</a></li> <li><a href="https://twitter.com/getpy">@getpy</a></li> <li><a href="https://twitter.com/importpython">@importpython</a></li> <li><a href="https://twitter.com/planetpython">@planetpython</a></li> <li><a href="https://twitter.com/pycoders">@pycoders</a></li> <li><a href="https://twitter.com/pypi">@pypi</a></li> <li><a href="https://twitter.com/pythontrending">@pythontrending</a></li> <li><a href="https://twitter.com/PythonWeekly">@PythonWeekly</a></li> <li><a href="https://twitter.com/talkpython">@TalkPython</a></li> <li><a href="https://twitter.com/realpython">@realpython</a></li> </ul> <h2 id="websites">Websites</h2> <ul> <li><a href="https://www.reddit.com/r/coolgithubprojects/">/r/CoolGithubProjects</a></li> <li><a href="https://www.reddit.com/r/python">/r/Python</a></li> <li><a href="https://python.libhunt.com/">Awesome Python @LibHunt</a></li> <li><a href="https://djangopackages.org/">Django Packages</a></li> <li><a href="https://www.fullstackpython.com/">Full Stack Python</a></li> <li><a href="https://www.pythoncheatsheet.org/">Python Cheatsheet</a></li> <li><a href="https://python.zeef.com/alan.richmond">Python ZEEF</a></li> <li><a href="https://www.ctolib.com/python/">Python 开发社区</a></li> <li><a href="https://realpython.com">Real Python</a></li> <li><a href="https://github.com/trending?l=python">Trending Python repositories on GitHub today</a></li> <li><a href="https://python-scripts.com/">Сообщество Python Программистов</a></li> <li><a href="https://news.python.sc/">Pythonic News</a></li> </ul> <h2 id="weekly">Weekly</h2> <ul> <li><a href="https://weekly.codetengu.com/">CodeTengu Weekly 碼天狗週刊</a></li> <li><a href="http://importpython.com/newsletter/">Import Python Newsletter</a></li> <li><a href="http://pycoders.com/">Pycoder's Weekly</a></li> <li><a href="http://www.pythonweekly.com/">Python Weekly</a></li> <li><a href="https://realpython.com/python-tricks/">Python Tricks</a></li> </ul> <h1 id="contributing">Contributing</h1> <p>Your contributions are always welcome! Please take a look at the <a href="https://github.com/vinta/awesome-python/blob/master/CONTRIBUTING.md">contribution guidelines</a> first.</p> <p>I will keep some pull requests open if I'm not sure whether those libraries are awesome, you could <a href="https://github.com/vinta/awesome-python/pulls">vote for them</a> by adding :+1: to them. Pull requests will be merged when their votes reach <strong>20</strong>.</p> <hr /> <p>If you have any question about this opinionated list, do not hesitate to contact me <a href="https://twitter.com/vinta">@vinta</a> on Twitter or open an issue on GitHub.</p> </article> </div> </div> </main> <footer class="md-footer"> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-footer-copyright"> powered by <a href="https://www.mkdocs.org">MkDocs</a> and <a href="https://squidfunk.github.io/mkdocs-material/"> Material for MkDocs</a> </div> <div class="md-footer-social"> <link rel="stylesheet" href="assets/fonts/font-awesome.css"> <a href="https://github.com/vinta" class="md-footer-social__link fa fa-github"></a> <a href="https://twitter.com/vinta" class="md-footer-social__link fa fa-twitter"></a> <a href="https://www.linkedin.com/in/vinta" class="md-footer-social__link fa fa-linkedin"></a> </div> </div> </div> </footer> </div> <script src="assets/javascripts/application.d9aa80ab.js"></script> <script>app.initialize({version:"1.0.4",url:{base:"."}})</script> </body> </html>