记得当初学C/C++,留下的深刻印象就是严肃、谨慎,特别关注功能函数实现,写代码前会经常看书,怕自己犯低级又不可知的错误,像那些经典《C和指针》、《C缺陷和陷阱》、《编程之美》等等,读到最后感觉这些书已经不是在写编程了,而是在写哲学,设计的美学,虽然现在都忘的一干二净了....


然后,接触Python,刚开始别扭的要命,单这一条把函数代码块的大括号换成冒号+缩进就看不过去,太随意太任性啦。但是,后来居然渐渐觉得这家伙真美,真洒脱,要搞个什么出来都有一大堆架子,似乎不用再费心思细节实现,只要把注意力放在设计好整体功能逻辑,直接找现成框架、库、有时连相关文档都不想看,就急着开始拼装,边拼边看文档,很快就能达成目的,所以,面试时遇到有的候选人,么有任何计算机基础都说自己会python,会Python啊,只能说入门太简单了。


不过,任何事情想精进、精通都不是那么容易的,只是入门有难易之别,给人的错觉罢了。


Python关注解决问题的方法,而不在具体的底层细节实现,所以,架子很多,这要感谢Python社区、爱好者的无私奉献,比如这哥们儿,KennethReitz。


扯了这么多,回到正题,其实,本文就是想介绍Python在各个领域的框架、第三方库或工具资源,混个眼熟,说不定什么时候用上了,谁让python手那么长呢,哈哈


资源列表来源:

https://awesome-python.com/



管理面板

Libraries for administrative interfaces.

ajenti- The admin panel your servers deserve.

django-grappelli- A jazzy skin for the Django Admin-Interface.

django-suit- Alternative Django Admin-Interface (free only for Non-commercial use).

django-xadmin- Drop-in replacement of Django admin comes with lots of goodies.

flask-admin- Simple and extensible administrative interface framework for Flask.

flower- Real-time monitor and web admin for Celery.

wooey- A Django app which creates automatic web UIs for Python scripts



算法计模式

Python implementation of algorithms and design patterns.

algorithms- Minimal examples of data structures and algorithms in Python.

PyPattyrn- A simple yet effective library for implementing common design patterns.

python-patterns- A collection of design patterns in Python.

sortedcontainers- Fast, pure-Python implementation of SortedList, SortedDict, and SortedSet types.



音频

Libraries for manipulating audio and its metadata.

Audio

audioread- Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.

dejavu- Audio fingerprinting and recognition.

mingus- An advanced music theory and notation package with MIDI file and playback support.

pyAudioAnalysis- Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications

pydub- Manipulate audio with a simple and easy high level interface.

TimeSide- Open web audio processing framework.

Metadata

beets- A music library manager andMusicBrainztagger.

eyeD3- A tool for working with audio files, specifically MP3 files containing ID3 metadata.

mutagen- A Python module to handle audio metadata.

tinytag- A library for reading music meta data of MP3, OGG, FLAC and Wave files.



视频


Libraries for manipulating video and GIFs.

moviepy- A module for script-based movie editing with many formats, including animated GIFs.

scikit-video- Video processing routines for SciPy.



认证

Libraries for implementing authentications schemes.

OAuth

authlib- JavaScript Object Signing and Encryption draft implementation.

django-allauth- Authentication app for Django that "just works."

django-oauth-toolkit- OAuth 2 goodies for Django.

oauthlib- A generic and thorough implementation of the OAuth request-signing logic.

python-oauth3- A fully tested, abstract interface to creating OAuth clients and servers.

python-social-auth- An easy-to-setup social authentication mechanism.

JWT

pyjwt- JSON Web Token implementation in Python.

python-jose- A JOSE implementation in Python.

python-jwt- A module for generating and verifying JSON Web Tokens.



加密


cryptography- A package designed to expose cryptographic primitives and recipes to Python developers.

paramiko- A Python (2.6+, 3.3+) implementation of the SSHv2 protocol, providing both client and server functionality.

passlib- Secure password storage/hashing library, very high level.

pynacl- Python binding to the Networking and Cryptography (NaCl) library.



构建工具

Compile software from source code.

BitBake- A make-like build tool for embedded Linux.

buildout- A build system for creating, assembling and deploying applications from multiple parts.

PlatformIO- A console tool to build code with different development platforms.

pybuilder- A continuous build tool written in pure Python.

SCons- A software construction tool.



DevOps工具

Software and libraries for DevOps.

ansible- A radically simple IT automation platform.

cloudinit- A multi-distribution package that handles early initialization of a cloud instance.

cuisine- Chef-like functionality for Fabric.

docker-compose- Fast, isolated development environments usingDocker.

fabric- A simple, Pythonic tool for remote execution and deployment.

fabtools- Tools for writing awesome Fabric files.

honcho- A Python clone ofForeman, for managing Procfile-based applications.

OpenStack- Open source software for building private and public clouds.

pexpect- Controlling interactive programs in a pseudo-terminal like GNU expect.

psutil- A cross-platform process and system utilities module.

saltstack- Infrastructure automation and management system.

supervisor- Supervisor process control system for UNIX.



内容管理系统

Content Management Systems.

wagtail- A Django content management system.

django-cms- An Open source enterprise CMS based on the Django.

feincms- One of the most advanced Content Management Systems built on Django.

Kotti- A high-level, Pythonic web application framework built on Pyramid.

mezzanine- A powerful, consistent, and flexible content management platform.

plone- A CMS built on top of the open source application server Zope.

quokka- Flexible, extensible, small CMS powered by Flask and MongoDB.



ORM

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

Relational Databases

awesome-sqlalchemy

Django Models- A part of Django.

SQLAlchemy- The Python SQL Toolkit and Object Relational Mapper.

dataset- Store Python dicts in a database - works with SQLite, MySQL, and PostgreSQL.

orator- The Orator ORM provides a simple yet beautiful ActiveRecord implementation.

peewee- A small, expressive ORM.

pony- ORM that provides a generator-oriented interface to SQL.

pydal- A pure Python Database Abstraction Layer.

NoSQL Databases

hot-redis- Rich Python data types for Redis.

mongoengine- A Python Object-Document-Mapper for working with MongoDB.

PynamoDB- A Pythonic interface forAmazon DynamoDB.

redisco- A Python Library for Simple Models and Containers Persisted in Redis.



缓存

Libraries for caching data.

beaker- A WSGI middleware for sessions and caching.

django-cache-machine- Automatic caching and invalidation for Django models.

django-cacheops- A slick ORM cache with automatic granular event-driven invalidation.

dogpile.cache- dogpile.cache is next generation replacement for Beaker made by same authors.

HermesCache- Python caching library with tag-based invalidation and dogpile effect prevention.

pylibmc- A Python wrapper around thelibmemcachedinterface.

python-diskcache- SQLite and file backed cache backend with faster lookups than memcached and redis.



聊天机器人


Libraries for chatbot development.

errbot- The easiest and most popular chatbot to implement ChatOps.



推荐系统

Libraries for building recommender systems.

annoy- Approximate Nearest Neighbors in C++/Python optimized for memory usage.

fastFM- A library for Factorization Machines.

implicit- A fast Python implementation of collaborative filtering for implicit datasets.

libffm- A library for Field-aware Factorization Machine (FFM).

lightfm- A Python implementation of a number of popular recommendation algorithms.

spotlight- Deep recommender models using PyTorch.

Surprise- A scikit for building and analyzing recommender systems.

tensorrec- A Recommendation Engine Framework in TensorFlow.



代码分析

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

Code Analysis

coala- Language independent and easily extendable code analysis application.

code2flow- Turn your Python and JavaScript code into DOT flowcharts.

prospector- A tool to analyse Python code.

pycallgraph- A library that visualises the flow (call graph) of your Python application.

Code Linters

flake8- A wrapper aroundpycodestyle,pyflakesand McCabe.

pylint- A fully customizable source code analyzer.

pylama- A code audit tool for Python and JavaScript. Code Formatters

black- The uncompromising Python code formatter.

yapf- Yet another Python code formatter from Google.

Static Type Checkers

mypy- Check variable types during compile time.

pyre-check- Performant type checking.

Static Type Annotations Generators

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



代码质量

Codacy- Automated Code Review to ship better code, faster.

Codecov- Code coverage dashboard.

CodeFactor- Automated Code Review for Git.

Landscape- Hosted continuous Python code metrics.



持续集成

See:awesome-CIandCD.

CircleCI- A CI service that can run very fast parallel testing. (GitHub only)

Travis CI- A popular CI service for your open source andprivateprojects. (GitHub only)

Vexor CI- A continuous integration tool for private apps with pay-per-minute billing model.

Wercker- A Docker-based platform for building and deploying applications and microservices.



命令行工具

Libraries for building command-line application.

Command-line Application Development

cement- CLI Application Framework for Python.

click- A package for creating beautiful command line interfaces in a composable way.

cliff- A framework for creating command-line programs with multi-level commands.

clint- Python Command-line Application Tools.

docopt- Pythonic command line arguments parser.

python-fire- A library for creating command line interfaces from absolutely any Python object.

python-prompt-toolkit- A library for building powerful interactive command lines.

Terminal Rendering

asciimatics- A package to create full-screen text UIs (from interactive forms to ASCII animations).

bashplotlib- Making basic plots in the terminal.

colorama- Cross-platform colored terminal text.

Productivity Tools

cookiecutter- A command-line utility that creates projects from cookiecutters (project templates).

doitlive- A tool for live presentations in the terminal.

howdoi- Instant coding answers via the command line.

PathPicker- Select files out of bash output.

percol- Adds flavor of interactive selection to the traditional pipe concept on UNIX.

thefuck- Correcting your previous console command.

tmuxp- Atmuxsession manager.

try- A dead simple CLI to try out python packages - it's never been easier.

CLI Enhancements

httpie- A command line HTTP client, a user-friendly cURL replacement.

kube-shell- An integrated shell for working with the Kubernetes CLI.

mycli- A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.

pgcli- Postgres CLI with autocompletion and syntax highlighting.

saws- A Superchargedaws-cli.



配置

Libraries for storing and parsing configuration options.

configobj- INI file parser with validation.

configparser- (Python standard library) INI file parser.

profig- Config from multiple formats with value conversion.

python-decouple- Strict separation of settings from code.



文档工具

Libraries for generating project documentation.

sphinx- Python Documentation generator.

awesome-sphinxdoc

pdoc- Epydoc replacement to auto generate API documentation for Python libraries.

pycco- The literate-programming-style documentation generator.



下载工具

Libraries for downloading.

s3cmd- A command line tool for managing Amazon S3 and CloudFront.

s4cmd- Super S3 command line tool, good for higher performance.

you-get- A YouTube/Youku/Niconico video downloader written in Python 3.

youtube-dl- A small command-line program to download videos from YouTube.



调试工具

Libraries for debugging code.

pdb-like Debugger

ipdb- IPython-enabledpdb.

pdb++- Another drop-in replacement for pdb.

pudb- A full-screen, console-based Python debugger.

wdb- An improbable web debugger through WebSockets.

Tracing

lptrace-stracefor Python programs.

manhole- Debug service that will accept unix domain socket connections and present the stacktraces for all threads and an interactive prompt.

pyringe- Debugger capable of attaching to and injecting code into Python processes.

python-hunter- A flexible code tracing toolkit.

Profiler

line_profiler- Line-by-line profiling.

memory_profiler- Monitor Memory usage of Python code.

profiling- An interactive Python profiler.

py-spy- A sampling profiler for Python programs. Written in Rust.

pyflame- A ptracing profiler For Python.

vprof- Visual Python profiler.



深度学习

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

caffe- A fast open framework for deep learning..

keras- A high-level neural networks library and capable of running on top of either TensorFlow or Theano.

mxnet- A deep learning framework designed for both efficiency and flexibility.

pytorch- Tensors and Dynamic neural networks in Python with strong GPU acceleration.

SerpentAI- Game agent framework. Use any video game as a deep learning sandbox.

tensorflow- The most popular Deep Learning framework created by Google.

Theano- A library for fast numerical computation.



机器学习

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

H2O- Open Source Fast Scalable Machine Learning Platform.

Metrics- Machine learning evaluation metrics.

NuPIC- Numenta Platform for Intelligent Computing.

scikit-learn- The most popular Python library for Machine Learning.

Spark ML-Apache Spark's scalable Machine Learning library.

vowpal_porpoise- A lightweight Python wrapper forVowpal Wabbit.

xgboost- A scalable, portable, and distributed gradient boosting library.



计算机视觉

Libraries for computer vision.

OpenCV- Open Source Computer Vision Library.

pytesseract- Another wrapper forGoogle Tesseract OCR.

SimpleCV- An open source framework for building computer vision applications.



分布式计算

Frameworks and libraries for Distributed Computing.

Batch Processing

PySpark-Apache SparkPython API.

dask- A flexible parallel computing library for analytic computing.

luigi- A module that helps you build complex pipelines of batch jobs.

mrjob- Run MapReduce jobs on Hadoop or Amazon Web Services.

Ray- A system for parallel and distributed Python that unifies the machine learning ecosystem.

Stream Processing

faust- A stream processing library, porting the ideas fromKafka Streamsto Python.

streamparse- Run Python code against real-time streams of data viaApache Storm.



数据分析

Libraries for data analyzing.

Blaze- NumPy and Pandas interface to Big Data.

Open Mining- Business Intelligence (BI) in Pandas interface.

Orange- Data mining, data visualization, analysis and machine learning through visual programming or scripts.

Pandas- A library providing high-performance, easy-to-use data structures and data analysis tools.

Optimus- Cleansing, pre-processing, feature engineering, exploratory data analysis and easy Machine Learning with a PySpark backend.



数据验证


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

Cerberus- A lightweight and extensible data validation library.

colander- Validating and deserializing data obtained via XML, JSON, an HTML form post.

Dash- Built on top of Flask, React and Plotly aimed at analytical web applications.

awesome-dash

jsonschema- An implementation ofJSON Schemafor Python.

schema- A library for validating Python data structures.

Schematics- Data Structure Validation.

valideer- Lightweight extensible data validation and adaptation library.

voluptuous- A Python data validation library.



并发与并行开发

Libraries for concurrent and parallel execution. Seeawesome-asyncio.

concurrent.futures- (Python standard library) A high-level interface for asynchronously executing callables.

multiprocessing- (Python standard library) Process-based parallelism.

eventlet- Asynchronous framework with WSGI support.

gevent- A coroutine-based Python networking library that usesgreenlet.

uvloop- Ultra fast implementation ofasyncioevent loop on top oflibuv.

scoop- Scalable Concurrent Operations in Python.



任务调度

Libraries for scheduling jobs.

APScheduler- A light but powerful in-process task scheduler that lets you schedule functions.

django-schedule- A calendaring app for Django.

doit- A task runner and build tool.

gunnery- Multipurpose task execution tool for distributed systems with web-based interface.

Joblib- A set of tools to provide lightweight pipelining in Python.

Plan- Writing crontab file in Python like a charm.

schedule- Python job scheduling for humans.

Spiff- A powerful workflow engine implemented in pure Python.

TaskFlow- A Python library that helps to make task execution easy, consistent and reliable.

Airflow- Airflow is a platform to programmatically author, schedule and monitor workflows.



数据库驱动

Libraries for connecting and operating databases.

MySQL -awesome-mysql

mysqlclient- MySQL connector with Python 3 support (mysql-pythonfork).

PyMySQL- A pure Python MySQL driver compatible to mysql-python.

PostgreSQL -awesome-postgres

psycopg2- The most popular PostgreSQL adapter for Python.

queries- A wrapper of the psycopg2 library for interacting with PostgreSQL.

Other Relational Databases

pymssql- A simple database interface to Microsoft SQL Server.

NoSQL Databases

cassandra-driver- The Python Driver for Apache Cassandra.

happybase- A developer-friendly library for Apache HBase.

kafka-python- The Python client for Apache Kafka.

py2neo- Python wrapper client for Neo4j's restful interface.

pymongo- The official Python client for MongoDB.

redis-py- The Python client for Redis.

Asynchronous Clients

motor- The async Python driver for MongoDB.

Telephus- Twisted based client for Cassandra.

txpostgres- Twisted based asynchronous driver for PostgreSQL.

txRedis- Twisted based client for Redis.



GUI编程

Libraries for working with graphical user interface applications.

curses- Built-in wrapper forncursesused to create terminal GUI applications.

Eel- Little library for making simple Electron-like offline HTML/JS GUI apps, with full access to Python capabilities and libraries.

enaml- Creating beautiful user-interfaces with Declaratic Syntax like QML.

Flexx- Flexx is a pure Python toolkit for creating GUI's, that uses web technology for its rendering.

Gooey- Turn command line programs into a full GUI application with one line.

kivy- A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.

pyglet- A cross-platform windowing and multimedia library for Python.

PyGObject- Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).

PyQt- Python bindings for theQtcross-platform application and UI framework, with support for both Qt v4 and Qt v5 frameworks.

PySide- Python bindings for theQtcross-platform application and UI framework, supporting the Qt v4 framework.

PySimpleGUI- Wrapper for tkinter, Qt, WxPython and Remi that creates a unified, easy to understand & more Python-like interface for beginner and intermediate level custom GUIs.

pywebview- A lightweight cross-platform native wrapper around a webview component that allows to display HTML content in its own native dedicated window.

Tkinter- Tkinter is Python's de-facto standard GUI package.

Toga- A Python native, OS native GUI toolkit.

urwid- A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.

wxPython- A blending of the wxWidgets C++ class library with the Python.



游戏开发

Awesome game development libraries.

Cocos2d- cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on pyglet.

Harfang3D- 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++.

Panda3D- 3D game engine developed by Disney and maintained by Carnegie Mellon's Entertainment Technology Center. Written in C++, completely wrapped in Python.

Pygame- Pygame is a set of Python modules designed for writing games.

PyOgre- Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D.

PyOpenGL- Python ctypes bindings for OpenGL and it's related APIs.

PySDL2- A ctypes based wrapper for the SDL2 library.

RenPy- A Visual Novel engine.



HTML操作

Libraries for working with HTML and XML.

BeautifulSoup- Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.

bleach- A whitelist-based HTML sanitization and text linkification library.

cssutils- A CSS library for Python.

html5lib- A standards-compliant library for parsing and serializing HTML documents and fragments.

lxml- A very fast, easy-to-use and versatile library for handling HTML and XML.

MarkupSafe- Implements a XML/HTML/XHTML Markup safe string for Python.

pyquery- A jQuery-like library for parsing HTML.

untangle- Converts XML documents to Python objects for easy access.

WeasyPrint- A visual rendering engine for HTML and CSS that can export to PDF.

xmldataset- Simple XML Parsing.

xmltodict- Working with XML feel like you are working with JSON.



HTTP处理

Libraries for working with HTTP.

grequests- requests + gevent for asynchronous HTTP requests.

httplib2- Comprehensive HTTP client library.

requests- HTTP Requests for Humans™.

treq- Python requests like API built on top of Twisted's HTTP client.

urllib3- A HTTP library with thread-safe connection pooling, file post support, sanity friendly.



图片处理


Libraries for manipulating images.

hmap- Image histogram remapping.

imgSeek- A project for searching a collection of images using visual similarity.

nude.py- Nudity detection.

pagan- Retro identicon (Avatar) generation based on input string and hash.

pillow- Pillow is the friendlyPILfork.

pyBarcode- Create barcodes in Python without needing PIL.

pygram- Instagram-like image filters.

python-qrcode- A pure Python QR Code generator.

Quads- Computer art based on quadtrees.

scikit-image- A Python library for (scientific) image processing.

thumbor- A smart imaging service. It enables on-demand crop, re-sizing and flipping of images.

wand- Python bindings forMagickWand, C API for ImageMagick.



自然语言处理

Libraries for working with human languages.

General

gensim- Topic Modelling for Humans.

langid.py- Stand-alone language identification system.

nltk- A leading platform for building Python programs to work with human language data.

pattern- A web mining module for the Python.

polyglot- Natural language pipeline supporting hundreds of languages.

pytext- A natural language modeling framework based on PyTorch.

PyTorch-NLP- A toolkit enabling rapid deep learning NLP prototyping for research.

spacy- A library for industrial-strength natural language processing in Python and Cython.

stanfordnlp- The Stanford NLP Group's official Python library, supporting 50+ languages.

Chinese

jieba- The most popular Chinese text segmentation library.

pkuseg-python- A toolkit for Chinese word segmentation in various domains.

snownlp- A library for processing Chinese text.

funNLP- A collection of tools and datasets for Chinese NLP.



日志

Libraries for generating and working with logs.

Eliot- Logging for complex & distributed systems.

logbook- Logging replacement for Python.

logging- (Python standard library) Logging facility for Python.

raven- Python client for Sentry, a log/error tracking, crash reporting and aggregation platform for web applications.



文件格式处理

Libraries for parsing and manipulating specific text formats.

General

tablib- A module for Tabular Datasets in XLS, CSV, JSON, YAML.

Office

openpyxl- A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.

pyexcel- Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files.

python-docx- Reads, queries and modifies Microsoft Word 2007/2008 docx files.

python-pptx- Python library for creating and updating PowerPoint (.pptx) files.

unoconv- Convert between any document format supported by LibreOffice/OpenOffice.

XlsxWriter- A Python module for creating Excel .xlsx files.

xlwings- A BSD-licensed library that makes it easy to call Python from Excel and vice versa.

xlwt/xlrd- Writing and reading data and formatting information from Excel files.

PDF

PDFMiner- A tool for extracting information from PDF documents.

PyPDF2- A library capable of splitting, merging and transforming PDF pages.

ReportLab- Allowing Rapid creation of rich PDF documents.

Markdown

Mistune- Fastest and full featured pure Python parsers of Markdown.

Python-Markdown- A Python implementation of John Gruber’s Markdown.

YAML

PyYAML- YAML implementations for Python.

CSV

csvkit- Utilities for converting to and working with CSV.

Archive

unp- A command line tool that can unpack archives easily.



文本处理

Libraries for parsing and manipulating plain texts.

General

chardet- Python 2/3 compatible character encoding detector.

difflib- (Python standard library) Helpers for computing deltas.

ftfy- Makes Unicode text less broken and more consistent automagically.

fuzzywuzzy- Fuzzy String Matching.

Levenshtein- Fast computation of Levenshtein distance and string similarity.

pangu.py- Paranoid text spacing.

pyfiglet- An implementation of figlet written in Python.

pypinyin- Convert Chinese hanzi (漢字) to pinyin (拼音).

textdistance- Compute distance between sequences. 30+ algorithms, pure python implementation, common interface, optional external libs usage.

unidecode- ASCII transliterations of Unicode text.

Slugify

awesome-slugify- A Python slugify library that can preserve unicode.

python-slugify- A Python slugify library that translates unicode to ASCII.

unicode-slugify- A slugifier that generates unicode slugs with Django as a dependency.

Unique identifiers

hashids- Implementation ofhashidsin Python.

shortuuid- A generator library for concise, unambiguous and URL-safe UUIDs.

Parser

ply- Implementation of lex and yacc parsing tools for Python.

pygments- A generic syntax highlighter.

pyparsing- A general purpose framework for generating parsers.

python-nameparser- Parsing human names into their individual components.

python-phonenumbers- Parsing, formatting, storing and validating international phone numbers.

python-user-agents- Browser user agent parser.

sqlparse- A non-validating SQL parser.



硬件

Libraries for programming with hardware.

ino- Command line toolkit for working withArduino.

keyboard- Hook and simulate global keyboard events on Windows and Linux.

mouse- Hook and simulate global mouse events on Windows and Linux.

Pingo- Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.

PyUserInput- A module for cross-platform control of the mouse and keyboard.

scapy- A brilliant packet manipulation library.

wifi- A Python library and command line tool for working with WiFi on Linux.



windows编程接口

Python programming on Microsoft Windows.

Python(x,y)- Scientific-applications-oriented Python Distribution based on Qt and Spyder.

pythonlibs- Unofficial Windows binaries for Python extension packages.

PythonNet- Python Integration with the .NET Common Language Runtime (CLR).

PyWin32- Python Extensions for Windows.

WinPython- Portable development environment for Windows 7/8.



数据搜索

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

elasticsearch-py- The official low-level Python client forElasticsearch.

elasticsearch-dsl-py- The official high-level Python client for Elasticsearch.

django-haystack- Modular search for Django.

pysolr- A lightweight Python wrapper forApache Solr.

whoosh- A fast, pure Python search engine library.



WEB内容提取

Libraries for extracting web contents.

html2text- Convert HTML to Markdown-formatted text.

lassie- Web Content Retrieval for Humans.

micawber- A small library for extracting rich content from URLs.

newspaper- News extraction, article extraction and content curation in Python.

python-readability- Fast Python port of arc90's readability tool.

requests-html- Pythonic HTML Parsing for Humans.

sumy- A module for automatic summarization of text documents and HTML pages.

textract- Extract text from any document, Word, PowerPoint, PDFs, etc.

toapi- Every web site provides APIs.



WEB网页爬取

Libraries to automate data extraction from websites.

cola- A distributed crawling framework.

feedparser- Universal feed parser.

grab- Site scraping framework.

MechanicalSoup- A Python library for automating interaction with websites.

portia- Visual scraping for Scrapy.

pyspider- A powerful spider system.

robobrowser- A simple, Pythonic library for browsing the web without a standalone web browser.

scrapy- A fast high-level screen scraping and web crawling framework.



WEB框架

Full stack web frameworks.

Django- The most popular web framework in Python.

awesome-django

Flask- A microframework for Python.

awesome-flask

Pyramid- A small, fast, down-to-earth, open source Python web framework.

awesome-pyramid

Sanic- Web server that's written to go fast.

Vibora- Fast, efficient and asynchronous Web framework inspired by Flask.

Tornado- A Web framework and asynchronous networking library.



WebSocket

Libraries for working with WebSocket.

autobahn-python- WebSocket & WAMP for Python on Twisted andasyncio.

crossbar- Open-source Unified Application Router (Websocket & WAMP for Python on Autobahn).

django-channels- Developer-friendly asynchrony for Django.

django-socketio- WebSockets for Django.

WebSocket-for-Python- WebSocket client and server library for Python 2 and 3 as well as PyPy.



RESTful API

Libraries for developing RESTful APIs.

Django

django-rest-framework- A powerful and flexible toolkit to build web APIs.

django-tastypie- Creating delicious APIs for Django apps.

Flask

eve- REST API framework powered by Flask, MongoDB and good intentions.

flask-api-utils- Taking care of API representation and authentication for Flask.

flask-api- Browsable Web APIs for Flask.

flask-restful- Quickly building REST APIs for Flask.

flask-restless- Generating RESTful APIs for database models defined with SQLAlchemy.

Pyramid

cornice- A RESTful framework for Pyramid.

Framework agnostic

apistar- A smart Web API framework, designed for Python 3.

falcon- A high-performance framework for building cloud APIs and web app backends.

hug- A Python3 framework for cleanly exposing APIs over HTTP and the Command Line with automatic documentation and validation.

restless- Framework agnostic REST framework based on lessons learned from Tastypie.

ripozo- Quickly creating REST/HATEOAS/Hypermedia APIs.

sandman- Automated REST APIs for existing database-driven systems.



模板引擎

Libraries and tools for templating and lexing.

Jinja2- A modern and designer friendly templating language.

Genshi- Python templating toolkit for generation of web-aware output.

Mako- Hyperfast and lightweight templating for the Python platform.



测试相关

Libraries for testing codebases and generating test data.

Testing Frameworks

pytest- A mature full-featured Python testing tool.

hypothesis- Hypothesis is an advanced Quickcheck style property based testing library.

nose2- The successor tonose, based on `unittest2.

Robot Framework- A generic test automation framework.

unittest- (Python standard library) Unit testing framework.

Test Runners

green- A clean, colorful test runner.

mamba- The definitive testing tool for Python. Born under the banner of BDD.

tox- Auto builds and tests distributions in multiple Python versions

GUI / Web Testing

locust- Scalable user load testing tool written in Python.

PyAutoGUI- PyAutoGUI is a cross-platform GUI automation Python module for human beings.

Selenium- Python bindings forSeleniumWebDriver.

sixpack- A language-agnostic A/B Testing framework.

splinter- Open source tool for testing web applications.

Mock

doublex- Powerful test doubles framework for Python.

freezegun- Travel through time by mocking the datetime module.

httmock- A mocking library for requests for Python 2.6+ and 3.2+.

httpretty- HTTP request mock tool for Python.

mock- (Python standard library) A mocking and patching library.

Mocket- Socket Mock Framework plus HTTP[S]/asyncio/gevent mocking library with recording/replaying capability.

responses- A utility library for mocking out the requests Python library.

VCR.py- Record and replay HTTP interactions on your tests.

Object Factories

factory_boy- A test fixtures replacement for Python.

mixer- Another fixtures replacement. Supported Django, Flask, SQLAlchemy, Peewee and etc.

model_mommy- Creating random fixtures for testing in Django.

Code Coverage

coverage- Code coverage measurement.

Fake Data

mimesis- is a Python library that help you generate fake data.

fake2db- Fake database generator.

faker- A Python package that generates fake data.

radar- Generate random datetime / time.

Error Handler

FuckIt.py- FuckIt.py uses state-of-the-art technology to make sure your Python code runs whether it has any right to or not.


RPC Servers

RPC-compatible servers.

SimpleJSONRPCServer- This library is an implementation of the JSON-RPC specification.

SimpleXMLRPCServer- (Python standard library) Simple XML-RPC server implementation, single-threaded.

zeroRPC- zerorpc is a flexible RPC implementation based onZeroMQandMessagePack.



WSGI Servers

WSGI-compatible web servers.

bjoern- Asynchronous, very fast and written in C.

gunicorn- Pre-forked, partly written in C.

uWSGI- A project aims at developing a full stack for building hosting services, written in C.

waitress- Multi-threaded, powers Pyramid.

werkzeug- A WSGI utility library for Python that powers Flask and can easily be embedded into your own projects.


其他资源

关于python学习、分享、交流,笔者开通了微信公众号【小蟒社区】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学python。