oychw的个人博客分享 http://blog.sciencenet.cn/u/oychw

博文

可爱的Python测试开发自动化测试库 人工智能,机器学习,大数据

已有 625 次阅读 2018-3-27 14:21 |个人分类:python|系统分类:科研笔记| python, 测试开发, 自动化测试, 人工智能, 机器学习

 

Table of Contents

Python测试开发库

参考资料

最新版本参见:https://github.com/xurongzhong/mobile_data


交流QQ群:python 测试开发自动化测试 144081101  Python数据分析pandas Excel 630011153 中医草药自学自救大数据 391441566 南方中医草药鉴别学习 184175668 中医草药湿热湿疹胃病 291184506 python高级人工智能视觉 6089740

wechat: pythontesting

淘宝天猫购物可以把链接发给qq850766020,为你生成优惠券,降低你的购物成本!

测试开发

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。 链接

  • 雪峰磁针石说明:

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- 很好的强大的单元测试框架,实际上广泛使用在自动化单元、接口、功能等测试。 链接 -- 强烈推荐

  • 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)

  • 雪峰磁针石说明:

radar 因为github星级太少而未收录

其他测试工具

  • 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表单。 链接

  • 雪峰磁针石说明:

django-simple-spam-blocker因为github星级太少而未收录

资产管理(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文件的音乐元数据的库。链接

  • 雪峰磁针石说明:

django-elastic-transcoder, eyeD3 因为github星级太少而未收录

scikits.talkbox 因长时间未更新未收录

认证(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 令牌。链接

  • 雪峰磁针石说明:

jose,python-jws因为github星级太少而未收录

scikits.talkbox 因长时间未更新未收录

内置类增强(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 封装。链接

  • 雪峰磁针石说明:

django-viewlet因为github星级太少而未收录

自动聊天工具(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迁移的库。

计算机视觉(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 第二版 代码 链接  --推荐

数据验证(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进行统计数据可视化。链接 -荐

数据库(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 客户端。链接

日期和时间(Date and Time)

操作日期和时间的类库。

  • arrow:更好的 Python 日期时间操作类库。链接  -- 推荐

  • Chronyk:Python 3 的类库,用于解析手写格式的时间和日期。链接

  • dateutil:Python datetime 模块的扩展。链接

  • delorean:解决 Python 中有关日期处理的棘手问题的库。链接

  • moment:用来处理时间和日期的 Python 库。灵感来自于 Moment.js。链接

  • pendulum:更处理datetime。链接

  • PyTime:简单易用的 Python 模块,用于通过字符串来操作日期/时间。链接

  • pytz:现代以及历史版本的世界时区定义。将时区数据库引入 Python。链接 --推荐

  • when.py:提供用户友好的函数来帮助用户进行常用的日期和时间操作。链接

  • when.py:人性化的datetime。链接

调试工具(Debugging Tools)

代码调试的库。

  • ipdb:IPython的 pdb。链接

  • pudb:pdb的替代。链接 -- 推荐

  • pudb:全屏,基于控制台的 Python 调试器。链接

  • pyringe:可以在 Python 进程中附加和注入代码的调试器。链接

  • wdb:一个奇异的 web 调试器,通过 WebSockets 工作。链接

  • winpdb:一个具有图形用户界面的 Python 调试器,可以进行远程调试,基于 rpdb2。链接

  • django-debug-toolbar:为 Django 显示各种调试信息。链接

  • django-devserver:一个 Django 运行服务器的替代品。链接

  • flask-debugtoolbar:django-debug-toolbar 的 flask 版。链接

  • 性能分析器 lineprofiler:逐行性能分析。链接

  • Memory Profiler:监控 Python 代码的内存使用。官网、内存 profiling:一个交互式 Python 性能分析工具。链接

  • 其他 pyelftools:解析和分析 ELF 文件以及 DWARF 调试信息。链接

  • python-statsd:statsd 服务器的 Python 客户端。链接

Deep Learning

机器学习库。 参见:awesome-deep-learning.*

  • Caffe - 快速开放的深度学习框架 --推荐

  • Keras - 高级神经网络库,能够在TensorFlow或Theano之上运行。 --推荐

  • MXNet - 高效率和灵活的深度学习框架。

  • Neupy - 运行和测试不同的人工神经网络算法.

  • Pytorch - Python中的张量和动态神经网络,具有强大的GPU加速功能。 --推荐

  • Serpent.AI - 游戏代理框架。 使用任何视频游戏作为深度学习沙盒。 --推荐

  • TensorFlow - 由Google创建的最受欢迎的深度学习框架。 --强烈推荐

  • Theano - 用于快速数值计算的库.  --推荐

Caffe - 一个快速开放的深度学习框架.. Keras - 高级神经网络库,能够在TensorFlow或Theano之上运行。 MXNet - 为提高效率和灵活性而设计的深度学习框架。 Neupy - 运行和测试不同的人工神经网络算法。 Pytorch - Python中的张量和动态神经网络,具有强大的GPU加速功能。 Serpent.AI - 游戏代理框架。 使用任何视频游戏作为深度学习沙盒。 TensorFlow - 由Google创建的最受欢迎的深度学习框架。 Theano - 用于快速数值计算的库。

##动态消息

用来创建用户活动的库。

  • django-activity-stream:从你的站点行为中生成通用活动信息流。链接

  • Stream-Framework:使用 Cassandra 和 Redis 创建动态消息和通知系统。链接

图形用户界面(GUI)

  • curses:内置的ncurses 封装,用来创建终端图形用户界面。标准库。链接

  • Eel - 用于制作简单电子类离线HTML / JS GUI应用程序的小程序库。链接

  • enaml:使用类似 QML 的 Declaratic 语法来创建美观的用户界面。链接

  • kivy:创建NUI应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS 平台上。链接 -推荐

  • pyglet:Python 的跨平台窗口及多媒体库。链接

  • PyQt:跨平台用户界面框架 Qt 的 Python 绑定 ,支持 Qt v4 和 Qt v5。链接

  • PySide:跨平台用户界面框架 Qt 的 Python 绑定 ,支持 Qt v4。链接

  • Tkinter:Python GUI 标准库。链接

  • Toga:Python 原生的, 操作系统原生的 GUI 工具包。链接

  • urwid:创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。链接

  • wxPython:wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。链接

  • PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定。链接

  • Flexx:纯 Python编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。链接

## 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 中的简单模型和容器。链接

其他

  • butterdb:Google Drive 电子表格的 Python ORM。链接

  • dataset :基于JSON的数据库。链接

包管理

管理包和依赖的工具。

  • pip:Python 包和依赖关系管理工具。链接

  • pip-tools:保证 Python 包依赖关系更新的一组工具。[链接]https://github.com/jazzband/pip-tools)

  • conda:跨平台,Python 二进制包管理工具。链接

  • Curdling:管理 Python 包的命令行工具。链接

  • wheel:Python 分发的新标准,意在取代 eggs。链接

包仓库

本地 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本身。链接

文档(Documentation)

用以生成项目文档的库。

  • Sphinx:Python 文档生成器。链接

  • awesome-sphinxdoc:链接

  • MkDocs:对 Markdown 友好的文档生成器。链接 -- 推荐

  • pdoc:替换Epydoc 的库,可以自动生成 Python 库的 API 文档。链接

  • Pycco:文学编程风格的文档生成器。链接

  • readthedocs:一个基于 Sphinx/MkDocs 的在线文档托管系统,对开源项目免费开放使用。链接 -- 推荐

下载器(Downloader)

用来进行下载的库.

  • s3cmd:一个用来管理Amazon S3 和 CloudFront 的命令行工具。链接

  • s4cmd:超级 S3 命令行工具,性能更加强劲。链接

  • you-get:YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。链接 --推荐

  • youtube-dl:一个小巧的命令行程序,用来下载 YouTube 视频。链接

电子商务(E-commerce)

用于电子商务以及支付的框架和库。

  • django-oscar:基于Django 的开源的电子商务框架。链接 -- 推荐

  • django-shop: 基于 Django 的店铺系统。链接

  • Cartridge:一个基于 Mezzanine 构建的购物车应用。链接

  • shoop:基于 Django 的开源电子商务平台。链接

  • alipay:非官方的 Python 支付宝 API。链接

  • merchant:可以接收来自多种支付平台支付的 Django 应用。链接

  • money:Python钱类,带有可选的CLDR支持的区域识别格式和可扩展的货币兑换解决方案。链接

  • forex-python:外汇汇率,比特币价格指数和货币兑换。链接

  • saleor - Python和Django的电子商务店面。链接

  • 雪峰磁针石说明:

python-currencies因为星级较少没有收录

编辑器插件(Editor Plugins and IDEs)

编辑器和 IDE 的插件

  • Elpy:Emacs Python 开发环境。链接

  • SublimeJEDI:Sublime Text 插件,用来实现自动补全库 Jedi。链接

  • Anaconda:把你的 Sublime Text 3 变成功能齐全的 Python IDE。链接

  • YouCompleteMe:引入基于 Jedi 的 Python 自动补全引擎。链接

  • Jedi-vim:绑定 Vim 和 Jedi 自动补全库对 Python 进行自动补全。链接

  • Python-mode:Vim 变成 Python IDE 的多合一插件。链接

  • PTVS:Visual Studio 的 Python 工具链接

  • wingIDE:商业化的 Python IDE,功能强大,占用资源少,python开发。也有免费的社区版提供。[链接]https://wingware.com/) -- 推荐

  • PyCharm:商业化的 Python IDE ,由 JetBrains 开发。也有免费的社区版提供。链接

  • LiClipse:基于 Eclipse 的免费多语言 IDE 。使用 PyDev 来支持 Python 。链接

  • Spyder:开源 Python IDE。链接

  • komodo-ide 链接

电子邮件(Email)

用来发送和解析电子邮件的库。

  • mailer:用简单的方式发送邮件。链接 -- 推荐

  • envelopes:人性化的电子邮件库。链接

  • flanker:email 地址和 Mime 解析库。链接

  • imbox:人性化的Python IMAP 库链接

  • inbox.py:人性化的Python SMTP 服务器。链接

  • inbox:具有时尚API的IMAP/SMTP同步系统。链接 -- 推荐

  • lamson:Python 风格的 SMTP 应用服务器。链接

  • marrow.mailer:高性能可扩展邮件分发框架。链接

  • modoboa:一个邮件托管和管理平台,具有现代的、简约的 Web UI。链接

  • pyzmail:创建,发送和解析电子邮件。链接

  • Talon:Mailgun 库,用来抽取信息和签名。链接

  • yagmail- 另外一个 Gmail/SMTP客户端。链接

  • sync-engine - IMAP/SMTP同步。 链接 -- 推荐

环境管理(Environment Management)

Python版本和环境管理

  • Pipenv:Pipfile,Pip和Virtualenv的结合。链接 --强烈推荐

  • p:简单的python版本管理工具。链接

  • pyenv:简单的python版本管理。链接 --强烈推荐

  • venv:创建python虚拟环境,python3标准库。链接 --强烈推荐

  • virtualenv:创建独立的Python 环境。链接 --强烈推荐

  • virtualenvwrapper:virtualenv 的扩展。链接 --强烈推荐

文件(Files)

文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。

  • imghdr:(Python 标准库)检测图片类型。链接

  • mimetypes:(Python 标准库)将文件名映射为 MIME 类型。链接

  • path.py:对 os.path 进行封装的模块。链接

  • pathlib:(Python3.4+ 标准库)跨平台的、面向对象的路径操作库。链接 --强烈推荐

  • python-magic:文件类型检测的第三方库 libmagic 的 Python 接口。链接

  • Unipath:用面向对象的方式操作文件和目录。链接

  • watchdog:管理文件系统事件的 API 和 shell 工具。链接 --推荐

包管理(Package Management)

管理包和依赖

  • pip:管理包和依赖。链接 pypi --强烈推荐

  • conda:跨平台,Python 二进制包管理工具。链接 --强烈推荐

  • Curdling:管理 Python 包的命令行工具。链接

  • pip-tools:保证 Python 包依赖关系更新的工具。链接

  • wheel:Python 分发的新标准,意在取代 eggs。链接 --强烈推荐

外部函数接口(Foreign Function Interface)

  • cffi:调用 C 代码。链接 --强烈推荐

  • ctypes:(Python 标准库) 调用 C 代码。链接 --强烈推荐

  • PyCUDA:Nvidia CUDA API 的封装。链接

  • SWIG:简单的包装器和接口生成器。链接

表单(Forms)

  • Deform:Python HTML 表单生成库,受到了 formish 表单生成库的启发。链接

  • django-bootstrap3:集成了 Bootstrap 3 的 Django。链接 --推荐

  • django-crispy-forms:非常优雅且 DRY(Don't repeat yourself) 的方式来创建美观的表单。链接 --推荐

  • django-remote-forms:平台独立的 Django 表单序列化工具。链接

  • WTForms:灵活的表单验证和渲染库。链接

函数式编程(Functional Programming)

  • CyToolz:Toolz 的 Cython 实现 : 高性能函数工具。链接

  • fn.py:在 Python 中进行函数式编程 : 实现了一些函数式编程缺失的功能。链接  -- 推荐

  • funcy:炫而实用的函数式工具。链接

  • Toolz:一组用于迭代器,函数和字典的函数式编程工具。链接

特殊文本格式处理

一些用来解析和操作特殊文本格式的库。

通用

  • tablib:处理 XLS, CSV, JSON, YAML表格数据的模块。链接

Office

  • Marmir:把输入的Python 数据结构转换为电子表单。链接

  • openpyxl:用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。链接

  • python-docx:读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。链接

  • unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。链接

  • XlsxWriter:一个用于创建 Excel .xlsx 文件的 Python 模块。链接

  • xlwings:一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。链接

  • xlwt/xlrd:读写 MS Excel 97/2000/XP/2003 XLS  Excel 文件的数据和格式信息。链接

  • relatorio:输出odt和pdf的模板。链接

  • pyexcel:用于读取,操作和写入CSV,ODS,XLS,XLSX和XLSM文件数据的单一API。链接

-- 实际pandas为第一数据处理库,支持所有excel格式。

合并多个excel表,插件mergebooks.dll和vba可以搞定。多表统计求和VBA可以搞定,参考资料, 当然pandas会比它们更强大。PyXLL

PDF

  • PDFMiner:从PDF文档中抽取信息的工具。链接

  • PyPDF2:可以分割,合并和转换 PDF 页面的库。链接

  • ReportLab:快速创建富文本 PDF 文档。链接

Markdown

  • Mistune:快速并且功能齐全的纯 Python 实现的 Markdown 解析器。链接

  • Python-Markdown:John Gruber’s Markdown 的 Python 版实现。链接

  • Python-Markdown2:纯 Python 实现的 Markdown 解析器,比 Python-Markdown 更快,更准确,可扩展。链接

YAML

  • PyYAML:Python 版本的 YAML 解析器。链接

CSV

  • csv: 标准库,csv文件读写。链接

  • csvkit:用于转换和操作 CSV 的工具。链接

Archive

  • unp:方便解包归档文件的命令行工具。链接

文本处理

用于解析和操作文本的库。

通用

  • chardet:字符编码检测器,兼容 Python2 和 Python3。链接

  • difflib:(Python 标准库)帮助我们进行差异化比较。链接

  • ftfy:让Unicode文本更完整更连贯。链接

  • fuzzywuzzy:模糊字符串匹配。链接 --推荐

  • Levenshtein:快速计算编辑距离以及字符串的相似度。链接

  • pyfiglet:pyfiglet -figlet 的 Python实现。链接

  • shortuuid:生成器库,用以生成简洁的,明白的,URL 安全的 UUID。链接

  • unidecode:Unicode 文本的 ASCII 转换形式 。链接

  • uniout:打印可读的字符,而不是转义的字符串。链接

  • xpinyin:把汉字转换为拼音的库。链接

  • pypinyin :把汉字转换为拼音的库。链接

  • simplejson:Python的JSON编码、解码器。链接

Slugify

  • awesome-slugify:一个 Python slug 化库,可以保持 Unicode。链接

  • python-slugify:Python slug 化库,可以把 unicode 转化为 ASCII。链接

  • unicode-slugify:slug 工具,可以生成 unicode slugs ,需要依赖 Django 。链接

解析器

  • phonenumbers:解析,格式化,储存,验证国际电话号码。链接

  • PLY:lex 和 yacc 解析工具的 Python 实现。链接

  • Pygments:通用语法高亮工具。链接 --强烈推荐

  • pyparsing:生成通用解析器的框架。链接

  • python-nameparser:把人名分解为几个独立的部分。链接

  • python-user-agents:浏览器 user agent 解析器。链接

  • sqlparse:无验证的 SQL 解析器。官网链接

第三方 API

用来访问第三方 API的库。 参见: List of Python API Wrappers and Libraries。 链接

  • apache-libcloud:为各种云设计的 Python 库。链接

  • boto3:Amazon Web Services 的 Python 接口。链接

  • django-wordpress:WordPress models and views for Django.链接

  • facebook-sdk:Facebook 平台的 Python SDK.链接

  • facepy:Facepy 让和 Facebook's Graph API 的交互变得更容易。链接

  • gmail:Gmail 的 Python 接口。链接

  • google-api-python-client:Python 用的 Google APIs 客户端库。链接

  • gspread:Google 电子表格的 Python API.链接

  • twython:Twitter API 的封装。链接

URL处理

解析URLs的库

  • furl:处理 URL 更简单小型 Python 库。链接

  • purl:简单的,不可变的URL类,具有简洁的 API 来进行询问和处理。链接

  • pyshorteners:纯 Python URL 缩短库。链接

  • shorturl:生成短小 URL 和类似 bit.ly 短链的Python 实现。链接

  • webargs:解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado和 Pyramid。链接

Video

用来操作视频和GIF的库。

  • moviepy:一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。链接

WSGI 服务器

兼容 WSGI 的 web 服务器

  • gunicorn:Pre-forked, 部分是由 C 语言编写的。链接 --推荐

  • uwsgi:uwsgi 项目的目的是开发一组全栈工具,用来建立托管服务, 由 C 语言编写。链接

  • bjoern:异步,非常快速,由 C 语言编写。链接

  • fapws3:异步 (仅对于网络端),由 C 语言编写。链接

  • meinheld:异步,部分是由 C 语言编写的。链接

  • netius:异步,非常快速。链接

  • paste:多线程,稳定,久经考验。链接 --推荐

  • waitress:多线程, 是它驱动着 Pyramid 框架。链接

  • Werkzeug:一个 WSGI 工具库,驱动着 Flask ,而且可以很方便大嵌入到你的项目中去。链接 --推荐

网页内容提取

用于进行网页内容提取的库。

  • Haul:可以扩展的图像爬取工具。链接

  • html2text:将 HTML 转换为 Markdown 格式文本链接

  • lassie:人性化的网页内容检索库。链接

  • micawber:一个小型网页内容提取库,用来从 URLs 提取富内容。链接

  • newspaper:使用 Python 进行新闻提取,文章提取以及内容策展。链接 --推荐

  • opengraph:用来解析开放图形协议的 Python模块。链接

  • python-goose:HTML内容/文章提取器。链接

  • python-readability:arc90的易读性工具的移植。链接

  • sumy:一个为文本文件和 HTML 页面进行自动摘要的模块。链接

  • textract:从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。链接

网络爬虫

  • Scrapy:快速高级的屏幕爬取及网页采集框架。链接 --强烈推荐

  • cola:高层分布式爬虫框架。链接

  • Demiurge:基于PyQuery 的爬虫微型框架。链接

  • feedparser:通用 feed 解析器。链接

  • Grab:站点爬取框架。链接

  • MechanicalSoup:用于自动和网络站点交互的 Python 库。链接

  • portia:Scrapy 可视化爬取。链接 --推荐

  • pyspider:一个强大的爬虫系统。链接 --强烈推荐

  • RoboBrowser:一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。链接

  • MechanicalSoup:用于自动和网络站点交互的 Python 库。链接

Web 框架

全栈 Web 框架。

  • Django:Python 界最流行的 web 框架。链接 wesome-django系列 链接 --强烈推荐

  • Flask:Python 微型框架。链接  awesome-flask系列 链接 --强烈推荐 python web框架第一名

  • pyramid:一个小巧,快速,接地气的开源Python web 框架。链接awesome-pyramid系列 链接

  • Bottle:一个快速小巧,轻量级的 WSGI 微型 web 框架。链接  --推荐

  • CherryPy:一个极简的 Python web 框架,支持HTTP/1.1 协议且具有WSGI 线程池。链接

  • sanic:python3 快速的web服务器,类似flask。链接 --推荐

  • web.py:既简单,又强大的web 框架。链接

  • TurboGears:易于扩展的全栈微框架。链接

  • web2py:全栈 web 框架和平台,用于安全数据库访问的web用。链接

  • Tornado - web 框架和异步网络库. 链接

WebSocket

  • AutobahnPython:WebSocket & WAMP 基于 Twisted 和 asyncio。链接

  • Crossbar:开源统一应用路由(Websocket & WAMP for Python on Autobahn).链接

  • django-channels:Django异步。链接

  • django-socketio:Django WebSocket。链接

  • WebSocket-for-Python:为Python2/3 以及 PyPy 编写的 WebSocket 客户端和服务器库。链接

持续更新

交流QQ群:python 测试开发自动化测试 144081101  Python数据分析pandas Excel 630011153 中医草药自学自救大数据 391441566 南方中医草药鉴别学习 184175668 中医草药湿热湿疹胃病 291184506 python高级人工智能视觉 6089740

wechat: pythontesting


最新版本参见:https://github.com/xurongzhong/mobile_data




http://blog.sciencenet.cn/blog-2604609-1105936.html

上一篇:使用pandas处理excel -python数据分析,大数据,人工智能培训
下一篇:python库介绍-buildbot教程 自动化测试持续集成jenkins
收藏 分享 举报

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2018-4-23 08:04

Powered by ScienceNet.cn

Copyright © 2007-2017 中国科学报社

返回顶部