测试开发
   UI测试
  
  本文持续更新中,最新版本:
  交流QQ群:python 测试开发 144081101
  wechat: pythontesting
  淘宝天猫可以把链接发给qq850766020,为你生成优惠券,降低你的购物成本!
  快来领取支付宝跨年红包!1月1日起还有机会额外获得专享红包哦!复制此消息,打开最新版支付宝就能领取!2C56CV70sA
     -  appium - 移动端UI自动化测试。 链接 
-  selenium - web UI自动化测试。 链接 
-  uiautomator- 安卓UI自动化测试。 链接 
-  pyautoacad - AutoCAD自动化。 链接 
-  sikuli - 位图自动化。 链接 
-  monkeyrunner- 安卓自动化。 链接 
-  pywinauto - Windows UI自动化。 链接 
-  ldtp - Linux UI自动化。 链接 
-  dogtail- Linux UI自动化。 链接 
-  pyautogui- 跨平台的UI自动化工具,控制鼠标和键盘。 链接 
-  pyautoit- autoit python api。 链接 
-  splinter - web UI测试工具,基于selnium封装。 链接 
-  雪峰磁针石说明: 
autopy、WATSUP、winGuiAuto因为较长时间未更新未收录
   性能测试
     -  funkload - 性能及功能测试工具。 链接 --推荐 
-  multi-mechanize - python性能测试工具,基于多进程和多线程,是学习性能测试goon工具的佳品。 链接 --推荐 
-  locust - 强大的性能测试工具,使用了协程。 链接 --推荐 
-  ngrinder - 市面上最强大的性能测试工具之一,主要用jython书写脚本,性能在loadrunner和jmeter之上,扩展性好。 链接 --推荐 
-  boom - 类似ab(ApacheBench)的性能测试工具。 链接 
测试框架
     -  Hypothesis - 高级单元测试测试框架,支持行为驱动,基于property 。 链接 
-  unittest - (Python 标准库) 单元测试框架 链接 
-  mamba - 行为驱动测试框架。 链接 
-  nose- 更好的单元测试框架。 链接 
-  nose2- nose基于unittest2的版本。 链接 
-  pytest- 很好的强大的单元测试框架,实际上广泛使用在自动化单元、接口、功能等测试。 链接 
-  Robot Framework- 通用的python测试框架,易于上手,生成的报告比较好看,适合小型公司使用,支持关键字和数据等驱动,系业界内很出名的框架。不过因为写用例不能很灵活的应用python,需要大量的python封装,大公司通常使用pytest,django,flask之类的库自行开发。 链接 
-  pytest- 很好的强大的单元测试框架,实际上广泛使用在自动化单元、接口、功能等测试。 链接 
-  green- 彩色(命令行能显示多种颜色)的单元测试框架。 链接 
-  tox- 基于virtualenv的测试框架,主要用于解决多版本python问题。 链接 
-  sixpack- A/B 测试框架。 链接 
Mock
     -  doublex:强大的测试桩框架。链接 
-  mock:(Python3 标准库) mock和patch。链接 
-  freezegun:伪造时间。[链接]https://github.com/spulec/freezegun) 
-  httmock:Python 2.7+ 和 3.4+ mock requests库。链接 
-  httpretty:Python 的 HTTP 请求 客户端mock 工具,暂时不支持python3。链接 
-  responses:针对requests 库的mock库。链接 
-  VCR.py:录制HTTP请求加快测试执行速度并可进行mock。链接 
-  factoryboy:Python测试fixtures(setup和teardown)替代库。链接 
-  mixer:另外一个测试fixtures(setup和teardown)替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。链接 
-  modelmommy:为 Django测试创建随机fixtures 链接 
-  faker:生成多种伪数据。链接 
-  fake2db:伪造数据库生成器。链接 
-  mimesis:生成mock数据。[链接]https://github.com/lk-geimfari/mimesis) 
-  雪峰磁针石说明: 
radar 因为github星级太少而未收录
   其他测试工具
     -  coverage:代码覆盖率。链接 
-  FuckIt.py:代码出错也可以执行。链接 
持续交付
     -  buildbot - google等公司使用的持续集成框架,上手比Jenkins难,功能和性能远比Jenkins强大。 链接 
-  BitBake – 嵌入式Linux上类似make工具。链接 
-  buildout – 用于从多个部分创建,组装和部署应用程序的构建系统。链接 
-  PlatformIO – 在不同的开发平台的控制台构建工具。链接 
-  PyBuilder – 纯Python编写的持续构建工具。链接 
-  SCons – 软件构建工具。链接 
awesome-python
   管理面板
  用于管理界面的库。
     -  Ajenti - Linux & BSD web管理面板。管理进程和文件等。 链接 
-  django-suit - 现代主题的Django管理界面(仅限非商业用途)。链接 
-  django-xadmin - 方便的Django admin替代。 完全支持插件扩展,基于 Twitter Bootstrap,并有站内书签、支持 xls, csv, xml和json数据导入等不少增强。 链接 
-  flask-admin - Flask的简单和可扩展的 web 管理界面框架。 链接 
-  flower - Celery的实时监控和网络。 链接 
-  Grappelli - Django管理界面的爵士皮肤。[链接]https://github.com/sehmaschine/django-grappelli) 
-  Wooey - 为Python脚本创建自动Web UI的Django应用程序。 链接 
算法和设计模式
  Python的算法和设计模式的实现。
     -  algorithms - Python的算法模块。 链接 
-  PyPattyrn - 简单有效实现通用设计模式。 链接 
-  python-patterns - Python中设计模式的集合。 链接 
-  sortedcontainers - SortedList,SortedDict和SortedSet类型的快速,纯Python实现。 链接 
反病毒
    django-simple-spam-blocker因为github星级太少而未收录
   资产管理
  用于管理,压缩和缩小网站资产的工具。
     -  django-compressor - 将链接和内联的JavaScript或CSS压缩到单个缓存文件中。 链接 
-  django-pipeline - Django的资产包装库。 链接 
-  django-storages - Django自定义存储后端集。 链接 
-  fanstatic - 用 Python 的包的方式封装,优化静态文件并解依赖。 链接 
-  fileconveyor - 检测和同步文件到CDN,S3和FTP的后台程序。 链接 
-  flask-assets - 集成web 资源到Flask应用。 链接 
-  jinja-assets-compressor - Jinja扩展程序,用于编译和压缩资源。 链接 -- github星级不到100. 
-  webassets - 为静态资源打包,优化和管理基于缓存的唯一URL。 链接 
音频
  操作音频的库。
     -  audiolazy - 数字信号处理(DSP)软件包。 链接 
-  audioread - 跨库(GStreamer +Core Audio+ MAD + FFmpeg)音频解码。链接 
-  beets - 音乐库管理和MusicBrainzb标签。链接 -- 推荐 
-  dejavu - 音频指纹识别。链接 -- 推荐 
-  id3reader - 用于读取MP3元数据的Python模块。链接 
-  m3u8 - 解析m3u8文件的模块。链接 
-  mingus - 先进的音乐理论和MIDI文件和播放支持符号包。链接 
-  mutagen - 用于处理音频元数据的Python模块。链接 
-  pyAudioAnalysis - Python音频分析库:特征提取,分类,分割和应用。链接 -- 推荐 
-  pydub - 通过简单易用的高级界面处理音频。链接 -- 推荐 
-  pyechonest - Echo Nest API的Python客户端。链接 
-  talkbox - 用于语音/信号处理的Python库。链接 
-  TimeSide - 开放的Web音频处理框架。链接 
-  tinytag - 用于读取MP3,OGG,FLAC和Wave文件的音乐元数据的库。链接 
-  雪峰磁针石说明: 
django-elastic-transcoder, eyeD3 因为github星级太少而未收录
  scikits.talkbox 因长时间未更新未收录
   认证
     -  Authomatic:简单但是强大的框架,身份验证/授权客户端。链接 
-  django-allauth:Django 的验证应用。链接 
-  django-oauth-toolkit: Django OAuth2。链接 
-  django-oauth2-provider:Django OAuth2。链接 
-  Flask-OAuthlib: Flask OAuthlib 。链接 
-  OAuthLib: 通用完整的实现OAuth请求-签名逻辑。链接 
-  python-oauth2:创建 OAuth 客户端和服务端完全测试的抽象接口。链接 
-  python-social-auth:设置简单的社交认证。链接 
-  rauth:OAuth 1.0/a, 2.0, 和 Ofly。链接 
-  sanction:一个超级简单的OAuth2 客户端实现。链接 
-  PyJWT:JSON Web 令牌草案 01。链接 
-  python-jwt:生成和验证 JSON Web 令牌。链接 
-  雪峰磁针石说明: 
jose,python-jws因为github星级太少而未收录
  scikits.talkbox 因长时间未更新未收录
   CMS
  内容管理系统
     -  django-cms:开源的,基于Django的企业级 CMS。链接 
-  djedi-cms:轻量级但却非常强大的 Django CMS ,考虑到了插件,内联编辑以及性能。[链接]http://djedi-cms.org/) 
-  FeinCMS:基于 Django 构建的最先进的内容管理系统之一。链接 
-  Kotti:高层的的web应用框架,基于 Pyramid 构建。链接 
-  Mezzanine:强大的,一致的,灵活的内容管理平台。链接 -- 推荐 
-  Opps:杂志,报纸网站以及大流量门户网站设计的 CMS 平台,基于 Django。[链接]https://github.com/opps/opps) 
-  Plone:构建于开源应用服务器 Zope 之上的 CMS。链接 
-  Quokka:灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。链接 
-  Wagtail:Django 内容管理系统。链接 -- 推荐 
-  Widgy: CMS 框架,基于 Django。链接 
缓存
  缓存数据的库。
     -  Beaker:缓存和会话库,可以用在 web 应用和独立 Python脚本和应用上。链接 
-  DiskCache:Python磁盘缓存(Django兼容)。。链接 
-  django-cache-machine:Django 模型的自动缓存和失效。链接 
-  django-cacheops:具有自动颗粒化事件驱动失效功能的 ORM。链接 
-  dogpile.cache:dogpile.cache 是 Beaker 的替代,由同一作者开发。链接 
-  HermesCache:Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。链接 
-  johnny-cache:django应用缓存框架。[链接]https://github.com/jmoiron/johnny-cache) 
-  pylibmc:libmemcached 接口的 Python 封装。链接 
-  雪峰磁针石说明: 
django-viewlet因为github星级太少而未收录
   自动聊天工具
     - Errbot:最简单和最流行的聊天机器人用来实现自动聊天工具。链接
代码分析和lint
     -  coala:语言独立和易于扩展的代码分析应用程序。链接 
-  code2flow:把你的 Python 和 JavaScript 代码转换为流程图。暂时无法继续维护。链接 
-  pycallgraph:这个库可以把你的Python 应用的流程(调用图)进行可视化。链接 
-  Flake8:模块化源码检查工具: pep8, pyflakes 以及 co。链接 
-  Pylint:一个完全可定制的源码分析器。链接 
-  pylama:python代码审计。链接 
-  YAPF: Google的Python代码格式化工具。链接 --推荐 
-  pylama:Python 和 JavaScript 的代码审查工具。链接 
-  autopep8:自动格式化 Python 代码,以使其符合 PEP8 规范。链接 --推荐 
-  mypy :静态类型检查。链接 --推荐 
-  pep8 :python风格检查。链接 --推荐 
命令行工具。
   命令行程序开发
     -  asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级API。链接 
-  cement:Python 的命令行程序框架。链接 
-  click:一个通过组合的方式来创建精美命令行界面的包。链接 --推荐 
-  cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。链接 
-  clint:Python 命令行程序工具。链接 
-  colorama:跨平台彩色终端文本。链接 
-  docopt:Python 风格的命令行参数解析器。链接 --推荐 
-  Gooey:一条命令,将命令行程序变成一个 GUI 程序。链接 
-  Python-Fire:将命令行程序变成一个 GUI 程序。链接 --推荐 
-  python-prompt-toolkit:构建强大的交互式命令行程序的库。链接 --推荐 
-  Pythonpy:在命令行中直接执行任何Python指令。链接 
生产力工具
     -  aws-cli:Amazon Web Services 的通用命令行界面。链接 
-  bashplotlib:在终端中进行基本绘图。链接 
-  caniusepython3:判断是哪个项目妨碍你你移植到 Python 3。链接 
-  cookiecutter:从 cookiecutters(项目模板)创建项目的一个命令行工具。链接 
-  doitlive:一个用来在终端中进行现场演示的工具。链接 
-  howdoi:通过命令行获取即时的编程问题解答。链接 --推荐 
-  httpie:命令行HTTP 客户端,cURL 的替代品,易用性更好。链接 
-  PathPicker:从bash输出中选出文件。链接 
-  percol:向UNIX shell 传统管道概念中加入交互式选择功能。链接 
-  SAWS:一个加强版的 AWS 命令行。链接 
-  thefuck:修正你之前的命令行指令。链接 
-  mycli:一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。链接 --推荐 
-  pgcli:Postgres 命令行工具,具有自动补全和语法高亮功能。链接 --推荐 
-  try:很简单的命令行工具,用来试用python库。链接 
兼容性
  帮助从 Python 2 向 Python 3迁移的库。
     计算机视觉
  计算机视觉库。
     -  OpenCV:开源计算机视觉库。链接 
-  pyocr:Tesseract 和 Cuneiform 的包装库。链接 
-  pytesseract:Google Tesseract OCR 的另一包装库。链接 
-  SimpleCV:一个用来创建计算机视觉应用的开源框架。链接 
并发和并行及异步与网络
  用以进行并发和并行操作的库。
     -  multiprocessing:(Python 标准库) 基于进程的“线程”接口。链接 --推荐 
-  threading:(Python 标准库)更高层的线程接口。 链接 --推荐 
-  eventlet:支持 WSGI 的异步框架。链接 
-  gevent:一个基于协程的 Python 网络库,使用greenlet。链接 --推荐 
-  Tomorrow:用于产生异步代码的神奇的装饰器语法实现。 链接  
-  uvloop:在libuv之上超快速实现asyncio事件循环。链接 --推荐 
-  asyncio - (Python 标准库) 异步 I/O, 事件循环, 协程以及任务 链接 --推荐 
-  aiohttp 异步http client/server框架(asyncio) 链接 --推荐 
-  curio 协程并发库. 链接 
-  pulsar - 事件驱动的并发框架. 链接 
-  pyzmq - ZeroMQ 消息库的 Python 封装. 链接 
-  Twisted - 事件驱动的网络引擎. 和asyncio有很多类似的地方,逐渐被代替,需要数据库等相关生态圈的支持 链接 
-  diesel - 基于Greenlet 的事件 I/O 框架。. 链接 
-  Tornado - web 框架和异步网络库. 链接 
-  Trio – 异步I/O 链接 可能会飙升 
-  NAPALM - 处理网络设备的跨供应API. 链接 
-  txZMQ - 基于 Twisted 的 ZeroMQ 消息库的 Python 封装。链接 
动态消息
  用来创建用户活动的库。
     ORM
  实现对象关系映射或数据映射技术的库。
   关系型数据库
     -  Django Models:Django 的一部分。链接 
-  SQLAlchemy:Python SQL 工具以及对象关系映射工具。链接 
-  awesome-sqlalchemy系列 链接 
-  Peewee:一个小巧,富有表达力的 ORM, 支持postgresql, mysql and sqlite。[链接]https://github.com/coleifer/peewee) 
-  PonyORM:提供面向生成器的 SQL 接口的 ORM。链接 
-  python-sql:编写 Python 风格的 SQL 查询。链接 
NoSQL 数据库
     -  django-mongodb-engine:Django MongoDB 后端。链接 
-  PynamoDB:Amazon DynamoDB 的一个 Python 风格接口。链接 
-  flywheel:Amazon DynamoDB 的对象映射工具。链接 
-  MongoEngine:Python 对象文档映射工具,用于 MongoDB。链接 
-  hot-redis:为 Redis 提供 Python 丰富的数据类型。链接 
-  redisco:一个 Python 库,提供可以持续存在在 Redis 中的简单模型和容器。链接 
其他
     包管理
  管理包和依赖的工具。
     包仓库
  本地 PyPI 仓库服务和代理。
     -  warehouse:下一代 PyPI。链接 
-  Warehouse:链接 
-  bandersnatch:PyPA 提供的 PyPI 镜像工具。链接 
-  devpi:PyPI 服务和打包/测试/分发工具。链接 
-  localshop:本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。链接 
分发
  打包为可执行文件以便分发。
     -  PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)。链接 
-  dh-virtualenv:构建并将 virtualenv 虚拟环境作为Debian 包来发布。链接 
-  Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。链接 
-  py2app:将 Python 脚本变为独立软件包(Mac OS X)。链接 
-  py2exe:将 Python 脚本变为独立软件包(Windows)。链接 --已经比较久没有更新了。 
-  pynsist:用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。链接