2017-10-26 16:11:40 -04:00
2019-03-02 10:46:42 -05:00
<!doctype html>
2017-10-26 16:11:40 -04:00
< 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" >
2015-06-06 14:44:15 -04:00
< meta name = "description" content = "A curated list of awesome Python frameworks, libraries and software" >
2017-10-26 16:11:40 -04:00
< link rel = "canonical" href = "https://awesome-python.com/" >
2015-06-06 14:44:15 -04:00
< meta name = "author" content = "Vinta Chen" >
2017-10-26 16:11:40 -04:00
< meta name = "lang:clipboard.copy" content = "Copy to clipboard" >
< meta name = "lang:clipboard.copied" content = "Copied to clipboard" >
2019-03-02 10:46:42 -05:00
< meta name = "lang:search.language" content = "en" >
< meta name = "lang:search.pipeline.stopwords" content = "True" >
< meta name = "lang:search.pipeline.trimmer" content = "True" >
2017-10-26 16:11:40 -04:00
< 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\-]+" >
2019-03-02 10:46:42 -05:00
< link rel = "shortcut icon" href = "assets/images/favicon.png" >
< meta name = "generator" content = "mkdocs-1.0.4, mkdocs-material-4.0.2" >
2017-10-26 16:11:40 -04:00
< title > Awesome Python< / title >
2019-03-02 10:46:42 -05:00
< link rel = "stylesheet" href = "assets/stylesheets/application.982221ab.css" >
2017-11-22 12:50:59 -05:00
2019-03-02 10:46:42 -05:00
< link rel = "stylesheet" href = "assets/stylesheets/application-palette.224b79ff.css" >
2017-11-22 12:50:59 -05:00
2017-10-26 16:11:40 -04:00
2017-11-22 12:50:59 -05:00
2019-03-02 10:46:42 -05:00
< meta name = "theme-color" content = "#ef5350" >
< script src = "assets/javascripts/modernizr.1f0bcf2b.js" > < / script >
< link href = "https://fonts.gstatic.com" rel = "preconnect" crossorigin >
2017-10-26 16:11:40 -04:00
< 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 >
2019-03-02 10:46:42 -05:00
< link rel = "stylesheet" href = "assets/fonts/material-icons.css" >
2017-10-26 16:11:40 -04:00
2019-03-02 10:46:42 -05:00
< 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 >
2017-11-22 12:50:59 -05:00
2017-10-26 16:11:40 -04:00
< / head >
2019-03-02 10:46:42 -05:00
< body dir = "ltr" data-md-color-primary = "red" data-md-color-accent = "pink" >
2017-10-26 16:11:40 -04:00
< svg class = "md-svg" >
< defs >
2019-03-02 10:46:42 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< / defs >
< / svg >
2019-03-02 10:46:42 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< 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" >
2019-03-02 10:46:42 -05:00
< i class = "md-icon" > < / i >
2017-10-26 16:11:40 -04:00
< / a >
< / div >
< div class = "md-flex__cell md-flex__cell--shrink" >
2019-03-02 10:46:42 -05:00
< label class = "md-icon md-icon--menu md-header-nav__button" for = "__drawer" > < / label >
2017-10-26 16:11:40 -04:00
< / div >
< div class = "md-flex__cell md-flex__cell--stretch" >
2019-03-02 10:46:42 -05:00
< div class = "md-flex__ellipsis md-header-nav__title" data-md-component = "title" >
2017-10-26 16:11:40 -04:00
2019-03-02 10:46:42 -05:00
< span class = "md-header-nav__topic" >
Awesome Python
< / span >
< span class = "md-header-nav__topic" >
Life is short, you need Python.
< / span >
2017-10-26 16:11:40 -04:00
2019-03-02 10:46:42 -05:00
< / div >
2017-10-26 16:11:40 -04:00
< / div >
< div class = "md-flex__cell md-flex__cell--shrink" >
2019-03-02 10:46:42 -05:00
< label class = "md-icon md-icon--search md-header-nav__button" for = "__search" > < / label >
2017-10-26 16:11:40 -04:00
< div class = "md-search" data-md-component = "search" role = "dialog" >
2019-03-02 10:46:42 -05:00
< label class = "md-search__overlay" for = "__search" > < / label >
< div class = "md-search__inner" role = "search" >
2017-10-26 16:11:40 -04:00
< form class = "md-search__form" name = "search" >
2019-03-02 10:46:42 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< / 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" >
2015-06-06 14:44:15 -04:00
2017-10-26 16:11:40 -04:00
2015-06-06 14:44:15 -04:00
2019-03-02 10:46:42 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< / div >
2019-03-02 10:46:42 -05:00
< div class = "md-source__repository" >
vinta/awesome-python
< / div >
< / a >
2017-10-26 16:11:40 -04:00
< / div >
< / div >
< / div >
< / nav >
< / header >
< div class = "md-container" >
2019-03-02 10:46:42 -05:00
2017-11-22 12:50:59 -05:00
2017-10-26 16:11:40 -04:00
< 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" >
2019-03-02 10:46:42 -05:00
< 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" >
2017-10-26 16:11:40 -04:00
2019-03-02 10:46:42 -05:00
< i class = "md-icon" > < / i >
2017-10-26 16:11:40 -04:00
2019-03-02 10:46:42 -05:00
< / a >
2017-10-26 16:11:40 -04:00
Awesome Python
< / label >
< div class = "md-nav__source" >
2015-06-06 14:44:15 -04:00
2017-10-26 16:11:40 -04:00
2015-06-06 14:44:15 -04:00
2019-03-02 10:46:42 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< / div >
2019-03-02 10:46:42 -05:00
< div class = "md-source__repository" >
vinta/awesome-python
< / div >
< / a >
2015-06-06 14:44:15 -04:00
< / div >
2017-10-26 16:11:40 -04:00
< ul class = "md-nav__list" data-md-scrollfix >
2015-06-06 14:44:15 -04:00
2017-10-26 16:11:40 -04:00
< li class = "md-nav__item md-nav__item--active" >
2015-06-06 14:44:15 -04:00
2019-03-02 10:46:42 -05:00
< input class = "md-toggle md-nav__toggle" data-md-toggle = "toc" type = "checkbox" id = "__toc" >
2015-06-06 14:44:15 -04:00
2017-10-26 16:11:40 -04:00
2015-09-04 10:42:56 -04:00
2015-06-06 14:44:15 -04:00
2019-03-02 10:46:42 -05:00
< label class = "md-nav__link md-nav__link--active" for = "__toc" >
2017-10-26 16:11:40 -04:00
Life is short, you need Python.
< / label >
2015-06-06 14:44:15 -04:00
2017-10-26 16:11:40 -04:00
< 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" >
2015-06-06 14:44:15 -04:00
2017-10-26 16:11:40 -04:00
2019-03-02 10:46:42 -05:00
< label class = "md-nav__title" for = "__toc" > Table of contents< / label >
2017-10-26 16:11:40 -04:00
< 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 >
2019-12-15 10:54:44 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#asgi-servers" title = "ASGI Servers" class = "md-nav__link" >
ASGI Servers
< / a >
2019-11-04 06:57:59 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#asynchronous-programming" title = "Asynchronous Programming" class = "md-nav__link" >
Asynchronous Programming
< / a >
2017-10-26 16:11:40 -04:00
< / 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 >
2018-02-28 03:44:58 -05:00
< / 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 >
2017-10-26 16:11:40 -04:00
< / 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" >
2018-02-28 03:44:58 -05:00
< a href = "#code-analysis" title = "Code Analysis" class = "md-nav__link" >
Code Analysis
2017-10-26 16:11:40 -04:00
< / a >
2019-05-25 06:15:11 -04:00
< / 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 >
2017-10-26 16:11:40 -04:00
< / 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 >
2019-03-03 03:17:40 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#distributed-computing" title = "Distributed Computing" class = "md-nav__link" >
Distributed Computing
< / a >
2017-10-26 16:11:40 -04:00
< / 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" >
2019-05-25 06:09:40 -04:00
< a href = "#gui-development" title = "GUI Development" class = "md-nav__link" >
GUI Development
2017-10-26 16:11:40 -04:00
< / a >
2019-12-15 11:00:24 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#graphql" title = "GraphQL" class = "md-nav__link" >
GraphQL
< / a >
2017-10-26 16:11:40 -04:00
< / 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" >
2019-05-25 06:08:09 -04:00
< a href = "#http-clients" title = "HTTP Clients" class = "md-nav__link" >
HTTP Clients
2017-10-26 16:11:40 -04:00
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#hardware" title = "Hardware" class = "md-nav__link" >
Hardware
< / a >
< / li >
< li class = "md-nav__item" >
2018-02-28 03:44:58 -05:00
< a href = "#image-processing" title = "Image Processing" class = "md-nav__link" >
Image Processing
2017-10-26 16:11:40 -04:00
< / 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 >
2019-12-15 11:01:54 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#refactoring" title = "Refactoring" class = "md-nav__link" >
Refactoring
< / a >
2017-10-26 16:11:40 -04:00
< / li >
< li class = "md-nav__item" >
< a href = "#restful-api" title = "RESTful API" class = "md-nav__link" >
RESTful API
< / a >
2019-03-02 10:46:42 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#robotics" title = "Robotics" class = "md-nav__link" >
Robotics
< / a >
2017-10-26 16:11:40 -04:00
< / 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 >
2019-11-04 06:57:59 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#task-queues" title = "Task Queues" class = "md-nav__link" >
Task Queues
< / a >
2017-10-26 16:11:40 -04:00
< / 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 >
2019-03-02 11:37:13 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#web-asset-management" title = "Web Asset Management" class = "md-nav__link" >
Web Asset Management
< / a >
2017-10-26 16:11:40 -04:00
< / 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" >
2019-05-25 06:05:43 -04:00
< a href = "#web-crawling" title = "Web Crawling" class = "md-nav__link" >
Web Crawling
2017-10-26 16:11:40 -04:00
< / 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 >
2019-11-04 06:57:59 -05:00
< li class = "md-nav__item" >
< a href = "#wsgi-servers" title = "WSGI Servers" class = "md-nav__link" >
WSGI Servers
< / a >
< / li >
2017-10-26 16:11:40 -04:00
2019-03-02 10:46:42 -05:00
2015-06-06 14:44:15 -04:00
< / ul >
2017-10-26 16:11:40 -04:00
< / nav >
< / li >
2015-06-06 14:44:15 -04:00
2017-10-26 16:11:40 -04:00
< / 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" >
2019-03-02 10:46:42 -05:00
< label class = "md-nav__title" for = "__toc" > Table of contents< / label >
2017-10-26 16:11:40 -04:00
< 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 >
2019-12-15 10:54:44 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#asgi-servers" title = "ASGI Servers" class = "md-nav__link" >
ASGI Servers
< / a >
2019-11-04 06:57:59 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#asynchronous-programming" title = "Asynchronous Programming" class = "md-nav__link" >
Asynchronous Programming
< / a >
2017-10-26 16:11:40 -04:00
< / 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 >
2018-02-28 03:44:58 -05:00
< / 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 >
2017-10-26 16:11:40 -04:00
< / 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" >
2018-02-28 03:44:58 -05:00
< a href = "#code-analysis" title = "Code Analysis" class = "md-nav__link" >
Code Analysis
2017-10-26 16:11:40 -04:00
< / a >
2019-05-25 06:15:11 -04:00
< / 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 >
2017-10-26 16:11:40 -04:00
< / 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 >
2019-03-03 03:17:40 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#distributed-computing" title = "Distributed Computing" class = "md-nav__link" >
Distributed Computing
< / a >
2017-10-26 16:11:40 -04:00
< / 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" >
2019-05-25 06:09:40 -04:00
< a href = "#gui-development" title = "GUI Development" class = "md-nav__link" >
GUI Development
2017-10-26 16:11:40 -04:00
< / a >
2019-12-15 11:00:24 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#graphql" title = "GraphQL" class = "md-nav__link" >
GraphQL
< / a >
2017-10-26 16:11:40 -04:00
< / 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" >
2019-05-25 06:08:09 -04:00
< a href = "#http-clients" title = "HTTP Clients" class = "md-nav__link" >
HTTP Clients
2017-10-26 16:11:40 -04:00
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#hardware" title = "Hardware" class = "md-nav__link" >
Hardware
< / a >
< / li >
< li class = "md-nav__item" >
2018-02-28 03:44:58 -05:00
< a href = "#image-processing" title = "Image Processing" class = "md-nav__link" >
Image Processing
2017-10-26 16:11:40 -04:00
< / 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 >
2019-12-15 11:01:54 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#refactoring" title = "Refactoring" class = "md-nav__link" >
Refactoring
< / a >
2017-10-26 16:11:40 -04:00
< / li >
< li class = "md-nav__item" >
< a href = "#restful-api" title = "RESTful API" class = "md-nav__link" >
RESTful API
< / a >
2019-03-02 10:46:42 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#robotics" title = "Robotics" class = "md-nav__link" >
Robotics
< / a >
2017-10-26 16:11:40 -04:00
< / 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 >
2019-11-04 06:57:59 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#task-queues" title = "Task Queues" class = "md-nav__link" >
Task Queues
< / a >
2017-10-26 16:11:40 -04:00
< / 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 >
2019-03-02 11:37:13 -05:00
< / li >
< li class = "md-nav__item" >
< a href = "#web-asset-management" title = "Web Asset Management" class = "md-nav__link" >
Web Asset Management
< / a >
2017-10-26 16:11:40 -04:00
< / 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" >
2019-05-25 06:05:43 -04:00
< a href = "#web-crawling" title = "Web Crawling" class = "md-nav__link" >
Web Crawling
2017-10-26 16:11:40 -04:00
< / 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 >
2019-11-04 06:57:59 -05:00
< li class = "md-nav__item" >
< a href = "#wsgi-servers" title = "WSGI Servers" class = "md-nav__link" >
WSGI Servers
< / a >
< / li >
2017-10-26 16:11:40 -04:00
2019-03-02 10:46:42 -05:00
2017-10-26 16:11:40 -04:00
< / ul >
< / nav >
< / div >
< / div >
< / div >
< div class = "md-content" >
< article class = "md-content__inner md-typeset" >
2019-03-02 10:46:42 -05:00
< a href = "https://github.com/vinta/awesome-python/edit/master/docs/index.md" title = "Edit this page" class = "md-icon md-content__icon" >  < / a >
2017-10-26 16:11:40 -04:00
< 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 >
2016-05-25 03:59:05 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
< ul >
< li > < a href = "#awesome-python" > Awesome Python< / a > < ul >
2016-11-13 13:05:20 -05:00
< li > < a href = "#admin-panels" > Admin Panels< / a > < / li >
< li > < a href = "#algorithms-and-design-patterns" > Algorithms and Design Patterns< / a > < / li >
2019-12-15 10:54:44 -05:00
< li > < a href = "#asgi-servers" > ASGI Servers< / a > < / li >
2019-11-04 06:57:59 -05:00
< li > < a href = "#asynchronous-programming" > Asynchronous Programming< / a > < / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "#audio" > Audio< / a > < / li >
< li > < a href = "#authentication" > Authentication< / a > < / li >
2015-06-06 14:44:15 -04:00
< li > < a href = "#build-tools" > Build Tools< / a > < / li >
2018-02-28 03:44:58 -05:00
< li > < a href = "#built-in-classes-enhancement" > Built-in Classes Enhancement< / a > < / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "#caching" > Caching< / a > < / li >
< li > < a href = "#chatops-tools" > ChatOps Tools< / a > < / li >
< li > < a href = "#cms" > CMS< / a > < / li >
2018-02-28 03:44:58 -05:00
< li > < a href = "#code-analysis" > Code Analysis< / a > < / li >
2019-05-25 06:15:45 -04:00
< li > < a href = "#command-line-interface-development" > Command-line Interface Development< / a > < / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 02:03:58 -04:00
< li > < a href = "#database-drivers" > Database Drivers< / a > < / li >
2019-11-04 06:57:59 -05:00
< li > < a href = "#database" > Database< / a > < / li >
2015-06-06 14:44:15 -04:00
< li > < a href = "#date-and-time" > Date and Time< / a > < / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 03:17:40 -05:00
< li > < a href = "#distributed-computing" > Distributed Computing< / a > < / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "#distribution" > Distribution< / a > < / li >
2015-06-06 14:44:15 -04:00
< li > < a href = "#documentation" > Documentation< / a > < / li >
< li > < a href = "#downloader" > Downloader< / a > < / li >
2016-11-13 13:05:20 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< li > < a href = "#geolocation" > Geolocation< / a > < / li >
2019-05-25 06:09:40 -04:00
< li > < a href = "#gui-development" > GUI Development< / a > < / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "#hardware" > Hardware< / a > < / li >
< li > < a href = "#html-manipulation" > HTML Manipulation< / a > < / li >
2019-05-25 06:08:09 -04:00
< li > < a href = "#http-clients" > HTTP Clients< / a > < / li >
2018-02-28 03:44:58 -05:00
< li > < a href = "#image-processing" > Image Processing< / a > < / li >
2017-04-24 09:06:13 -04:00
< li > < a href = "#implementations" > Implementations< / a > < / li >
2016-11-13 13:05:20 -05:00
< 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 >
2017-04-24 09:06:13 -04:00
< li > < a href = "#network-virtualization" > Network Virtualization< / a > < / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "#news-feed" > News Feed< / a > < / li >
2015-06-06 14:44:15 -04:00
< li > < a href = "#orm" > ORM< / a > < / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "#package-management" > Package Management< / a > < / li >
< li > < a href = "#package-repositories" > Package Repositories< / a > < / li >
2015-06-06 14:44:15 -04:00
< li > < a href = "#permissions" > Permissions< / a > < / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "#processes" > Processes< / a > < / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "#recommender-systems" > Recommender Systems< / a > < / li >
2019-12-15 11:01:54 -05:00
< li > < a href = "#refactoring" > Refactoring< / a > < / li >
2015-06-06 14:44:15 -04:00
< li > < a href = "#restful-api" > RESTful API< / a > < / li >
2019-03-02 10:46:42 -05:00
< li > < a href = "#robotics" > Robotics< / a > < / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "#rpc-servers" > RPC Servers< / a > < / li >
< li > < a href = "#science" > Science< / a > < / li >
< li > < a href = "#search" > Search< / a > < / li >
2016-03-13 10:21:31 -04:00
< li > < a href = "#serialization" > Serialization< / a > < / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-11-04 06:57:59 -05:00
< li > < a href = "#task-queues" > Task Queues< / a > < / li >
2015-06-06 14:44:15 -04:00
< li > < a href = "#template-engine" > Template Engine< / a > < / li >
2016-11-13 13:05:20 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< li > < a href = "#url-manipulation" > URL Manipulation< / a > < / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "#video" > Video< / a > < / li >
2019-03-02 11:37:13 -05:00
< li > < a href = "#web-asset-management" > Web Asset Management< / a > < / li >
2015-06-06 14:44:15 -04:00
< li > < a href = "#web-content-extracting" > Web Content Extracting< / a > < / li >
2019-05-25 06:05:43 -04:00
< li > < a href = "#web-crawling" > Web Crawling< / a > < / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "#web-frameworks" > Web Frameworks< / a > < / li >
2015-06-06 14:44:15 -04:00
< li > < a href = "#websocket" > WebSocket< / a > < / li >
< li > < a href = "#wsgi-servers" > WSGI Servers< / a > < / li >
2015-09-04 10:42:56 -04:00
< / ul >
< / li >
2015-06-06 14:44:15 -04:00
< li > < a href = "#resources" > Resources< / a > < ul >
2016-11-13 13:05:20 -05:00
< li > < a href = "#podcasts" > Podcasts< / a > < / li >
< li > < a href = "#twitter" > Twitter< / a > < / li >
2015-06-06 14:44:15 -04:00
< 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 / >
2016-11-13 13:05:20 -05:00
< h2 id = "admin-panels" > Admin Panels< / h2 >
< p > < em > Libraries for administrative interfaces.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://github.com/ajenti/ajenti" > ajenti< / a > - The admin panel your servers deserve.< / li >
2019-05-25 05:48:40 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/sshwsfc/xadmin" > django-xadmin< / a > - Drop-in replacement of Django admin comes with lots of goodies.< / li >
2019-10-17 10:52:00 -04:00
< 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 >
2019-05-25 05:48:40 -04:00
< li > < a href = "https://github.com/flask-admin/flask-admin" > flask-admin< / a > - Simple and extensible administrative interface framework for Flask.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/mher/flower" > flower< / a > - Real-time monitor and web admin for Celery.< / li >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://github.com/wooey/wooey" > wooey< / a > - A Django app which creates automatic web UIs for Python scripts.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "algorithms-and-design-patterns" > Algorithms and Design Patterns< / h2 >
< p > < em > Python implementation of algorithms and design patterns.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2018-08-04 05:57:11 -04:00
< li > < a href = "https://github.com/keon/algorithms" > algorithms< / a > - Minimal examples of data structures and algorithms in Python.< / li >
2017-04-24 09:06:13 -04:00
< li > < a href = "https://github.com/tylerlaberge/PyPattyrn" > PyPattyrn< / a > - A simple yet effective library for implementing common design patterns.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/faif/python-patterns" > python-patterns< / a > - A collection of design patterns in Python.< / li >
2019-05-25 05:48:40 -04:00
< li > < a href = "https://github.com/grantjenks/python-sortedcontainers" > sortedcontainers< / a > - Fast, pure-Python implementation of SortedList, SortedDict, and SortedSet types.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2019-12-15 10:54:44 -05:00
< 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 >
2019-11-04 06:57:59 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< h2 id = "audio" > Audio< / h2 >
2019-03-02 11:37:13 -05:00
< p > < em > Libraries for manipulating audio and its metadata.< / em > < / p >
2016-11-13 13:05:20 -05:00
< ul >
2019-03-02 11:37:13 -05:00
< li > Audio< ul >
2016-11-13 13:05:20 -05:00
< 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 = "http://bspaans.github.io/python-mingus/" > mingus< / a > - An advanced music theory and notation package with MIDI file and playback support.< / li >
2019-05-25 01:23:55 -04:00
< li > < a href = "https://github.com/tyiannak/pyAudioAnalysis" > pyAudioAnalysis< / a > - Audio feature extraction, classification, segmentation and applications.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-02 11:37:13 -05:00
< / 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2019-03-02 11:37:13 -05:00
< / li >
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "authentication" > Authentication< / h2 >
< p > < em > Libraries for implementing authentications schemes.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< li > OAuth< ul >
2019-03-02 11:37:13 -05:00
< li > < a href = "https://github.com/lepture/authlib" > authlib< / a > - JavaScript Object Signing and Encryption draft implementation.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/pennersr/django-allauth" > django-allauth< / a > - Authentication app for Django that "just works."< / li >
2017-04-24 09:06:13 -04:00
< li > < a href = "https://github.com/evonove/django-oauth-toolkit" > django-oauth-toolkit< / a > - OAuth 2 goodies for Django.< / li >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://github.com/idan/oauthlib" > oauthlib< / a > - A generic and thorough implementation of the OAuth request-signing logic.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 03:58:38 -05:00
< li > JWT< ul >
2019-03-03 04:01:29 -05:00
< li > < a href = "https://github.com/jpadilla/pyjwt" > pyjwt< / a > - JSON Web Token implementation in Python.< / li >
2019-03-02 11:37:13 -05:00
< li > < a href = "https://github.com/mpdavis/python-jose/" > python-jose< / a > - A JOSE implementation in Python.< / li >
2019-03-03 04:01:29 -05:00
< li > < a href = "https://github.com/davedoesdev/python-jwt" > python-jwt< / a > - A module for generating and verifying JSON Web Tokens.< / li >
2016-11-13 13:05:20 -05:00
< / ul >
< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< h2 id = "build-tools" > Build Tools< / h2 >
< p > < em > Compile software from source code.< / em > < / p >
< ul >
2015-08-31 14:06:37 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< li > < a href = "http://www.buildout.org/en/latest/" > buildout< / a > - A build system for creating, assembling and deploying applications from multiple parts.< / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://github.com/platformio/platformio-core" > PlatformIO< / a > - A console tool to build code with different development platforms.< / li >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://github.com/pybuilder/pybuilder" > pybuilder< / a > - A continuous build tool written in pure Python.< / li >
2015-08-14 14:36:01 -04:00
< li > < a href = "http://www.scons.org/" > SCons< / a > - A software construction tool.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2018-02-28 03:44:58 -05:00
< h2 id = "built-in-classes-enhancement" > Built-in Classes Enhancement< / h2 >
< p > < em > Libraries for enhancing Python built-in classes.< / em > < / p >
< ul >
2019-03-03 04:01:29 -05:00
< li > < a href = "https://docs.python.org/3/library/dataclasses.html" > dataclasses< / a > - (Python standard library) Data classes.< / li >
2018-02-28 03:44:58 -05:00
< 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 >
2019-03-03 03:57:48 -05:00
< 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 >
2018-02-28 03:44:58 -05:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "cms" > CMS< / h2 >
< p > < em > Content Management Systems.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://wagtail.io/" > wagtail< / a > - A Django content management system.< / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://www.django-cms.org/en/" > django-cms< / a > - An Open source enterprise CMS based on the Django.< / li >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://github.com/feincms/feincms" > feincms< / a > - One of the most advanced Content Management Systems built on Django.< / li >
2019-03-02 11:37:13 -05:00
< li > < a href = "https://github.com/Kotti/Kotti" > Kotti< / a > - A high-level, Pythonic web application framework built on Pyramid.< / li >
2019-03-03 03:57:48 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "caching" > Caching< / h2 >
< p > < em > Libraries for caching data.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/bbangert/beaker" > beaker< / a > - A WSGI middleware for sessions and caching.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< 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 >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://pypi.org/project/HermesCache/" > HermesCache< / a > - Python caching library with tag-based invalidation and dogpile effect prevention.< / li >
2019-03-03 05:49:07 -05:00
< 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 >
2019-03-03 03:57:48 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "chatops-tools" > ChatOps Tools< / h2 >
< p > < em > Libraries for chatbot development.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/errbotio/errbot/" > errbot< / a > - The easiest and most popular chatbot to implement ChatOps.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2018-02-28 03:44:58 -05:00
< h2 id = "code-analysis" > Code Analysis< / h2 >
2019-05-25 06:10:55 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< li > Code Analysis< ul >
2019-03-03 03:17:40 -05:00
< li > < a href = "https://github.com/coala/coala/" > coala< / a > - Language independent and easily extendable code analysis application.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/scottrogowski/code2flow" > code2flow< / a > - Turn your Python and JavaScript code into DOT flowcharts.< / li >
2019-03-03 03:17:40 -05:00
< li > < a href = "https://github.com/PyCQA/prospector" > prospector< / a > - A tool to analyse Python code.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/gak/pycallgraph" > pycallgraph< / a > - A library that visualises the flow (call graph) of your Python application.< / li >
2019-12-21 02:23:02 -05:00
< li > < a href = "https://github.com/jendrikseipp/vulture" > vulture< / a > - A tool for finding and analysing dead Python code.< / li >
2019-03-03 03:17:40 -05:00
< / ul >
< / li >
< li > Code Linters< ul >
2019-09-03 02:12:32 -04:00
< 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 >
2018-02-28 03:44:58 -05:00
< li > < a href = "https://www.pylint.org/" > pylint< / a > - A fully customizable source code analyzer.< / li >
2019-05-25 09:24:30 -04:00
< li > < a href = "https://github.com/klen/pylama" > pylama< / a > - A code audit tool for Python and JavaScript.< / li >
2019-10-03 12:13:21 -04:00
< li > < a href = "https://github.com/wemake-services/wemake-python-styleguide" > wemake-python-styleguide< / a > - The strictest and most opinionated python linter ever.< / li >
2019-05-25 09:24:30 -04:00
< / ul >
< / li >
< li > Code Formatters< ul >
2019-05-25 09:22:08 -04:00
< li > < a href = "https://github.com/python/black" > black< / a > - The uncompromising Python code formatter.< / li >
2019-03-03 03:17:40 -05:00
< li > < a href = "https://github.com/google/yapf" > yapf< / a > - Yet another Python code formatter from Google.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2019-09-15 23:33:15 -04:00
< li > Static Type Checkers, also see < a href = "https://github.com/typeddjango/awesome-python-typing" > awesome-python-typing< / a > < ul >
2018-02-28 03:44:58 -05:00
< li > < a href = "http://mypy-lang.org/" > mypy< / a > - Check variable types during compile time.< / li >
2020-01-13 10:23:56 -05:00
< li > < a href = "https://github.com/python/typeshed" > typeshed< / a > - Collection of library stubs for Python, with static types.< / li >
2019-03-03 03:17:40 -05:00
< li > < a href = "https://github.com/facebook/pyre-check" > pyre-check< / a > - Performant type checking.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2018-02-28 03:44:58 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< / ul >
< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2019-05-25 06:15:11 -04:00
< h2 id = "command-line-interface-development" > Command-line Interface Development< / h2 >
2019-05-27 07:58:16 -04:00
< p > < em > Libraries for building command-line applications.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://docs.openstack.org/developer/cliff/" > cliff< / a > - A framework for creating command-line programs with multi-level commands.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "http://docopt.org/" > docopt< / a > - Pythonic command line arguments parser.< / li >
2019-03-03 03:57:48 -05:00
< 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 >
2018-08-04 05:57:11 -04:00
< 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 >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://pypi.org/project/colorama/" > colorama< / a > - Cross-platform colored terminal text.< / li >
2019-05-27 08:31:32 -04:00
< li > < a href = "https://github.com/tqdm/tqdm" > tqdm< / a > - Fast, extensible progress bar for loops and CLI.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2019-05-25 06:15:11 -04:00
< / ul >
< h2 id = "command-line-tools" > Command-line Tools< / h2 >
< p > < em > Useful CLI-based tools for productivity.< / em > < / p >
< ul >
2016-11-13 13:05:20 -05:00
< 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/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 >
2018-04-10 14:05:44 -04:00
< li > < a href = "https://github.com/tony/tmuxp" > tmuxp< / a > - A < a href = "https://github.com/tmux/tmux" > tmux< / a > session manager.< / li >
2018-08-04 05:57:11 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2019-03-03 03:57:48 -05:00
< 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 > - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.< / li >
< li > < a href = "https://github.com/dbcli/pgcli" > pgcli< / a > - Postgres 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 >
2016-11-13 13:05:20 -05:00
< / ul >
< h2 id = "compatibility" > Compatibility< / h2 >
< p > < em > Libraries for migrating from Python 2 to 3.< / em > < / p >
< ul >
2019-03-03 03:57:48 -05:00
< 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 >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://pypi.org/project/six/" > six< / a > - Python 2 and 3 compatibility utilities.< / li >
2016-11-13 13:05:20 -05:00
< / ul >
< h2 id = "computer-vision" > Computer Vision< / h2 >
< p > < em > Libraries for computer vision.< / em > < / p >
< ul >
2019-12-15 10:46:40 -05:00
< li > < a href = "https://github.com/kornia/kornia/" > Kornia< / a > - Open Source Differentiable Computer Vision Library for PyTorch.< / li >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://opencv.org/" > OpenCV< / a > - Open Source Computer Vision Library.< / li >
2016-11-13 13:05:20 -05:00
< 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 = "http://simplecv.org/" > SimpleCV< / a > - An open source framework for building computer vision applications.< / li >
< / ul >
< h2 id = "concurrency-and-parallelism" > Concurrency and Parallelism< / h2 >
2019-05-25 06:10:55 -04:00
< p > < em > Libraries for concurrent and parallel execution. Also see < a href = "https://github.com/timofurrer/awesome-asyncio" > awesome-asyncio< / a > .< / em > < / p >
2016-11-13 13:05:20 -05:00
< ul >
2019-03-03 03:57:48 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 03:57:48 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< / ul >
< h2 id = "configuration" > Configuration< / h2 >
< p > < em > Libraries for storing and parsing configuration options.< / em > < / p >
< ul >
2019-03-03 03:57:48 -05:00
< 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/default/" > profig< / a > - Config from multiple formats with value conversion.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 01:23:55 -04:00
< li > < a href = "https://github.com/paramiko/paramiko" > paramiko< / a > - The leading native Python SSHv2 protocol library.< / li >
2019-03-03 03:57:48 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< / 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 >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://orange.biolab.si/" > Orange< / a > - Data mining, data visualization, analysis and machine learning through visual programming or scripts.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "http://pandas.pydata.org/" > Pandas< / a > - A library providing high-performance, easy-to-use data structures and data analysis tools.< / li >
2019-05-25 01:23:55 -04:00
< li > < a href = "https://github.com/ironmussa/Optimus" > Optimus< / a > - Agile Data Science Workflows made easy with PySpark.< / li >
2016-11-13 13:05:20 -05:00
< / ul >
< h2 id = "data-validation" > Data Validation< / h2 >
< p > < em > Libraries for validating data. Used for forms in many cases.< / em > < / p >
< ul >
2017-10-26 16:11:40 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 06:10:55 -04:00
< p > < em > Libraries for visualizing data. Also see < a href = "https://github.com/sorrycc/awesome-javascript#data-visualization" > awesome-javascript< / a > .< / em > < / p >
2016-11-13 13:05:20 -05:00
< 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 >
2018-02-28 03:44:58 -05:00
< li > < a href = "https://github.com/bloomberg/bqplot" > bqplot< / a > - Interactive Plotting Library for the Jupyter Notebook< / li >
2019-05-27 08:31:32 -04:00
< 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 >
2019-08-07 11:39:09 -04:00
< li > < a href = "https://github.com/has2k1/plotnine" > plotnine< / a > - A grammar of graphics for Python based on ggplot2.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://pypi.org/project/pygraphviz/" > PyGraphviz< / a > - Python interface to < a href = "http://www.graphviz.org/" > Graphviz< / a > .< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 03:57:48 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< / 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 >
2018-04-10 14:05:44 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2018-04-10 14:05:44 -04:00
< li > PostgreSQL - < a href = "https://github.com/dhamaniasad/awesome-postgres" > awesome-postgres< / a > < ul >
2016-11-13 13:05:20 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2016-11-13 13:05:20 -05:00
< li > Other Relational Databases< ul >
< li > < a href = "http://www.pymssql.org/en/latest/" > pymssql< / a > - A simple database interface to Microsoft SQL Server.< / li >
2019-11-03 11:33:35 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2016-11-13 13:05:20 -05:00
< li > NoSQL Databases< ul >
2018-08-04 07:32:35 -04:00
< li > < a href = "https://github.com/datastax/python-driver" > cassandra-driver< / a > - The Python Driver for Apache Cassandra.< / li >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://github.com/wbolster/happybase" > happybase< / a > - A developer-friendly library for Apache HBase.< / li >
2018-08-04 07:32:35 -04:00
< li > < a href = "https://github.com/dpkp/kafka-python" > kafka-python< / a > - The Python client for Apache Kafka.< / li >
2019-11-03 11:36:52 -05:00
< li > < a href = "https://py2neo.org/" > py2neo< / a > - A client library and toolkit for working with Neo4j.< / li >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://github.com/mongodb/mongo-python-driver" > pymongo< / a > - The official Python client for MongoDB.< / li >
2018-08-04 07:32:35 -04:00
< li > < a href = "https://github.com/andymccurdy/redis-py" > redis-py< / a > - The Python client for Redis.< / li >
< / ul >
< / li >
< li > Asynchronous Clients< ul >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://github.com/mongodb/motor" > motor< / a > - The async Python driver for MongoDB.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2016-11-13 13:05:20 -05:00
< / 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://github.com/KoffeinFlummi/Chronyk" > Chronyk< / a > - A Python 3 library for parsing human-written times and dates.< / li >
2018-04-10 14:05:44 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-09-03 02:12:32 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2020-01-13 10:26:33 -05:00
< li > < a href = "https://github.com/timofurrer/maya" > maya< / a > - Datetimes for Humans.< / li >
2016-11-13 13:05:20 -05:00
< / ul >
< h2 id = "debugging-tools" > Debugging Tools< / h2 >
< p > < em > Libraries for debugging code.< / em > < / p >
< ul >
2017-04-24 09:06:13 -04:00
< li > pdb-like Debugger< ul >
2019-03-03 05:49:07 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/Kozea/wdb" > wdb< / a > - An improbable web debugger through WebSockets.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2019-03-03 05:49:07 -05:00
< 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 >
2019-05-25 01:23:55 -04:00
< 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 >
2019-03-03 05:49:07 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-02 10:46:42 -05:00
< li > < a href = "https://github.com/benfred/py-spy" > py-spy< / a > - A sampling profiler for Python programs. Written in Rust.< / li >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/uber/pyflame" > pyflame< / a > - A ptracing profiler For Python.< / li >
2017-04-24 09:06:13 -04:00
< li > < a href = "https://github.com/nvdv/vprof" > vprof< / a > - Visual Python profiler.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< / li >
< li > Others< ul >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/gruns/icecream" > icecream< / a > - Inspect variables, expressions, and program execution with a single, simple function call.< / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://github.com/jazzband/django-debug-toolbar" > django-debug-toolbar< / a > - Display various debug information for Django.< / li >
2017-04-24 09:06:13 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 06:10:55 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
< ul >
2019-03-03 05:49:07 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 05:49:07 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/sebastien/cuisine" > cuisine< / a > - Chef-like functionality for Fabric.< / li >
2019-03-03 05:49:07 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://www.openstack.org/" > OpenStack< / a > - Open source software for building private and public clouds.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/saltstack/salt" > saltstack< / a > - Infrastructure automation and management system.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/Supervisor/supervisor" > supervisor< / a > - Supervisor process control system for UNIX.< / li >
< / ul >
2019-03-03 03:17:40 -05:00
< h2 id = "distributed-computing" > Distributed Computing< / h2 >
< p > < em > Frameworks and libraries for Distributed Computing.< / em > < / p >
< ul >
< li > Batch Processing< ul >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://pypi.org/project/pyspark/" > PySpark< / a > - < a href = "https://spark.apache.org/" > Apache Spark< / a > Python API.< / li >
2019-03-03 03:17:40 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< li > < a href = "http://pynsist.readthedocs.io/en/latest/" > pynsist< / a > - A tool to build Windows installers, installers bundle Python itself.< / li >
2020-04-07 08:07:01 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
< h2 id = "documentation" > Documentation< / h2 >
< p > < em > Libraries for generating project documentation.< / em > < / p >
< ul >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/sphinx-doc/sphinx/" > sphinx< / a > - Python Documentation generator.< ul >
2015-06-06 14:44:15 -04:00
< li > < a href = "https://github.com/yoloseem/awesome-sphinxdoc" > awesome-sphinxdoc< / a > < / li >
< / ul >
< / li >
2019-03-03 05:49:07 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "downloader" > Downloader< / h2 >
< p > < em > Libraries for downloading.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 05:49:07 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "e-commerce" > E-commerce< / h2 >
< p > < em > Frameworks and libraries for e-commerce and payments.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 01:23:55 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/Alir3z4/python-currencies" > python-currencies< / a > - Display money format and its filthy currencies.< / li >
2017-04-24 09:06:13 -04:00
< li > < a href = "https://github.com/MicroPyramid/forex-python" > forex-python< / a > - Foreign exchange rates, Bitcoin price index and currency conversion.< / li >
2017-11-22 12:45:09 -05:00
< li > < a href = "http://getsaleor.com/" > saleor< / a > - An e-commerce storefront for Django.< / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://www.shuup.com/en/" > shoop< / a > - An open source E-Commerce platform based on Django.< / li >
2016-11-13 13:05:20 -05:00
< / ul >
< h2 id = "editor-plugins-and-ides" > Editor Plugins and IDEs< / h2 >
< ul >
< li > Emacs< ul >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/jorgenschaefer/elpy" > elpy< / a > - Emacs Python Development Environment.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2016-11-13 13:05:20 -05:00
< li > Sublime Text< ul >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/DamnWidget/anaconda" > anaconda< / a > - Anaconda turns your Sublime Text 3 in a full featured Python development IDE.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 05:49:07 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 01:23:55 -04:00
< li > < a href = "https://marketplace.visualstudio.com/items?itemName=ms-python.python" > Python< / a > - The official VSCode extension with rich support for Python.< / li >
2016-11-13 13:05:20 -05:00
< / 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 >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/spyder-ide/spyder" > spyder< / a > - Open Source Python IDE.< / li >
2016-11-13 13:05:20 -05:00
< / ul >
< / li >
< / ul >
< h2 id = "email" > Email< / h2 >
< p > < em > Libraries for sending and parsing email.< / em > < / p >
< ul >
2020-01-13 10:39:00 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2020-01-13 10:39:00 -05:00
< / 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 >
2016-11-13 13:05:20 -05:00
< h2 id = "environment-management" > Environment Management< / h2 >
2019-05-25 01:07:55 -04:00
< p > < em > Libraries for Python version and virtual environment management.< / em > < / p >
2016-11-13 13:05:20 -05:00
< ul >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://github.com/pyenv/pyenv" > pyenv< / a > - Simple Python version management.< / li >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://github.com/pypa/virtualenv" > virtualenv< / a > - A tool to create isolated Python environments.< / li >
2016-11-13 13:05:20 -05:00
< / ul >
< h2 id = "files" > Files< / h2 >
< p > < em > Libraries for file manipulation and MIME type detection.< / em > < / p >
< ul >
2018-04-10 14:05:44 -04:00
< 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 >
2018-08-12 12:57:44 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://pypi.org/project/cffi/" > cffi< / a > - Foreign Function Interface for Python calling C code.< / li >
2018-04-10 14:05:44 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-04-04 06:33:44 -04:00
< li > < a href = "https://github.com/zostera/django-bootstrap4" > django-bootstrap4< / a > - Bootstrap 4 integration with Django.< / li >
2017-10-26 16:11:40 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-02 10:46:42 -05:00
< li > < a href = "http://coconut-lang.org/" > Coconut< / a > - Coconut is a variant of Python built for simple, elegant, Pythonic functional programming.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/pytoolz/cytoolz/" > CyToolz< / a > - Cython implementation of Toolz: High performance functional utilities.< / 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/pytoolz/toolz" > Toolz< / a > - A collection of functional utilities for iterators, functions, and dictionaries.< / li >
< / ul >
2019-05-25 06:09:40 -04:00
< h2 id = "gui-development" > GUI Development< / h2 >
2016-11-13 13:05:20 -05:00
< p > < em > Libraries for working with graphical user interface applications.< / em > < / p >
< ul >
2018-04-10 14:05:44 -04:00
< 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 >
2019-05-25 01:23:55 -04:00
< li > < a href = "https://github.com/ChrisKnott/Eel" > Eel< / a > - A library for making simple Electron-like offline HTML/JS GUI apps.< / li >
2019-10-25 12:26:05 -04:00
< li > < a href = "https://github.com/nucleic/enaml" > enaml< / a > - Creating beautiful user-interfaces with Declarative Syntax like QML.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/chriskiehl/Gooey" > Gooey< / a > - Turn command line programs into a full GUI application with one line.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2018-08-04 05:57:11 -04:00
< li > < a href = "https://wiki.gnome.org/Projects/PyGObject" > PyGObject< / a > - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).< / li >
2019-05-25 01:23:55 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://wxpython.org/" > wxPython< / a > - A blending of the wxWidgets C++ class library with the Python.< / li >
2016-11-13 13:05:20 -05:00
< / ul >
2019-12-15 11:00:24 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< h2 id = "game-development" > Game Development< / h2 >
< p > < em > Awesome game development libraries.< / em > < / p >
< ul >
2019-05-25 01:23:55 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-02 10:46:42 -05:00
< li > < a href = "https://pysdl2.readthedocs.io" > PySDL2< / a > - A ctypes based wrapper for the SDL2 library.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 01:23:55 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://pypi.org/project/cssutils/" > cssutils< / a > - A CSS library for Python.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://xmldataset.readthedocs.io/en/latest/" > xmldataset< / a > - Simple XML Parsing.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/martinblech/xmltodict" > xmltodict< / a > - Working with XML feel like you are working with JSON.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2019-05-25 06:08:09 -04:00
< h2 id = "http-clients" > HTTP Clients< / h2 >
2016-11-13 13:05:20 -05:00
< p > < em > Libraries for working with HTTP.< / em > < / p >
< ul >
2020-01-13 10:26:33 -05:00
< li > < a href = "https://github.com/spyoungtech/grequests" > grequests< / a > - requests + gevent for asynchronous HTTP requests.< / li >
2017-04-24 09:06:13 -04:00
< li > < a href = "https://github.com/httplib2/httplib2" > httplib2< / a > - Comprehensive HTTP client library.< / li >
2020-01-18 05:06:47 -05:00
< li > < a href = "https://github.com/encode/httpx" > httpx< / a > - A next generation HTTP client for Python.< / li >
2020-01-13 10:26:33 -05:00
< li > < a href = "https://github.com/psf/requests" > requests< / a > - HTTP Requests for Humans.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "hardware" > Hardware< / h2 >
< p > < em > Libraries for programming with hardware.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< li > < a href = "http://inotool.org/" > ino< / a > - Command line toolkit for working with < a href = "https://www.arduino.cc/" > Arduino< / a > .< / li >
2017-10-26 16:11:40 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2018-02-28 03:44:58 -05:00
< h2 id = "image-processing" > Image Processing< / h2 >
2015-06-06 14:44:15 -04:00
< p > < em > Libraries for manipulating images.< / em > < / p >
< ul >
2015-08-14 14:36:01 -04:00
< li > < a href = "https://github.com/rossgoodwin/hmap" > hmap< / a > - Image histogram remapping.< / li >
2016-03-13 10:21:31 -04:00
< li > < a href = "https://sourceforge.net/projects/imgseek/" > imgSeek< / a > - A project for searching a collection of images using visual similarity.< / li >
2015-08-14 14:36:01 -04:00
< li > < a href = "https://github.com/hhatto/nude.py" > nude.py< / a > - Nudity detection.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< 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 >
2015-08-14 14:36:01 -04:00
< li > < a href = "https://github.com/lincolnloop/python-qrcode" > python-qrcode< / a > - A pure Python QR Code generator.< / li >
2015-06-06 14:44:15 -04:00
< 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 >
2015-08-14 14:36:01 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2017-04-24 09:06:13 -04:00
< h2 id = "implementations" > Implementations< / h2 >
< p > < em > Implementations of Python.< / em > < / p >
< ul >
2017-10-26 16:11:40 -04:00
< 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 >
2019-05-25 01:23:55 -04:00
< 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 >
2018-04-10 14:05:44 -04:00
< li > < a href = "https://github.com/google/grumpy" > Grumpy< / a > - More compiler than interpreter as more powerful CPython2.7 replacement (alpha).< / li >
2019-05-25 01:23:55 -04:00
< 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 >
2018-02-28 03:44:58 -05:00
< li > < a href = "http://numba.pydata.org/" > Numba< / a > - Python JIT compiler to LLVM aimed at scientific Python.< / li >
2019-05-25 01:23:55 -04:00
< li > < a href = "https://github.com/Maratyszcza/PeachPy" > PeachPy< / a > - x86-64 assembler embedded in Python.< / li >
2017-04-24 09:06:13 -04:00
< li > < a href = "https://github.com/Microsoft/Pyjion" > Pyjion< / a > - A JIT for Python based upon CoreCLR.< / li >
2019-05-25 01:23:55 -04:00
< li > < a href = "https://bitbucket.org/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 >
2017-04-24 09:06:13 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "interactive-interpreter" > Interactive Interpreter< / h2 >
< p > < em > Interactive Python interpreters (REPL).< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/bpython/bpython" > bpython< / a > - A fancy interface to the Python interpreter.< / li >
2018-04-10 14:05:44 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "internationalization" > Internationalization< / h2 >
< p > < em > Libraries for working with i18n.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "job-scheduler" > Job Scheduler< / h2 >
< p > < em > Libraries for scheduling jobs.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2017-10-26 16:11:40 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 02:03:02 -04:00
< li > < a href = "https://joblib.readthedocs.io/" > Joblib< / a > - A set of tools to provide lightweight pipelining in Python.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< 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 >
2019-03-02 10:46:42 -05:00
< li > < a href = "https://airflow.apache.org/" > Airflow< / a > - Airflow is a platform to programmatically author, schedule and monitor workflows.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "logging" > Logging< / h2 >
< p > < em > Libraries for generating and working with logs.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://github.com/ScatterHQ/eliot" > Eliot< / a > - Logging for complex & distributed systems.< / li >
2017-04-24 09:06:13 -04:00
< li > < a href = "http://logbook.readthedocs.io/en/stable/" > logbook< / a > - Logging replacement for Python.< / li >
2018-04-10 14:05:44 -04:00
< li > < a href = "https://docs.python.org/3/library/logging.html" > logging< / a > - (Python standard library) Logging facility for Python.< / li >
2018-02-28 03:44:58 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "machine-learning" > Machine Learning< / h2 >
2019-05-25 06:10:55 -04:00
< p > < em > Libraries for Machine Learning. Also see < a href = "https://github.com/josephmisiti/awesome-machine-learning#python" > awesome-machine-learning< / a > .< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2018-08-04 05:57:11 -04:00
< li > < a href = "https://github.com/h2oai/h2o-3" > H2O< / a > - Open Source Fast Scalable Machine Learning Platform.< / li >
2018-02-28 03:44:58 -05:00
< li > < a href = "https://github.com/benhamner/Metrics" > Metrics< / a > - Machine learning evaluation metrics.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2017-04-24 09:06:13 -04:00
< li > < a href = "https://github.com/dmlc/xgboost" > xgboost< / a > - A scalable, portable, and distributed gradient boosting library.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "microsoft-windows" > Microsoft Windows< / h2 >
< p > < em > Python programming on Microsoft Windows.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< 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 >
2019-11-07 20:40:45 -05:00
< li > < a href = "https://github.com/mhammond/pywin32" > PyWin32< / a > - Python Extensions for Windows.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://winpython.github.io/" > WinPython< / a > - Portable development environment for Windows 7/8.< / li >
2016-03-13 10:21:31 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/mahmoud/boltons" > boltons< / a > - A set of pure-Python utilities.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 05:49:07 -05:00
< li > < a href = "http://www.tryton.org/" > tryton< / a > - A general purpose business framework.< / li >
2016-03-13 10:21:31 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "natural-language-processing" > Natural Language Processing< / h2 >
< p > < em > Libraries for working with human languages.< / em > < / p >
< ul >
2019-03-03 05:49:07 -05:00
< li > General< ul >
2019-10-25 12:26:05 -04:00
< li > < a href = "https://github.com/RaRe-Technologies/gensim" > gensim< / a > - Topic Modeling for Humans.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/saffsd/langid.py" > langid.py< / a > - Stand-alone language identification system.< / li >
2019-03-03 05:49:07 -05:00
< 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 for the Python.< / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://github.com/aboSamoor/polyglot" > polyglot< / a > - Natural language pipeline supporting hundreds of languages.< / li >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/facebookresearch/pytext" > pytext< / a > - A natural language modeling framework based on PyTorch.< / li >
2018-04-10 14:07:45 -04:00
< li > < a href = "https://github.com/PetrochukM/PyTorch-NLP" > PyTorch-NLP< / a > - A toolkit enabling rapid deep learning NLP prototyping for research.< / li >
2019-03-03 05:49:07 -05:00
< 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/stanfordnlp" > stanfordnlp< / a > - The Stanford NLP Group's official Python library, supporting 50+ 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "network-virtualization" > Network Virtualization< / h2 >
< p > < em > Tools and libraries for Virtual Networking and SDN (Software Defined Networking).< / em > < / p >
< ul >
2019-03-03 05:49:07 -05:00
< 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 >
2019-11-04 06:57:59 -05:00
< li > < a href = "https://github.com/noxrepo/pox" > pox< / a > - A Python-based SDN control applications, such as OpenFlow SDN controllers.< / li >
2016-11-13 13:05:20 -05:00
< / 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 >
2019-10-25 12:26:05 -04:00
< li > < a href = "https://github.com/tschellenbach/Stream-Framework" > Stream Framework< / a > - Building news feed and notification systems using Cassandra and Redis.< / li >
2015-06-06 14:44:15 -04:00
< / 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 >
2019-11-04 06:57:59 -05:00
< li > < a href = "https://docs.djangoproject.com/en/dev/topics/db/models/" > Django Models< / a > - The Django ORM.< / li >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://www.sqlalchemy.org/" > SQLAlchemy< / a > - The Python SQL Toolkit and Object Relational Mapper.< ul >
2015-06-06 14:44:15 -04:00
< li > < a href = "https://github.com/dahlia/awesome-sqlalchemy" > awesome-sqlalchemy< / a > < / li >
< / ul >
< / li >
2019-03-03 03:57:48 -05:00
< 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 >
2019-11-03 11:39:19 -05:00
< li > < a href = "https://github.com/encode/orm" > orm< / a > - An async ORM.< / li >
2019-03-03 03:57:48 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
< li > NoSQL Databases< ul >
2015-08-31 14:06:37 -04:00
< li > < a href = "https://github.com/stephenmcd/hot-redis" > hot-redis< / a > - Rich Python data types for Redis.< / li >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://github.com/MongoEngine/mongoengine" > mongoengine< / a > - A Python Object-Document-Mapper for working with MongoDB.< / li >
2017-10-26 16:11:40 -04:00
< 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 >
2015-08-14 14:36:01 -04:00
< li > < a href = "https://github.com/kiddouk/redisco" > redisco< / a > - A Python Library for Simple Models and Containers Persisted in Redis.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "package-management" > Package Management< / h2 >
< p > < em > Libraries for package and dependency management.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2019-12-21 02:23:02 -05:00
< li > < a href = "https://pip.pypa.io/en/stable/" > pip< / a > - The package installer for Python.< ul >
2019-03-03 05:49:07 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2019-12-21 02:23:02 -05:00
< li > < a href = "https://github.com/sdispater/poetry" > poetry< / a > - Python dependency management and packaging made easy.< / li >
2019-03-03 03:57:48 -05:00
< li > < a href = "https://github.com/conda/conda/" > conda< / a > - Cross-platform, Python-agnostic binary package manager.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "package-repositories" > Package Repositories< / h2 >
< p > < em > Local PyPI repository server and proxies.< / em > < / p >
< ul >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/pypa/warehouse" > warehouse< / a > - Next generation Python Package Repository (PyPI).< / li >
2019-03-23 14:30:52 -04:00
< li > < a href = "https://github.com/pypa/bandersnatch/" > bandersnatch< / a > - PyPI mirroring tool provided by Python Packaging Authority (PyPA).< / li >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/devpi/devpi" > devpi< / a > - PyPI server and packaging/testing/release tool.< / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://github.com/jazzband/localshop" > localshop< / a > - Local PyPI server (custom packages and auto-mirroring of pypi).< / li >
2016-05-25 03:59:05 -04:00
< / ul >
2015-06-06 14:44:15 -04:00
< h2 id = "permissions" > Permissions< / h2 >
< p > < em > Libraries that allow or deny users access to data or functionality.< / em > < / p >
< ul >
2016-03-13 10:21:31 -04:00
< li > < a href = "https://github.com/django-guardian/django-guardian" > django-guardian< / a > - Implementation of per object permissions for Django 1.2+< / li >
2015-06-06 14:44:15 -04:00
< 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 >
2016-11-13 13:05:20 -05:00
< h2 id = "processes" > Processes< / h2 >
< p > < em > Libraries for starting and communicating with OS processes.< / em > < / p >
< ul >
2019-11-04 06:57:59 -05:00
< 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 >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://sarge.readthedocs.io/en/latest/" > sarge< / a > - Yet another wrapper for subprocess.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/amoffat/sh" > sh< / a > - A full-fledged subprocess replacement for Python.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2017-10-26 16:11:40 -04:00
< 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 >
2019-03-03 05:49:07 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< / ul >
2019-12-15 11:01:54 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< h2 id = "restful-api" > RESTful API< / h2 >
2019-11-04 06:57:59 -05:00
< p > < em > Libraries for building RESTful APIs.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2015-10-03 06:34:29 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
< li > < a href = "http://tastypieapi.org/" > django-tastypie< / a > - Creating delicious APIs for Django apps.< / li >
2015-10-03 06:34:29 -04:00
< / ul >
< / li >
< li > Flask< ul >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://github.com/pyeve/eve" > eve< / a > - REST API framework powered by Flask, MongoDB and good intentions.< / li >
2019-11-04 06:57:59 -05:00
< li > < a href = "https://github.com/flask-api/flask-api" > flask-api< / a > - Browsable Web APIs for Flask.< / li >
2016-05-25 03:59:05 -04:00
< li > < a href = "https://github.com/flask-restful/flask-restful" > flask-restful< / a > - Quickly building REST APIs for Flask.< / li >
2015-10-03 06:34:29 -04:00
< / ul >
< / li >
< li > Pyramid< ul >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://github.com/Cornices/cornice" > cornice< / a > - A RESTful framework for Pyramid.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2015-10-03 06:34:29 -04:00
< / li >
< li > Framework agnostic< ul >
2019-03-02 11:37:13 -05:00
< li > < a href = "https://github.com/encode/apistar" > apistar< / a > - A smart Web API framework, designed for Python 3.< / li >
2019-11-04 06:57:59 -05:00
< 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 >
2015-10-03 06:34:29 -04:00
< / ul >
< / li >
< / ul >
2019-03-02 10:46:42 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< h2 id = "rpc-servers" > RPC Servers< / h2 >
< p > < em > RPC-compatible servers.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "science" > Science< / h2 >
2019-05-25 06:10:55 -04:00
< p > < em > Libraries for scientific computing. Also see < a href = "https://github.com/TomNicholas/Python-for-Scientists" > Python-for-Scientists< / a > < / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 01:29:58 -04:00
< li > < a href = "http://colour-science.org/" > Colour< / a > - Implementing a comprehensive number of colour theory transformations and algorithms.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://github.com/obspy/obspy/wiki/" > ObsPy< / a > - A Python toolbox for seismology.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2018-08-04 05:57:11 -04:00
< li > < a href = "http://qutip.org/" > QuTiP< / a > - Quantum Toolbox in Python.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "http://www.rdkit.org/" > RDKit< / a > - Cheminformatics and Machine Learning Software.< / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://www.scipy.org/" > SciPy< / a > - A Python-based ecosystem of open-source software for mathematics, science, and engineering.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://bitbucket.org/simpy/simpy" > SimPy< / a > - A process-based discrete-event simulation framework.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< h2 id = "search" > Search< / h2 >
< p > < em > Libraries and software for indexing and performing search queries on data.< / em > < / p >
< ul >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 03:17:40 -05:00
< li > < a href = "https://github.com/elastic/elasticsearch-dsl-py" > elasticsearch-dsl-py< / a > - The official high-level Python client for Elasticsearch.< / li >
2019-03-03 05:49:07 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "serialization" > Serialization< / h2 >
< p > < em > Libraries for serializing complex data types< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2019-03-03 02:49:21 -05:00
< 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 >
2019-11-03 11:54:51 -05:00
< li > < a href = "https://github.com/esnme/ultrajson" > ultrajson< / a > - A fast JSON decoder and encoder written in C with Python bindings.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "serverless-frameworks" > Serverless Frameworks< / h2 >
< p > < em > Frameworks for developing serverless Python code.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "specific-formats-processing" > Specific Formats Processing< / h2 >
< p > < em > Libraries for parsing and manipulating specific text formats.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< li > General< ul >
2020-01-13 10:26:33 -05:00
< li > < a href = "https://github.com/jazzband/tablib" > tablib< / a > - A module for Tabular Datasets in XLS, CSV, JSON, YAML.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< / li >
< li > Office< ul >
2019-03-02 10:46:42 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2018-02-28 03:44:58 -05:00
< li > < a href = "https://github.com/scanny/python-pptx" > python-pptx< / a > - Python library for creating and updating PowerPoint (.pptx) files.< / li >
2019-03-03 05:49:07 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< / 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 >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://www.reportlab.com/opensource/" > ReportLab< / a > - Allowing Rapid creation of rich PDF documents.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< / 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< / li >
< li > YAML< ul >
< li > < a href = "http://pyyaml.org/" > PyYAML< / a > - YAML implementations for Python.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< / li >
< li > CSV< ul >
< li > < a href = "https://github.com/wireservice/csvkit" > csvkit< / a > - Utilities for converting to and working with CSV.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< / li >
< li > Archive< ul >
< li > < a href = "https://github.com/mitsuhiko/unp" > unp< / a > - A command line tool that can unpack archives easily.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< / li >
2015-06-06 14:44:15 -04:00
< / 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 >
2019-03-03 05:49:07 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "tagging" > Tagging< / h2 >
< p > < em > Libraries for tagging items.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/jazzband/django-taggit" > django-taggit< / a > - Simple tagging for Django.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2019-11-04 06:57:59 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< h2 id = "template-engine" > Template Engine< / h2 >
< p > < em > Libraries and tools for templating and lexing.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/pallets/jinja" > Jinja2< / a > - A modern and designer friendly templating language.< / li >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://genshi.edgewall.org/" > Genshi< / a > - Python templating toolkit for generation of web-aware output.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "http://www.makotemplates.org/" > Mako< / a > - Hyperfast and lightweight templating for the Python platform.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< h2 id = "testing" > Testing< / h2 >
< p > < em > Libraries for testing codebases and generating test data.< / em > < / p >
< ul >
< li > Testing Frameworks< ul >
2018-04-10 14:05:44 -04:00
< li > < a href = "https://docs.pytest.org/en/latest/" > pytest< / a > - A mature full-featured Python testing tool.< / li >
2019-03-03 05:49:07 -05:00
< 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 >
2015-08-06 12:28:04 -04:00
< li > < a href = "https://github.com/robotframework/robotframework" > Robot Framework< / a > - A generic test automation framework.< / li >
2018-04-10 14:05:44 -04:00
< li > < a href = "https://docs.python.org/3/library/unittest.html" > unittest< / a > - (Python standard library) Unit testing framework.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2016-05-25 03:59:05 -04:00
< li > Test Runners< ul >
< li > < a href = "https://github.com/CleanCut/green" > green< / a > - A clean, colorful test runner.< / li >
2019-03-03 05:49:07 -05:00
< li > < a href = "http://nestorsalceda.github.io/mamba/" > mamba< / a > - The definitive testing tool for Python. Born under the banner of BDD.< / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://tox.readthedocs.io/en/latest/" > tox< / a > - Auto builds and tests distributions in multiple Python versions< / li >
2016-05-25 03:59:05 -04:00
< / ul >
< / li >
< li > GUI / Web Testing< ul >
2015-06-06 14:44:15 -04:00
< li > < a href = "https://github.com/locustio/locust" > locust< / a > - Scalable user load testing tool written in Python.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/asweigart/pyautogui" > PyAutoGUI< / a > - PyAutoGUI is a cross-platform GUI automation Python module for human beings.< / li >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://pypi.org/project/selenium/" > Selenium< / a > - Python bindings for < a href = "http://www.seleniumhq.org/" > Selenium< / a > WebDriver.< / li >
2015-06-06 14:44:15 -04:00
< li > < a href = "https://github.com/seatgeek/sixpack" > sixpack< / a > - A language-agnostic A/B Testing framework.< / li >
2016-05-25 03:59:05 -04:00
< li > < a href = "https://github.com/cobrateam/splinter" > splinter< / a > - Open source tool for testing web applications.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
< li > Mock< ul >
2019-05-25 01:29:58 -04:00
< li > < a href = "https://docs.python.org/3/library/unittest.mock.html" > mock< / a > - (Python standard library) A mocking and patching library.< / li >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://pypi.org/project/doublex/" > doublex< / a > - Powerful test doubles framework for Python.< / li >
2015-06-06 14:44:15 -04:00
< 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 >
2016-11-06 03:13:23 -05:00
< li > < a href = "https://github.com/gabrielfalcao/HTTPretty" > httpretty< / a > - HTTP request mock tool for Python.< / li >
2019-05-25 01:29:58 -04:00
< li > < a href = "https://github.com/mindflayer/python-mocket" > mocket< / a > - A socket mock framework with gevent/asyncio/SSL support.< / li >
2016-03-13 10:21:31 -04:00
< li > < a href = "https://github.com/getsentry/responses" > responses< / a > - A utility library for mocking out the requests Python library.< / li >
2015-08-31 14:06:37 -04:00
< 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 >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://github.com/FactoryBoy/factory_boy" > factory_boy< / a > - A test fixtures replacement for Python.< / li >
2015-08-31 14:06:37 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
< li > Code Coverage< ul >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://pypi.org/project/coverage/" > coverage< / a > - Code coverage measurement.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
< li > Fake Data< ul >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://github.com/lk-geimfari/mimesis" > mimesis< / a > - is a Python library that help you generate fake data.< / li >
2015-08-31 14:06:37 -04:00
< li > < a href = "https://github.com/emirozer/fake2db" > fake2db< / a > - Fake database generator.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/joke2k/faker" > faker< / a > - A Python package that generates fake data.< / li >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://pypi.org/project/radar/" > radar< / a > - Generate random datetime / time.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "text-processing" > Text Processing< / h2 >
< p > < em > Libraries for parsing and manipulating plain texts.< / em > < / p >
2016-11-06 03:13:23 -05:00
< ul >
2016-11-13 13:05:20 -05:00
< li > General< ul >
< li > < a href = "https://github.com/chardet/chardet" > chardet< / a > - Python 2/3 compatible character encoding detector.< / li >
2018-04-10 14:05:44 -04:00
< li > < a href = "https://docs.python.org/3/library/difflib.html" > difflib< / a > - (Python standard library) Helpers for computing deltas.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/vinta/pangu.py" > pangu.py< / a > - Paranoid text spacing.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/pwaller/pyfiglet" > pyfiglet< / a > - An implementation of figlet written in Python.< / li >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/mozillazg/python-pinyin" > pypinyin< / a > - Convert Chinese hanzi (漢字) to pinyin (拼音).< / li >
2019-05-25 01:29:58 -04:00
< li > < a href = "https://github.com/orsinium/textdistance" > textdistance< / a > - Compute distance between sequences with 30+ algorithms.< / li >
2019-05-25 01:07:55 -04:00
< li > < a href = "https://pypi.org/project/Unidecode/" > unidecode< / a > - ASCII transliterations of Unicode text.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< / 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< / li >
2019-03-03 05:49:07 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< li > Parser< ul >
2019-03-03 05:49:07 -05:00
< 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 >
2019-03-02 10:46:42 -05:00
< li > < a href = "https://github.com/pyparsing/pyparsing" > pyparsing< / a > - A general purpose framework for generating parsers.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/derek73/python-nameparser" > python-nameparser< / a > - Parsing human names into their individual components.< / li >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://github.com/daviddrysdale/python-phonenumbers" > python-phonenumbers< / a > - Parsing, formatting, storing and validating international phone numbers.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
< h2 id = "third-party-apis" > Third-party APIs< / h2 >
2019-05-25 06:10:55 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
< ul >
< li > < a href = "https://libcloud.apache.org/" > apache-libcloud< / a > - One Python library for all clouds.< / li >
2017-04-24 09:06:13 -04:00
< li > < a href = "https://github.com/boto/boto3" > boto3< / a > - Python interface to Amazon Web Services.< / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://github.com/istrategylabs/django-wordpress" > django-wordpress< / a > - WordPress models and views for Django.< / li >
2016-05-25 03:59:05 -04:00
< li > < a href = "https://github.com/mobolic/facebook-sdk" > facebook-sdk< / a > - Facebook Platform Python SDK.< / li >
2015-08-14 14:36:01 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "url-manipulation" > URL Manipulation< / h2 >
< p > < em > Libraries for parsing URLs.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2017-04-24 09:06:13 -04:00
< li > < a href = "https://github.com/gruns/furl" > furl< / a > - A small Python library that makes parsing and manipulating URLs easy.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2019-05-25 01:29:58 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "video" > Video< / h2 >
< p > < em > Libraries for manipulating video and GIFs.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2020-01-30 04:32:26 -05:00
< li > < a href = "https://github.com/abhiTronix/vidgear" > vidgear< / a > - Most Powerful multi-threaded Video Processing framework.< / li >
2019-03-03 05:49:07 -05:00
< li > < a href = "https://zulko.github.io/moviepy/" > moviepy< / a > - A module for script-based movie editing with many formats, including animated GIFs.< / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/aizvorski/scikit-video" > scikit-video< / a > - Video processing routines for SciPy.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2019-03-02 11:37:13 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< h2 id = "web-content-extracting" > Web Content Extracting< / h2 >
< p > < em > Libraries for extracting web contents.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< 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 >
2020-01-13 10:26:33 -05:00
< li > < a href = "https://github.com/psf/requests-html" > requests-html< / a > - Pythonic HTML Parsing for Humans.< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2018-04-10 14:05:44 -04:00
< li > < a href = "https://github.com/gaojiuli/toapi" > toapi< / a > - Every web site provides APIs.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2019-05-25 06:05:43 -04:00
< h2 id = "web-crawling" > Web Crawling< / h2 >
2019-05-25 06:06:21 -04:00
< p > < em > Libraries to automate web scraping.< / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/chineking/cola" > cola< / a > - A distributed crawling framework.< / li >
2019-03-03 06:04:10 -05:00
< 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 >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/binux/pyspider" > pyspider< / a > - A powerful spider system.< / li >
2019-03-03 06:04:10 -05:00
< 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 >
2019-05-25 06:05:43 -04:00
< li > < a href = "https://github.com/scrapinghub/portia" > portia< / a > - Visual scraping for Scrapy.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "web-frameworks" > Web Frameworks< / h2 >
2019-11-04 06:57:59 -05:00
< p > < em > Traditional full stack web frameworks. Also see < a href = "https://github.com/vinta/awesome-python#restful-api" > RESTful API< / a > < / em > < / p >
2015-06-06 14:44:15 -04:00
< ul >
2019-11-03 11:54:51 -05:00
< li > Synchronous< ul >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://www.djangoproject.com/" > Django< / a > - The most popular web framework in Python.< ul >
2019-04-03 01:39:18 -04:00
< li > < a href = "https://github.com/shahraizali/awesome-django" > awesome-django< / a > < / li >
2015-06-06 14:44:15 -04:00
< / ul >
< / li >
2016-11-13 13:05:20 -05:00
< 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 >
2015-08-31 14:06:37 -04:00
< / ul >
< / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://pylonsproject.org/" > Pyramid< / a > - A small, fast, down-to-earth, open source Python web framework.< ul >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://github.com/uralbash/awesome-pyramid" > awesome-pyramid< / a > < / li >
2015-08-31 14:06:37 -04:00
< / ul >
< / li >
2019-11-03 11:54:51 -05:00
< li > < a href = "https://github.com/MasoniteFramework/masonite" > Masonite< / a > - The modern and developer centric Python web framework.< / li >
< / ul >
< / li >
< li > Asynchronous< ul >
2019-11-04 06:57:59 -05:00
< li > < a href = "http://www.tornadoweb.org/en/latest/" > Tornado< / a > - A web framework and asynchronous networking library.< / li >
2015-06-06 14:44:15 -04:00
< / ul >
2019-11-03 11:54:51 -05:00
< / li >
< / ul >
2016-11-13 13:05:20 -05:00
< h2 id = "websocket" > WebSocket< / h2 >
< p > < em > Libraries for working with WebSocket.< / em > < / p >
2015-07-03 13:06:10 -04:00
< ul >
2019-03-03 06:04:10 -05:00
< 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 >
2019-11-04 06:57:59 -05:00
< 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 >
2015-09-04 10:42:56 -04:00
< / ul >
2015-06-06 14:44:15 -04:00
< h1 id = "resources" > Resources< / h1 >
< p > Where to discover new Python libraries.< / p >
2016-11-13 13:05:20 -05:00
< h2 id = "podcasts" > Podcasts< / h2 >
< ul >
2018-02-28 03:44:58 -05:00
< li > < a href = "http://frompythonimportpodcast.com/" > From Python Import Podcast< / a > < / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://podcastinit.com/" > Podcast.init< / a > < / li >
2017-04-24 09:06:13 -04:00
< li > < a href = "https://pythonbytes.fm" > Python Bytes< / a > < / li >
2018-02-28 03:44:58 -05:00
< 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 >
2019-05-25 05:40:08 -04:00
< li > < a href = "https://testandcode.com/" > Test and Code< / a > < / li >
2020-04-07 08:07:33 -04:00
< li > < a href = "https://realpython.com/podcasts/rpp/" > The Real Python Podcast< / a > < / li >
2016-11-13 13:05:20 -05:00
< / 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 >
2017-04-24 09:06:13 -04:00
< li > < a href = "https://twitter.com/talkpython" > @TalkPython< / a > < / li >
2018-08-04 05:57:11 -04:00
< li > < a href = "https://twitter.com/realpython" > @realpython< / a > < / li >
2016-11-13 13:05:20 -05:00
< / ul >
2015-06-06 14:44:15 -04:00
< h2 id = "websites" > Websites< / h2 >
< ul >
2016-11-06 03:13:23 -05:00
< li > < a href = "https://www.reddit.com/r/coolgithubprojects/" > /r/CoolGithubProjects< / a > < / li >
2016-11-13 13:05:20 -05:00
< li > < a href = "https://www.reddit.com/r/python" > /r/Python< / a > < / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://python.libhunt.com/" > Awesome Python @LibHunt< / a > < / li >
< li > < a href = "https://djangopackages.org/" > Django Packages< / a > < / li >
2016-05-25 03:59:05 -04:00
< li > < a href = "https://www.fullstackpython.com/" > Full Stack Python< / a > < / li >
2019-05-25 05:33:37 -04:00
< li > < a href = "https://www.pythoncheatsheet.org/" > Python Cheatsheet< / a > < / li >
2015-08-06 12:28:04 -04:00
< li > < a href = "https://python.zeef.com/alan.richmond" > Python ZEEF< / a > < / li >
2017-10-26 16:11:40 -04:00
< li > < a href = "https://www.ctolib.com/python/" > Python 开发社区< / a > < / li >
2018-08-04 05:57:11 -04:00
< li > < a href = "https://realpython.com" > Real Python< / a > < / li >
2015-08-06 12:28:04 -04:00
< li > < a href = "https://github.com/trending?l=python" > Trending Python repositories on GitHub today< / a > < / li >
2019-05-18 07:40:33 -04:00
< li > < a href = "https://python-scripts.com/" > Сообщество Python Программистов< / a > < / li >
2015-06-06 14:44:15 -04:00
< / ul >
< h2 id = "weekly" > Weekly< / h2 >
< ul >
2018-02-28 03:44:58 -05:00
< li > < a href = "https://weekly.codetengu.com/" > CodeTengu Weekly 碼天狗週刊< / a > < / li >
2015-08-06 12:28:04 -04:00
< li > < a href = "http://importpython.com/newsletter/" > Import Python Newsletter< / a > < / li >
2015-06-06 14:44:15 -04:00
< li > < a href = "http://pycoders.com/" > Pycoder's Weekly< / a > < / li >
< li > < a href = "http://www.pythonweekly.com/" > Python Weekly< / a > < / li >
2018-08-04 05:57:11 -04:00
< li > < a href = "https://realpython.com/python-tricks/" > Python Tricks< / a > < / li >
2015-06-06 14:44:15 -04:00
< / ul >
2015-10-03 06:34:29 -04:00
< 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 >
2017-10-26 16:11:40 -04:00
< 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 >
2018-02-28 03:44:58 -05:00
< 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 >
2017-10-26 16:11:40 -04:00
2019-03-02 10:46:42 -05:00
2017-10-26 16:11:40 -04:00
< / article >
< / div >
2015-06-06 14:44:15 -04:00
< / div >
2017-10-26 16:11:40 -04:00
< / 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
2019-03-02 10:46:42 -05:00
< a href = "https://www.mkdocs.org" > MkDocs< / a >
2017-10-26 16:11:40 -04:00
and
2019-03-02 10:46:42 -05:00
< a href = "https://squidfunk.github.io/mkdocs-material/" >
2017-10-26 16:11:40 -04:00
Material for MkDocs< / a >
< / div >
< div class = "md-footer-social" >
2019-03-02 10:46:42 -05:00
< link rel = "stylesheet" href = "assets/fonts/font-awesome.css" >
2017-10-26 16:11:40 -04:00
< 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 >
2015-06-06 14:44:15 -04:00
2017-10-26 16:11:40 -04:00
< / div >
< / div >
< / footer >
< / div >
2019-03-02 10:46:42 -05:00
< script src = "assets/javascripts/application.d9aa80ab.js" > < / script >
2017-10-26 16:11:40 -04:00
2019-03-02 10:46:42 -05:00
< script > app . initialize ( { version : "1.0.4" , url : { base : "." } } ) < / script >
2017-10-26 16:11:40 -04:00
< / body >
2015-06-06 14:44:15 -04:00
< / html >