Deployed d535b82 with MkDocs version: 1.0.4

This commit is contained in:
Vinta
2019-03-02 23:46:42 +08:00
parent 3691a44246
commit 5b2d7f34fc
59 changed files with 439 additions and 1242 deletions

View File

@ -1,5 +1,8 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en" class="no-js">
<head>
@ -20,7 +23,11 @@
<meta name="lang:clipboard.copied" content="Copied to clipboard">
<meta name="lang:search.languages" content="">
<meta name="lang:search.language" content="en">
<meta name="lang:search.pipeline.stopwords" content="True">
<meta name="lang:search.pipeline.trimmer" content="True">
<meta name="lang:search.result.none" content="No matching documents">
@ -30,10 +37,8 @@
<meta name="lang:search.tokenizer" content="[\s\-]+">
<link rel="shortcut icon" href="./assets/images/favicon.png">
<meta name="generator" content="mkdocs-0.16.3, mkdocs-material-1.12.2">
<link rel="shortcut icon" href="assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.0.2">
@ -41,46 +46,99 @@
<script src="./assets/javascripts/modernizr-e826f8942a.js"></script>
<link rel="stylesheet" href="./assets/stylesheets/application-04ea671600.css">
<link rel="stylesheet" href="assets/stylesheets/application.982221ab.css">
<link rel="stylesheet" href="./assets/stylesheets/application-23f75ab9c7.palette.css">
<link rel="stylesheet" href="assets/stylesheets/application-palette.224b79ff.css">
<meta name="theme-color" content="#ef5350">
<script src="assets/javascripts/modernizr.1f0bcf2b.js"></script>
<link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
<style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="assets/fonts/material-icons.css">
<link rel="stylesheet" href="./css/extra.css">
<link rel="stylesheet" href="css/extra.css">
<script>
window.ga = window.ga || function() {
(ga.q = ga.q || []).push(arguments)
}
ga.l = +new Date
/* Setup integration and send page view */
ga("create", "UA-510626-7", "auto")
ga("set", "anonymizeIp", true)
ga("send", "pageview")
/* Register handler to log search on blur */
document.addEventListener("DOMContentLoaded", () => {
if (document.forms.search) {
var query = document.forms.search.query
query.addEventListener("blur", function() {
if (this.value) {
var path = document.location.pathname;
ga("send", "pageview", path + "?q=" + this.value)
}
})
}
})
</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body data-md-color-primary="red" data-md-color-accent="pink">
<body dir="ltr" data-md-color-primary="red" data-md-color-accent="pink">
<svg class="md-svg">
<defs>
<svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 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.75T360 304zm56-44q0 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.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-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.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
viewBox="0 0 416 448" id="__github">
<path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
99.5z" />
</svg>
</defs>
</svg>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="search">
<label class="md-overlay" data-md-component="overlay" for="drawer"></label>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
<a href="#awesome-python" tabindex="1" class="md-skip">
Skip to content
</a>
<header class="md-header" data-md-component="header">
<nav class="md-header-nav md-grid">
@ -88,34 +146,38 @@
<div class="md-flex__cell md-flex__cell--shrink">
<a href="https://awesome-python.com" title="Awesome Python" class="md-header-nav__button md-logo">
<i class="md-icon md-icon--home"></i>
<i class="md-icon"></i>
</a>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
<label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
</div>
<div class="md-flex__cell md-flex__cell--stretch">
<span class="md-flex__ellipsis md-header-nav__title">
<div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
Life is short, you need Python.
<span class="md-header-nav__topic">
Awesome Python
</span>
<span class="md-header-nav__topic">
Life is short, you need Python.
</span>
</span>
</div>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
<label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="search"></label>
<div class="md-search__inner">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" required placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query">
<label class="md-icon md-search__icon" for="search"></label>
<button type="reset" class="md-icon md-search__icon" data-md-component="reset">&#xE5CD;</button>
<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">
&#xE5CD;
</button>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
@ -139,20 +201,18 @@
<a href="https://github.com/vinta/awesome-python" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg viewBox="0 0 24 24" width="24" height="24">
<use xlink:href="#github" width="24" height="24"></use>
</svg>
</div>
<div class="md-source__repository">
vinta/awesome-python
<a href="https://github.com/vinta/awesome-python/" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg viewBox="0 0 24 24" width="24" height="24">
<use xlink:href="#__github" width="24" height="24"></use>
</svg>
</div>
</a>
<div class="md-source__repository">
vinta/awesome-python
</div>
</a>
</div>
</div>
@ -162,6 +222,7 @@
<div class="md-container">
<main class="md-main">
@ -172,12 +233,12 @@
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="drawer">
<span class="md-nav__button md-logo">
<label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="https://awesome-python.com" title="Awesome Python" class="md-nav__button md-logo">
<i class="md-icon md-icon--home"></i>
<i class="md-icon"></i>
</span>
</a>
Awesome Python
</label>
@ -187,20 +248,18 @@
<a href="https://github.com/vinta/awesome-python" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg viewBox="0 0 24 24" width="24" height="24">
<use xlink:href="#github" width="24" height="24"></use>
</svg>
</div>
<div class="md-source__repository">
vinta/awesome-python
<a href="https://github.com/vinta/awesome-python/" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg viewBox="0 0 24 24" width="24" height="24">
<use xlink:href="#__github" width="24" height="24"></use>
</svg>
</div>
</a>
<div class="md-source__repository">
vinta/awesome-python
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
@ -214,12 +273,12 @@
<li class="md-nav__item md-nav__item--active">
<input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
<input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
Life is short, you need Python.
</label>
@ -234,7 +293,7 @@
<label class="md-nav__title" for="toc">Table of contents</label>
<label class="md-nav__title" for="__toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
@ -697,6 +756,13 @@
RESTful API
</a>
</li>
<li class="md-nav__item">
<a href="#robotics" title="Robotics" class="md-nav__link">
Robotics
</a>
</li>
<li class="md-nav__item">
@ -834,6 +900,8 @@
</ul>
</nav>
@ -858,7 +926,7 @@
<label class="md-nav__title" for="toc">Table of contents</label>
<label class="md-nav__title" for="__toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
@ -1321,6 +1389,13 @@
RESTful API
</a>
</li>
<li class="md-nav__item">
<a href="#robotics" title="Robotics" class="md-nav__link">
Robotics
</a>
</li>
<li class="md-nav__item">
@ -1458,6 +1533,8 @@
</ul>
</nav>
@ -1470,6 +1547,8 @@
<article class="md-content__inner md-typeset">
<a href="https://github.com/vinta/awesome-python/edit/master/docs/index.md" title="Edit this page" class="md-icon md-content__icon">&#xE3C9;</a>
<h1 id="awesome-python">Awesome Python <a href="https://github.com/sindresorhus/awesome"><img alt="Awesome" src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg" /></a></h1>
<p>A curated list of awesome Python frameworks, libraries, software and resources.</p>
@ -1541,6 +1620,7 @@
<li><a href="#queue">Queue</a></li>
<li><a href="#recommender-systems">Recommender Systems</a></li>
<li><a href="#restful-api">RESTful API</a></li>
<li><a href="#robotics">Robotics</a></li>
<li><a href="#rpc-servers">RPC Servers</a></li>
<li><a href="#science">Science</a></li>
<li><a href="#search">Search</a></li>
@ -1715,6 +1795,7 @@
<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/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>
<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>
<h2 id="code-analysis">Code Analysis</h2>
@ -1750,7 +1831,7 @@
<li><a href="https://github.com/kennethreitz/clint">clint</a> - Python Command-line Application Tools.</li>
<li><a href="http://docopt.org/">docopt</a> - Pythonic command line arguments parser.</li>
<li><a href="https://github.com/chriskiehl/Gooey">Gooey</a> - Turn command line programs into a full GUI application with one line.</li>
<li><a href="https://github.com/google/python-fire">Python-Fire</a> - A library for creating command line interfaces from absolutely any Python object.</li>
<li><a href="https://github.com/google/python-fire">Python Fire</a> - A library for creating command line interfaces from absolutely any Python object.</li>
<li><a href="https://github.com/jonathanslenders/python-prompt-toolkit">python-prompt-toolkit</a> - A library for building powerful interactive command lines.</li>
</ul>
</li>
@ -1808,7 +1889,7 @@
<p><em>Libraries for storing and parsing configuration options.</em></p>
<ul>
<li><a href="https://www.red-dove.com/config-doc/">config</a> - Hierarchical config from the author of <a href="https://docs.python.org/3/library/logging.html">logging</a>.</li>
<li><a href="http://www.voidspace.org.uk/python/configobj.html">ConfigObj</a> - INI file parser with validation.</li>
<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="http://profig.readthedocs.org/en/default/">profig</a> - Config from multiple formats with value conversion.</li>
<li><a href="https://github.com/henriquebastos/python-decouple">python-decouple</a> - Strict separation of settings from code.</li>
@ -1816,7 +1897,6 @@
<h2 id="cryptography">Cryptography</h2>
<ul>
<li><a href="https://cryptography.io/en/latest/">cryptography</a> - A package designed to expose cryptographic primitives and recipes to Python developers.</li>
<li><a href="https://github.com/davidaurelio/hashids-python">hashids</a> - Implementation of <a href="http://hashids.org">hashids</a> in Python.</li>
<li><a href="http://www.paramiko.org/">Paramiko</a> - A Python (2.6+, 3.3+) implementation of the SSHv2 protocol, providing both client and server functionality.</li>
<li><a href="https://passlib.readthedocs.io/en/stable/">Passlib</a> - Secure password storage/hashing library, very high level.</li>
<li><a href="https://github.com/pyca/pynacl">PyNacl</a> - Python binding to the Networking and Cryptography (NaCl) library.</li>
@ -1930,8 +2010,9 @@
<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/uber/pyflame">Pyflame</a> - Attach this Ptracing Profiler to any processes running Python. Perfect for profiling production webservers.</li>
<li><a href="https://github.com/what-studio/profiling">profiling</a> - An interactive Python profiler.</li>
<li><a href="https://github.com/benfred/py-spy">py-spy</a> - A sampling profiler for Python programs. Written in Rust.</li>
<li><a href="https://github.com/uber/pyflame">Pyflame</a> - A ptracing profiler For Python.</li>
<li><a href="https://github.com/nvdv/vprof">vprof</a> - Visual Python profiler.</li>
</ul>
</li>
@ -2069,7 +2150,6 @@
<p><em>Libraries for Python version and environment management.</em></p>
<ul>
<li><a href="https://github.com/kennethreitz/pipenv">Pipenv</a> - Sacred Marriage of Pipfile, Pip, &amp; Virtualenv.</li>
<li><a href="https://github.com/qw3rtman/p">p</a> - Dead simple interactive Python version management.</li>
<li><a href="https://github.com/pyenv/pyenv">pyenv</a> - Simple Python version management.</li>
<li><a href="https://docs.python.org/3/library/venv.html">venv</a> - (Python standard library in Python 3.3+) Creating lightweight virtual environments.</li>
<li><a href="https://pypi.python.org/pypi/virtualenv">virtualenv</a> - A tool to create isolated Python environments.</li>
@ -2106,6 +2186,7 @@
<h2 id="functional-programming">Functional Programming</h2>
<p><em>Functional Programming with Python.</em></p>
<ul>
<li><a href="http://coconut-lang.org/">Coconut</a> - Coconut is a variant of Python built for simple, elegant, Pythonic functional programming.</li>
<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>
@ -2123,6 +2204,7 @@
<li><a href="https://wiki.gnome.org/Projects/PyGObject">PyGObject</a> - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).</li>
<li><a href="https://riverbankcomputing.com/software/pyqt/intro">PyQt</a> - Python bindings for the <a href="https://www.qt.io/">Qt</a> cross-platform application and UI framework, with support for both Qt v4 and Qt v5 frameworks.</li>
<li><a href="https://wiki.qt.io/PySide">PySide</a> - Python bindings for the <a href="http://www.qt.io/">Qt</a> cross-platform application and UI framework, supporting the Qt v4 framework.</li>
<li><a href="https://github.com/PySimpleGUI/PySimpleGUI">PySimpleGUI</a> - Wrapper for tkinter, Qt, WxPython and Remi that creates a unified, easy to understand &amp; more Python-like interface for beginner and intermediate level custom GUIs.</li>
<li><a href="https://github.com/r0x0r/pywebview/">pywebview</a> - A lightweight cross-platform native wrapper around a webview component that allows to display HTML content in its own native dedicated window.</li>
<li><a href="https://wiki.python.org/moin/TkInter">Tkinter</a> - Tkinter is Python's de-facto standard GUI package.</li>
<li><a href="https://github.com/pybee/toga">Toga</a> - A Python native, OS native GUI toolkit.</li>
@ -2133,11 +2215,12 @@
<p><em>Awesome game development libraries.</em></p>
<ul>
<li><a href="http://cocos2d.org/">Cocos2d</a> - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on pyglet.</li>
<li><a href="http://www.harfang3d.com">Harfang3D</a> - Python framework for 3D, VR and game development. Manage and display complex 3D scenes, with physics, video, sound and music, access VR devices. All written in C++.</li>
<li><a href="https://www.panda3d.org/">Panda3D</a> - 3D game engine developed by Disney and maintained by Carnegie Mellon's Entertainment Technology Center. Written in C++, completely wrapped in Python.</li>
<li><a href="http://www.pygame.org/news.html">Pygame</a> - Pygame is a set of Python modules designed for writing games.</li>
<li><a href="http://www.ogre3d.org/tikiwiki/PyOgre">PyOgre</a> - Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D.</li>
<li><a href="http://pyopengl.sourceforge.net/">PyOpenGL</a> - Python ctypes bindings for OpenGL and it's related APIs.</li>
<li><a href="http://pysdl2.readthedocs.io/en/rel_0_9_5/">PySDL2</a> - A ctypes based wrapper for the SDL2 library.</li>
<li><a href="https://pysdl2.readthedocs.io">PySDL2</a> - A ctypes based wrapper for the SDL2 library.</li>
<li><a href="https://www.renpy.org/">RenPy</a> - A Visual Novel engine.</li>
</ul>
<h2 id="geolocation">Geolocation</h2>
@ -2217,7 +2300,7 @@
<li><a href="https://bitbucket.org/pypy/pypy">PyPy</a> - Implementation of the Python programming language written in RPython and translated into C. PyPy focuses on speed, efficiency and compatibility with the original CPython interpreter. The interpreter uses black magic to make Python very fast without having to add in additional type information.</li>
<li><a href="https://github.com/ebranca/owasp-pysec">PySec</a> - Hardened version of python that makes it easier for security professionals and developers to write applications more resilient to attacks and manipulations.</li>
<li><a href="https://github.com/dropbox/pyston">Pyston</a> - A Python implementation built using LLVM and modern JIT techniques with the goal of achieving good performance.</li>
<li><a href="https://bitbucket.org/stackless-dev/stackless/wiki/Home">Stackless Python</a> - An enhanced version of the Python programming language which allows programmers to reap the benefits of thread-based programming without the performance and complexity problems associated with conventional threads.</li>
<li><a href="https://github.com/stackless-dev/stackless/wiki">Stackless Python</a> - An enhanced version of the Python programming language which allows programmers to reap the benefits of thread-based programming without the performance and complexity problems associated with conventional threads.</li>
</ul>
<h2 id="interactive-interpreter">Interactive Interpreter</h2>
<p><em>Interactive Python interpreters (REPL).</em></p>
@ -2247,6 +2330,7 @@
<li><a href="https://github.com/dbader/schedule">schedule</a> - Python job scheduling for humans.</li>
<li><a href="https://github.com/knipknap/SpiffWorkflow">Spiff</a> - A powerful workflow engine implemented in pure Python.</li>
<li><a href="https://docs.openstack.org/developer/taskflow/">TaskFlow</a> - A Python library that helps to make task execution easy, consistent and reliable.</li>
<li><a href="https://airflow.apache.org/">Airflow</a> - Airflow is a platform to programmatically author, schedule and monitor workflows.</li>
</ul>
<h2 id="logging">Logging</h2>
<p><em>Libraries for generating and working with logs.</em></p>
@ -2298,6 +2382,7 @@
<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/sloria/TextBlob">TextBlob</a> - Providing a consistent API for diving into common NLP tasks.</li>
<li><a href="https://github.com/PetrochukM/PyTorch-NLP">PyTorch-NLP</a> - A toolkit enabling rapid deep learning NLP prototyping for research.</li>
<li><a href="https://github.com/stanfordnlp/stanfordnlp">StanfordNLP</a> - The Stanford NLP Group's official Python library, supporting 50+ languages</li>
</ul>
<h2 id="network-virtualization">Network Virtualization</h2>
<p><em>Tools and libraries for Virtual Networking and SDN (Software Defined Networking).</em></p>
@ -2446,6 +2531,12 @@
</ul>
</li>
</ul>
<h2 id="robotics">Robotics</h2>
<p><em>Libraries for robotics.</em></p>
<ul>
<li><a href="https://github.com/AtsushiSakai/PythonRobotics">PythonRobotics</a> - This is a compilation of various robotics algorithms with visualizations.</li>
<li><a href="http://wiki.ros.org/rospy">rospy</a> - This is a library for ROS (Robot Operating System).</li>
</ul>
<h2 id="rpc-servers">RPC Servers</h2>
<p><em>RPC-compatible servers.</em></p>
<ul>
@ -2509,7 +2600,7 @@
</li>
<li>Office<ul>
<li><a href="https://github.com/brianray/mm">Marmir</a> - Takes Python data structures and turns them into spreadsheets.</li>
<li><a href="https://openpyxl.readthedocs.io/en/default/">openpyxl</a> - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.</li>
<li><a href="https://openpyxl.readthedocs.io/en/stable/">openpyxl</a> - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.</li>
<li><a href="https://github.com/pyexcel/pyexcel">pyexcel</a> - Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files.</li>
<li><a href="https://github.com/python-openxml/python-docx">python-docx</a> - Reads, queries and modifies Microsoft Word 2007/2008 docx files.</li>
<li><a href="https://github.com/scanny/python-pptx">python-pptx</a> - Python library for creating and updating PowerPoint (.pptx) files.</li>
@ -2633,6 +2724,7 @@
<li><a href="https://docs.python.org/3/library/difflib.html">difflib</a> - (Python standard library) Helpers for computing deltas.</li>
<li><a href="https://github.com/LuminosoInsight/python-ftfy">ftfy</a> - Makes Unicode text less broken and more consistent automagically.</li>
<li><a href="https://github.com/seatgeek/fuzzywuzzy">fuzzywuzzy</a> - Fuzzy String Matching.</li>
<li><a href="https://github.com/davidaurelio/hashids-python">hashids</a> - Implementation of <a href="http://hashids.org">hashids</a> in Python.</li>
<li><a href="https://github.com/ztane/python-Levenshtein/">Levenshtein</a> - Fast computation of Levenshtein distance and string similarity.</li>
<li><a href="https://github.com/vinta/pangu.py">pangu.py</a> - Spacing texts for CJK and alphanumerics.</li>
<li><a href="https://github.com/pwaller/pyfiglet">pyfiglet</a> - An implementation of figlet written in Python.</li>
@ -2654,7 +2746,7 @@
<li><a href="https://github.com/daviddrysdale/python-phonenumbers">phonenumbers</a> - Parsing, formatting, storing and validating international phone numbers.</li>
<li><a href="http://www.dabeaz.com/ply/">PLY</a> - Implementation of lex and yacc parsing tools for Python.</li>
<li><a href="http://pygments.org/">Pygments</a> - A generic syntax highlighter.</li>
<li><a href="http://pyparsing.wikispaces.com/">pyparsing</a> - A general purpose framework for generating parsers.</li>
<li><a href="https://github.com/pyparsing/pyparsing">pyparsing</a> - A general purpose framework for generating parsers.</li>
<li><a href="https://github.com/derek73/python-nameparser">python-nameparser</a> - Parsing human names into their individual components.</li>
<li><a href="https://github.com/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>
@ -2735,7 +2827,7 @@
<p><em>Full stack web frameworks.</em></p>
<ul>
<li><a href="https://www.djangoproject.com/">Django</a> - The most popular web framework in Python.<ul>
<li><a href="https://github.com/rosarior/awesome-django">awesome-django</a></li>
<li><a href="https://github.com/wsvincent/awesome-django">awesome-django</a></li>
</ul>
</li>
<li><a href="http://flask.pocoo.org/">Flask</a> - A microframework for Python.<ul>
@ -2747,8 +2839,8 @@
</ul>
</li>
<li><a href="https://github.com/channelcat/sanic">Sanic</a> - Web server that's written to go fast.</li>
<li><a href="http://www.tornadoweb.org/en/latest/">Tornado</a> - A Web framework and asynchronous networking library.</li>
<li><a href="https://vibora.io/">Vibora</a> - Fast, efficient and asynchronous Web framework inspired by Flask.</li>
<li><a href="http://www.tornadoweb.org/en/latest/">Tornado</a> - A Web framework and asynchronous networking library.</li>
</ul>
<h2 id="websocket">WebSocket</h2>
<p><em>Libraries for working with WebSocket.</em></p>
@ -2853,6 +2945,8 @@
</article>
</div>
@ -2867,16 +2961,14 @@
<div class="md-footer-copyright">
powered by
<a href="http://www.mkdocs.org" title="MkDocs">MkDocs</a>
<a href="https://www.mkdocs.org">MkDocs</a>
and
<a href="http://squidfunk.github.io/mkdocs-material/" title="Material for MkDocs">
<a href="https://squidfunk.github.io/mkdocs-material/">
Material for MkDocs</a>
</div>
<div class="md-footer-social">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="assets/fonts/font-awesome.css">
<a href="https://github.com/vinta" class="md-footer-social__link fa fa-github"></a>
@ -2886,22 +2978,15 @@
</div>
</div>
</div>
</footer>
</div>
<script src="./assets/javascripts/application-946997f430.js"></script>
<script src="assets/javascripts/application.d9aa80ab.js"></script>
<script>app.initialize({version:"0.16.3",url:{base:"."}})</script>
<script>!function(e,t,a,n,o,c,i){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,c=t.createElement(a),i=t.getElementsByTagName(a)[0],c.async=1,c.src=n,i.parentNode.insertBefore(c,i)}(window,document,"script","https://www.google-analytics.com/analytics.js","ga"),ga("create","UA-510626-7","auto"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName("a");Array.prototype.map.call(links,function(e){e.host!=document.location.host&&e.addEventListener("click",function(){var t=e.getAttribute("data-md-action")||"follow";ga("send","event","outbound",t,e.href)})});var query=document.forms.search.query;query.addEventListener("blur",function(){if(this.value){var e=document.location.pathname;ga("send","pageview",e+"?q="+this.value)}})</script>
<script>app.initialize({version:"1.0.4",url:{base:"."}})</script>
</body>