测试开发
Web UI测试自动化
splinter - web UI测试工具,基于selnium封装。
selenium - web UI自动化测试。 --推荐
mechanize- Python中有状态的程序化Web浏览。
selene - 使用Python + Ajax支持+ PageObjects + Widgets进行简明UI测试
hitch - 基于服务的应用程序的高级集成测试框架。
Needle - Css 自动化测试框架。
seleniumbase - 端到端自动化测试框架。
pytest_splinter - pytest spinter和selenium集成。
Browsermob Proxy - Browsermob Proxy的python包装器。
Selenium-Requests - 扩展Selenium WebDriver类以包含请求库中的请求函数,同时完成所有需要的cookie和请求头处理。
移动测试自动化
appium - 移动端UI自动化测试。 --推荐
uiautomator- 安卓UI自动化测试。
ATX - 智能手机自动化工具。支持iOS,Android,WebApp和游戏。 网易出品 --推荐
uiautomator2- Android Uiautomator2 Python Wrapper。 --推荐
facebook-wda Facebook WebDriverAgent Python Client Library (not official) 可用于IOS应用测试。 --推荐
Windows UI测试自动化
Winium.Desktop - 开源测试自动化工具,用于基于WinForms和WPF平台自动测试Windows应用程序,基于Selenium远程WebDriver实现。
pyautogui- 跨平台的UI自动化工具,控制鼠标和键盘。
autopy - 简单的跨平台GUI自动化工具包,适用于Python。
pywinauto - Windows UI自动化。
SikuliX - 基于OpenCV的GUI测试框架,使用图像识别来定位与之间的项目,来自python 2.7的脚本,跨平台。
UI测试
pyautoacad - AutoCAD自动化。
sikuli - 位图自动化。
monkeyrunner- 安卓自动化。
ldtp - Linux UI自动化。
dogtail- Linux UI自动化。
pyautoit- autoit python api。
性能测试
funkload - 性能及功能测试工具。 --推荐
multi-mechanize - python性能测试工具,基于多进程和多线程,是学习性能测试goon工具的佳品。 --推荐
locust - 强大的性能测试工具,使用了协程。 链接 --推荐
ngrinder - 市面上最强大的性能测试工具之一,主要用jython书写脚本,性能在loadrunner和jmeter之上,扩展性好。 链接 --强烈推荐
boom - 类似ab(ApacheBench)的性能测试工具。
测试框架
pyresttest 接口测试框架 -- 推荐
HttpRunner HTTP接口测试框架 -- 推荐
augmented-traffic-control facebook开发的最强悍弱网网络模拟工具 --强烈推荐
Hypothesis - 高级单元测试测试框架,支持行为驱动,基于property 。 -- 推荐
unittest - (Python 标准库) 单元测试框架 -- 推荐
mamba - 行为驱动测试框架。
nose- 更好的单元测试框架。 -- 推荐
nose2- nose基于unittest2的版本。
pytest- 很好的强大的单元测试框架,实际上广泛使用在自动化单元、接口、功能等测试。 -- 强烈推荐
testify - 单元测试框架,提供增强的测试fixture设置,将测试套件拆分成易于并行化的存储bucket,PEP8命名约定,带有大量日志/报告选项及颜色测试运行器。
trial - Twisted的单元测试框架,基于unittest。
Robot Framework- 通用的python测试框架,易于上手,生成的报告比较好看,适合小型公司使用,支持关键字和数据等驱动,系业界内很出名的框架。不过因为写用例不能很灵活的应用python,需要大量的python封装,大公司通常使用pytest,django,flask之类的库自行开发。
pytest- 很好的强大的单元测试框架,实际上广泛使用在自动化单元、接口、功能等测试。 -- 强烈推荐
green- 彩色(命令行能显示多种颜色)的单元测试框架。
tox- 基于virtualenv的测试框架,主要用于解决多版本python问题。
sixpack- A/B 测试框架。
lettuce- 行为驱动 测试框架。
pyccuracy- 行为驱动 web验收测试框架。
pytest-bdd- 基于pytest的行为驱动 测试框架。
ddt- 数据驱动测试。
behave- 行为驱动测试。
lettuce- 行为驱动测试。
mamba - Python的测试定义工具,基于行为驱动。
pyvows - Python的异步行为驱动开发,Vows.js的python移植。
pyhamcrest - Python的Hamcrest匹配器。
sure - 强大而灵活的断言python测试库。
factory_boy - 基于thinkbot的factory_girl的fixture替代。
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)
其他测试工具
coverage:代码覆盖率。
FuckIt.py:代码出错也可以执行。
RoboBrowser:一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。
MechanicalSoup:用于自动和网络站点交互的 Python 库。
augmented-traffic-control:网络模拟工具。 -- 强烈推荐
持续交付
buildbot - google等公司使用的持续集成框架,上手比Jenkins难,功能和性能远比Jenkins强大。
BitBake – 嵌入式Linux上类似make工具。
buildout – 用于从多个部分创建,组装和部署应用程序的构建系统。
PlatformIO – 在不同的开发平台的控制台构建工具。
PyBuilder – 纯Python编写的持续构建工具。
SCons – 软件构建工具。
测试工具对接
jira –自动化JIRA。
awesome-python
管理面板(Admin Panels)
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应用程序。
算法和设计模式(Algorithms and Design Patterns)
Python的算法和设计模式的实现。
algorithms - Python的算法模块。
PyPattyrn - 简单有效实现通用设计模式。
python-patterns - Python中设计模式的集合。
sortedcontainers - SortedList,SortedDict和SortedSet类型的快速,纯Python实现。
反病毒(Anti-spam)
django-simple-captcha - 简单且高度可定制的Django应用,可以将验证码图像添加到任何Django表单。
资产管理(Asset Management)
用于管理,压缩和缩小网站资产的工具。
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。
音频(Audio)
操作音频的库。
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文件的音乐元数据的库。
认证(Authentication)
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 令牌。
内置类增强(Built-in Classes Enhancement)
attrs - 替换类定义中的init,eq,repr等样板文件。
bidict - 高效的双向字典。
Box - 点符号访问的Python字典
CMS(Content Management Systems)
内容管理系统
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。
缓存(Caching)
缓存数据的库。
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 封装。
自动聊天工具(ChatOps Tools)
Errbot:最简单和最流行的聊天机器人用来实现自动聊天工具。
代码分析和lint(Code Analysis)
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风格检查。 --推荐
prospector - 分析Python代码并输出有关错误,潜在问题,违反常规和复杂性的信息的工具。
命令行工具(Command-line Tools)
命令行程序开发( Command-line Application Development)
asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级API。
cement:Python 的命令行程序框架。
click:一个通过组合的方式来创建精美命令行界面的包。 --推荐
cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。
clint:Python 命令行程序工具。
colorama:跨平台彩色终端文本。
docopt:Python 风格的命令行参数解析器。 --推荐
Gooey:一条命令,将命令行程序变成一个 GUI 程序。
Python-Fire:将命令行程序变成一个 GUI 程序。 --推荐
python-prompt-toolkit:构建强大的交互式命令行程序的库。 --推荐
Pythonpy:在命令行中直接执行任何Python指令。
生产力工具(Productivity Tools)
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库。
兼容性(Compatibility)
帮助从 Python 2 向 Python 3迁移的库。
Python-Future:这就是 Python 2 和 Python 3 之间丢失的那个兼容性层。
Python-Modernize:使 Python 代码更加现代化以便最终迁移到 Python 3。[链接]https://github.com/mitsuhiko/python-modernize)
Six:Python 2 和 3 的兼容性工具。
计算机视觉(Computer Vision)
计算机视觉库。
OpenCV:开源计算机视觉库。
pyocr:Tesseract 和 Cuneiform 的包装库。
pytesseract:Google Tesseract OCR 的另一包装库。
SimpleCV:一个用来创建计算机视觉应用的开源框架。
并发和并行及异步与网络(Concurrency and Parallelism)
用以进行并发和并行操作的库。
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 封装。
配置(Configuration)
用来保存和解析配置的库。
config:logging 模块作者写的分级配置模块。 -- 较长时间未更新
ConfigObj:INI 文件解析器,带验证功能。
ConfigParser:(Python 标准库) INI 文件解析器。
profig:通过值转换配置多种格式。
python-decouple:将设置和代码完全隔离。
加密(Cryptography)
cryptography:这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。
hashids:在 Python 中实现 hashids 。
Paramiko:SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。 -- 推荐
Passlib:安全密码存储/哈希库,
PyCrypto:Python 密码学工具箱。
PyNacl:网络和密码学(NaCl) 库的 Python 绑定。
数据分析(Data Analysis)
blaze:NumPy 和 Pandas 的大数据接口。
Open Mining:使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。
orange:通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和机器学习。
Pandas:提供高性能,易用的数据结构和数据分析工具。--强烈推荐
书籍:利用Python进行数据分析 2017 第二版 代码 --推荐
利用Python进行数据分析·第2版 --推荐
数据验证(Data Validation)
数据验证库。多用于表单验证。
Cerberus: 轻量级可扩展的数据验证库.
colander:验证并反序列化XML、JSON、HTML表单获取的数据。
colander:json模式的实现。
kmatch:一种用于匹配/验证/筛选 Python 字典的语言。
schema:一个用于对 Python 数据结构进行验证的库。
Schematics:人性化的python数据结构。
valideer:轻量级可扩展的数据验证和适配库。
voluptuous:Python 数据验证库。主要是为了验证传入 Python的 JSON,YAML 等数据。
数据可视化(Data Visualization)
进行数据可视化的库。 参见: awesome-javascript。
matplotlib:Python 2D 绘图库。 --推荐
bokeh:用Python进行交互式web绘图。 --推荐 英文快速入门 中文快速入门
ggplot:ggplot的 Python移植。 -荐
plotly:交互式基于浏览器的绘图。
pyecharts:基于百度 Echarts 的数据可视化库。-荐
pygal:Python SVG 图表创建工具。
pygraphviz:Graphviz 的 Python 接口。
PyQtGraph:交互式实时 2D/3D/ 图像绘制及科学/工程学组件。
SnakeViz:基于浏览器的 Python cProfile 模块输出结果查看工具。
vincent:把 Python 转换为 Vega 语法的转换工具。
VisPy:基于 OpenGL 的高性能科学可视化工具。
Altair - 用于Python的声明式统计可视化库。
bqplot - Jupyter Notebook的互动绘图库。
Seaborn - 使用Matplotlib进行统计数据可视化。 -荐
plotly.py 交互式基于浏览器的绘图 -荐
A Dramatic Tour through Python’s Data Visualization Landscape (including ggplot and Altair)
Python data visualization: Comparing 7 tools
10 Useful Python Data Visualization Libraries for Any Discipline
Overview of Python Visualization Tools
Effectively Using Matplotlib
pyecharts + notebook
Bokeh vs Dash
01+ Resources to Learn Data Science chinese
数据库(Database)
Python实现的数据库。
pickleDB:简单,轻量级键值储存数据库。
PipelineDB:流式 SQL 数据库。
TinyDB:轻型的,面向文档型数据库。
ZODB: Python 原生对象数据库。键值和对象图数据库。
数据库驱动(Database Drivers)
连接和操作数据库的库。
mysql-python:Python 的 MySQL 数据库连接器。 不支持python3,不推荐
PyMySQL:纯 Python MySQL 驱动,兼容 mysql-python。 --推荐
mysql-connector-python:mysql官方python API。--推荐
psycopg :Python 中最流行的 PostgreSQL 适配器。 --推荐
queries:psycopg2 库的封装,用来和 PostgreSQL 进行交互。
txpostgres:基于 Twisted 的异步 PostgreSQL 驱动。
apsw:另一个 Python SQLite 封装。
dataset:在数据库中存储 Python 字典
pymssql:简单的 Microsoft SQL Server 数据库接口。
cassandra-python-driver:Cassandra 的 Python 驱动。
HappyBase:Apache HBase。
Plyvel:快速且功能丰富的 LevelDB 的 Python 接口。
pycassa:Cassandra 的 Python Thrift 驱动。
PyMongo:MongoDB 的官方 Python 客户端。 -- 推荐
redis-py:Redis 的 Python 客户端。 -- 推荐
telephus:基于 Twisted 的 Cassandra 客户端。
txRedis:基于 Twisted 的 Redis 客户端。
私信我回复【零基础学习资料】,发你Python零基础入门的学习资料
私信我回复【开发工具】,发你Python零基础入门开发工具