Skip to content

python测试开发库 中文版(持续更新)及书籍下载。公众号:pythontesting

Notifications You must be signed in to change notification settings

china-testing/python-api-tesing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

逐步迁移到新仓库: python_cn_resouce

python测试开发钉钉群:21745728,目前800多人,另有几千人的python测试开发微信群,可联系 钉钉或微信号 pythontesting 加群(备注:python)!

tools目录:

  • check_face.py 从excel中读取文件,进行人脸识别

  • check_md5.py 多进程检查MD5值重复文件 文档

  • concat_file.py 合并文件,和linux的paste命令类似

  • get_gaze_value.py 获取人脸识别服务器端注视的错误统计

  • get_live_server_result.py 获取人脸识别服务器端活体的错误统计

  • get_range.py 获取人脸识别的区间值

  • get_verify_server_result.py 获取人脸识别服务器端比对的错误统计

  • raw2jpg.py 转换ir,depth等raw图为jpg图

  • rotate.py 图像旋转

  • split_raw.py 切分raw图为ir,depth图

Table of Contents

Python测试开发库

参考资料

https://github.com/vinta/awesome-python

https://github.com/atinfo/awesome-test-automation

https://westurner.github.io/wiki/awesome-python-testing

测试开发

Web UI测试自动化

  • PyAutoGUI - 跨平台GUI自动化Python模块。

  • Schemathesis - 用Open API / Swagger规范构建的Web应用程序进行基于属性的自动测试的工具。

  • splinter - web UI测试工具,基于selnium封装。 链接

  • selenium - web UI自动化测试。 链接 --推荐 文档参考

  • mechanize- Python中有状态的程序化Web浏览。链接

  • pyppeteer- chrome/chromium自动化。链接

  • 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 - sikuli的稳定长期更新版本。链接

  • Python-UIAutomation-for-Windows - uiautomation封装了微软UIAutomation API,支持自动化Win32,MFC,WPF,Modern UI(Metro UI), Qt, IE, Firefox等。链接 国产

UI测试

  • pyautoacad - AutoCAD自动化。 链接

  • sikuli - 位图自动化。 链接

  • monkeyrunner- 安卓自动化。 链接

  • ldtp - Linux UI自动化。 链接

  • dogtail- Linux UI自动化。 链接

  • pyautoit- autoit python api。 链接

  • 雪峰磁针石说明:

autopy、WATSUP、winGuiAuto因为较长时间未更新未收录

性能测试

软件测试专家工具包2性能测试 https://china-testing.github.io/testing_tools_perf.html

  • funkload - 性能及功能测试工具。 链接 --推荐

  • Locust.io – 了解服务器端性能的好工具。 语言python3。源码 python3+ python2.7+ github上star和fork最多的性能测试工具。 --强烈推荐

  • Bees with Machine Guns – 进行负载测试的蜜蜂(微型EC2实例)。 语言python3+ python2.6+ --强烈推荐

  • Multi-Mechanize – 用于性能和负载测试的开源框架,它运行并发Python脚本以生成针对远程站点或服务的负载(复合事务)。它通常用于Web性能和扩展性测试,但您也可以使用Multi-Mechanize来测试任何远程API。 --基于python多进程和多线程实现,学习自行开发性能测试的佳品。 Python 2.6 or 2.7 较长时间没有更新,一般只建议改造使用。

  • ngrinder - 市面上最强大的性能测试工具之一,主要用jython书写脚本,性能在loadrunner和jmeter之上,扩展性好。 链接 --强烈推荐

  • boom - 类似ab(ApacheBench)的性能测试工具。 链接

渗透测试

  • fsociety - 一个渗透测试框架。
  • setoolkit - 用于社会工程的工具箱。
  • sqlmap - 自动SQL注入和数据库接管的工具。

跨语言调用

测试框架

  • 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之类的库自行开发。 链接

  • macaca - Macaca 是一套面向用户端软件的测试解决方案,提供了自动化驱动,环境配套,周边工具,集成方案,旨在解决终端上的测试、自动化、性能等方面的问题。 链接

  • green- 彩色(命令行能显示多种颜色)的单元测试框架。 链接

  • tox- 基于virtualenv的测试框架,主要用于解决多版本python问题。 链接

  • sixpack- A/B 测试框架。 链接

  • lettuce- 行为驱动 测试框架。 链接

  • pyccuracy- 行为驱动 web验收测试框架。 链接

  • pytest-bdd- 基于pytest的行为驱动 测试框架。 链接

  • pytest-html- pytest生成html插件。 链接

  • 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星级太少而未收录 最近版本参见原文:https://github.com/china-testing/python-api-tesing

其他测试工具

  • coverage:代码覆盖率。链接

  • FuckIt.py:代码出错也可以执行。链接

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

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

  • augmented-traffic-control:网络模拟工具。链接 -- 强烈推荐

持续交付

  • buildbot - google等公司使用的持续集成框架,上手比Jenkins难,功能和性能远比Jenkins强大。 链接 python库介绍-buildbot教程

  • BitBake – 嵌入式Linux上类似make工具。链接

  • buildout – 用于从多个部分创建,组装和部署应用程序的构建系统。链接

  • PlatformIO – 在不同的开发平台的控制台构建工具。链接

  • PyBuilder – 纯Python编写的持续构建工具。链接

  • SCons – 软件构建工具。链接

  • jenkinsapi – Hudson & Jenkins python API。链接

测试工具对接

  • jira –自动化JIRA。链接

awesome-python

管理面板(Admin Panels)

  • Ajenti - Linux & BSD web管理面板。管理进程和文件等。 链接

  • django-suit - 现代主题的Django管理界面(仅限非商业用途)。链接

  • django-xadmin - 方便的Django admin替代。 完全支持插件扩展,基于 Twitter Bootstrap,并有站内书签、支持 xls, csv, xml和json数据导入等不少增强。 链接

  • jet-bridge - 管理面板框架,适用于任何具有良好用户界面的应用程序(例如Jet Django)

  • 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星级太少而未收录 最近版本参见原文:https://github.com/china-testing/python-api-tesing

资产管理(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 因长时间未更新未收录 最近版本参见原文:https://github.com/china-testing/python-api-tesing

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

  • python-jwt:生成和验证 JSON Web 令牌。链接

  • 雪峰磁针石说明:

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

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

内置类增强(Built-in Classes Enhancement)

  • dataclasses - (Python standard library) Data classes.
  • attrs - 替换类定义中的__init__,eq,__repr__等样板文件。
  • bidict - 高效的双向字典。
  • Box - 点符号访问的Python字典

区块链(Blockchain)

  • blockchain - 简单的区块链。
  • 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:语言独立和易于扩展的代码分析应用程序。coala
    • code2flow:把你的 Python 和 JavaScript 代码转换为流程图。暂时无法继续维护。链接
    • prospector - 分析Python代码并输出有关错误,潜在问题,违反常规和复杂性的信息的工具。prospector
    • pycallgraph:这个库可以把你的Python 应用的流程(调用图)进行可视化。链接
    • vulture - 死代码分析.
    • gprof2dot - 转换profiling为图形.
    • objgraph - python对象图.
    • mccabe - McCabe复杂度检查.
  • 代码Linters

  • 代码格式化

    • pep8 :python风格检查。链接 --推荐
    • autopep8:自动格式化 Python 代码,以使其符合 PEP8 规范。链接 --推荐
    • black - 不折不扣的Python代码格式化器。
    • isort - 对import进行排序的Python工具/库。
    • yapf - 来自Google的Python代码格式化器。
  • 静态类型检查 awesome-python-typing

  • 静态类型注释生成器

    • MonkeyType - 通过收集运行时类型生成静态类型注释。
    • pytype - Pytype检查和推断Python代码的类型 - 不需要类型注释。

命令行工具(Command-line Tools)

命令行程序开发( Command-line Application Development)

  • alive-progress - 一种新的进度条,具有实时吞吐量、等值和非常酷的动画效果。

  • asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级API。链接

  • cement:Python 的命令行程序框架。链接

  • click:一个通过组合的方式来创建精美命令行界面的包。链接 --推荐

  • cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。链接

  • colorama:跨平台彩色终端文本。链接

  • tqdm - 用于循环和CLI的快速、可扩展的进度条。

  • docopt:Python 风格的命令行参数解析器。链接 --推荐

  • Gooey:一条命令,将命令行程序变成一个 GUI 程序。链接

  • Python-Fire:将命令行程序变成一个 GUI 程序。链接 --推荐

  • python-prompt-toolkit:构建强大的交互式命令行程序的库。链接 --推荐

  • Pythonpy:在命令行中直接执行任何Python指令。链接

生产力工具(Productivity Tools)

  • aws-cli:Amazon Web Services 的通用命令行界面。链接

  • bashplotlib:在终端中进行基本绘图。链接

  • caniusepython3:判断是哪个项目妨碍你你移植到 Python 3。链接

  • copyer - 用于渲染项目模板的库和命令行工具。

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

计算机视觉库。

  • EasyOCR - 即用型OCR,支持40多种语言。
  • Face Recognition - 简单的面部识别库。
  • Kornia - Kornia是用于PyTorch的可微分计算机视觉库。
  • OpenCV:开源计算机视觉库。链接

2018最佳人工智能图像处理工具OpenCV书籍下载

  • pyocr:Tesseract 和 Cuneiform 的包装库。链接

  • pytesseract:Google Tesseract OCR 的另一包装库。链接 文档

  • SimpleCV:一个用来创建计算机视觉应用的开源框架。链接

  • tesserocr - 另一个简单的、对Pillow友好的、围绕OCR的tesseract-ocr API的包装器。

并发和并行及异步与网络(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 开发者。链接

  • 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:提供高性能,易用的数据结构和数据分析工具。链接 --强烈推荐

  • facets 机器学习数据集可视化 --推荐

  • 书籍:利用Python进行数据分析 2017 第二版 代码 链接 --推荐

  • 利用Python进行数据分析·第2版 --推荐

数据验证(Data Validation)

数据验证库。多用于表单验证。

  • Cerberus: 轻量级可扩展的数据验证库.链接

  • colander:验证并反序列化XML、JSON、HTML表单获取的数据。链接

  • jsonschema:json模式的实现。链接

  • kmatch:一种用于匹配/验证/筛选 Python 字典的语言。链接

  • schema:一个用于对 Python 数据结构进行验证的库。链接

  • Schematics:人性化的python数据结构。链接

  • valideer:轻量级可扩展的数据验证和适配库。链接

  • voluptuous:Python 数据验证库。主要是为了验证传入 Python的 JSON,YAML 等数据。链接

数据可视化(Data Visualization)

进行数据可视化的库。 参见: awesome-javascript

  • matplotlib:Python 2D 绘图库。链接 --推荐

  • bokeh:用Python进行交互式web绘图。链接 --推荐 英文快速入门 中文快速入门

  • plotnine - ggplot的 Python移植 -荐

  • Dash - 基于Flask,React和Plotly, 针对分析Web应用程序。

    awesome-dash

  • 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的互动绘图库。链接

  • Cartopy - 支持matplotlib的地图学python库。

  • 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 数据库接口。链接

  • sqlite3 - (Python标准库)SQlite接口与DB-API 2.0兼容。

  • SuperSQLite - 一个建立在apsw之上的超强SQLite库。

  • cassandra-python-driver:Cassandra 的 Python 驱动。链接

  • HappyBase:Apache HBase。链接

  • Plyvel:快速且功能丰富的 LevelDB 的 Python 接口。链接

  • pycassa:Cassandra 的 Python Thrift 驱动。链接

  • PyMongo:MongoDB 的官方 Python 客户端。链接 -- 推荐

  • redis-py:Redis 的 Python 客户端。链接 -- 推荐

  • txRedis:基于 Twisted 的 Redis 客户端。链接

  • pymemcache:纯Python memcached 客户端。链接

日期和时间(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:提供用户友好的函数来帮助用户进行常用的日期和时间操作。链接

  • maya:人性化的datetime。

调试工具(Debugging Tools)

代码调试的库。

  • PySnooper: 让你做print的事情,但不需要麻烦地添加很多语句,你只需要添加装饰器就可以得到运行日志,包括线运行,及对应变量的值。链接 介绍

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

  • 性能分析器

    • pympler:运行时内存分析工具。链接

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

    • Memory Profiler:监控 Python 代码的内存使用。官网、内存 链接

    • py-spy - Python程序的采样分析器. Rust编写.

    • pyflame - Python的跟踪分析器

    • vprof - 可视化Python分析器.

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

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

深度学习(Deep Learning)

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

2018最佳机器学习工具书及下载(持续更新)

  • Caffe - 快速开放的深度学习框架 --推荐
  • Keras - 高级神经网络库,能够在TensorFlow或Theano之上运行。 --推荐
  • MXNet - 高效率和灵活的深度学习框架。
  • Neupy - 运行和测试不同的人工神经网络算法.
  • Pytorch - Python中的张量和动态神经网络,具有强大的GPU加速功能。 --推荐
  • Serpent.AI - 游戏代理框架。 使用任何视频游戏作为深度学习沙盒。 --推荐
  • TensorFlow - 由Google创建的最受欢迎的深度学习框架。 --强烈推荐
  • Theano - 用于快速数值计算的库. --推荐
  • Shogun C++实现,为包括Python在内的多种语言和平台提供统一的接口。 它侧重于可扩展的内核方法,以解决回归和分类问题。 Shogun关注生物信息学,可以扩展以处理超过1000万个数据样本,同时保持准确性。
  • CNTK 微软的深度学习框架。
  • sqlflow SQLFlow是连接SQL引擎的桥梁,例如 MySQL,Hive,SparkSQL或SQL Server,带有TensorFlow和其他机器学习工具包。 SQLFlow扩展了SQL语言,以支持模型训练,预测和推理。 国内唯一的技术大公司 阿里巴巴出品!

DevOps工具(DevOps Tools)

分发(Distribution)

打包为可执行文件以便分发。

  • PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)。链接 --推荐

  • dh-virtualenv:构建并将 virtualenv 虚拟环境作为Debian 包来发布。链接

  • Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。链接

  • py2app:将 Python 脚本变为独立软件包(Mac OS X)。链接 --推荐

  • py2exe:将 Python 脚本变为独立软件包(Windows)。链接 --已经比较久没有更新了。

  • pynsist:用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。链接

文档(Documentation)

用以生成项目文档的库。

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

  • awesome-sphinxdoc:链接

  • 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:具有时尚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 的扩展。链接 --强烈推荐

  • poetry - 简化Python依赖性管理和打包 --强烈推荐

文件(Files)

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

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

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

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

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

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

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

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

外部函数接口(Foreign Function Interface)

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

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

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

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

表单(Forms)

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

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

  • django-bootstrap4 - Django集成Bootstrap 4.

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

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

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

函数式编程(Functional Programming)

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

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

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

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

  • returns - 一组类型安全的单体、tranformers和组合工具

##动态消息

用来创建用户活动的库。

  • 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 标准库。链接
  • 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.
  • Toga:Python 原生的, 操作系统原生的 GUI 工具包。链接
  • urwid:创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。链接
  • wxPython:wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。链接
  • DearPyGui - 一个简单的GPU加速的Python GUI框架
  • PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定。链接
  • Flexx:纯 Python编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。链接

GraphQL

*用于处理GraphQL的库。

  • graphene - Python的GraphQL框架。
  • tartiflette-aiohttp - Tartiflette的一个基于aiohttp的包装器,通过HTTP暴露GraphQL APIs。
  • tartiflette-asgi - Tartiflette GraphQL引擎的ASGI支持。
  • tartiflette - 适用于Python 3.6+和asyncio的SDL-first GraphQL引擎实现。

游戏开发(Game Development)

  • Arcade - Arcade是一个现代Python框架,用于制作具有引人注目的图形和声音的游戏。
  • Cocos2d - cocos2d是用于构建2D游戏,演示和其他图形/交互式应用程序的框架。它基于pyglet。
  • Panda3D - 由迪士尼开发并由卡内基梅隆娱乐技术中心维护的3D游戏引擎。用C ++编写,完全用Python包装。 -推荐
  • Pygame - Pygame是一套用于编写游戏的Python模块。 -推荐
  • PyOgre - Ogre 3D渲染引擎的Python绑定,可用于游戏,模拟,任何3D。
  • PyOpenGL - 用于OpenGL的Python ctypes绑定及其相关的API。
  • PySDL2 - SDL2库的基于ctypes的包装器。
  • RenPy - Visual Novel引擎。
  • 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++.

地理位置(Geolocation)

地理编码地址和纬度和经度的图书馆。

  • django-countries - Django应用程序,提供与表单一起使用的国家选项,标志图标静态文件和模型的国家/地区字段。
  • GeoDjango - 世界级的地理网络框架。 -推荐
  • GeoIP - MaxMind GeoIP遗留数据库的Python API。
  • geojson - GeoJSON的Python绑定和实用程序。
  • geopy - Python地理编码工具箱。
  • pygeoip - 纯Python GeoIP API。

HTML操作(HTML Manipulation)

用于处理HTML和XML的库。

  • BeautifulSoup - Python风格的方式来对HTML或XML进行迭代,搜索和修改。 -推荐
  • bleach - 基于白名单的HTML清理和文本链接库。
  • cssutils - Python的CSS库。
  • html5lib - 用于解析和序列化HTML文档和片段的符合标准的库。
  • lxml - 用于处理HTML和XML的非常快速,易于使用和多功能的库。 -推荐
  • MarkupSafe - 为Python实现XML / HTML / XHTML标记安全字符串。
  • pyquery - 用于解析HTML的jQuery类库。
  • untangle - 将XML文档转换为Python对象以便于访问。
  • WeasyPrint - 可导出为PDF的HTML和CSS可视化呈现引擎。
  • xmldataset - 简单的XML解析。
  • xhtml2pdf:HTML/CSS 转 PDF 工具。官网
  • xmltodict - 像处理 JSON 一样处理 XML。

HTTP

使用 HTTP 的库。

  • aiohttp:基于 asyncio 的异步 HTTP 网络库。官网
  • requests:人性化的 HTTP 请求库。官网 --强烈推荐
  • grequests:requests 库 + gevent ,用于异步 HTTP 请求.官网
  • httplib2:全面的 HTTP 客户端库。官网
  • treq:类似 requests 的 Python API 构建于 Twisted HTTP 客户端之上。官网
  • urllib3:一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。官网

硬件(Hardware)

用于硬件编程的库。

  • ino - 用于Arduino的命令行工具包。
  • keyboard - 钩和模拟Windows和Linux上的全球键盘事件。
  • 鼠标 - 在Windows和Linux上挂钩并模拟全局鼠标事件。
  • Pingo - Pingo提供统一的API来编程像Raspberry Pi,pcDuino,Intel Galileo等设备。
  • PyUserInput - 用于跨平台控制鼠标和键盘的模块。
  • scapy - 出色的数据包操作库。
  • thrift-tools thrift抓包工具。
  • mitmproxy:HTTP和抓包库。官网
  • Pyro:Python 机器人编程库。官网
  • PyUserInput:跨平台的,控制鼠标和键盘的模块。官网

图像处理(Image Processing)

用于处理图像的库。

  • pillow:Pillow 是一个更加易用版的 PIL官网 -推荐 python库介绍-图像处理工具pillow中文文档-手册(2018 5.*)
  • hmap:图像直方图映射。官网
  • imgSeek:使用视觉相似性搜索一组图片集合的项目。官网 较长时间没有更新
  • nude.py:裸体检测。官网
  • pyBarcode:不借助 PIL 库在 Python 程序中生成条形码。官网
  • pygram:类似 Instagram 的图像滤镜。官网
  • python-qrcode:纯 Python 实现的二维码生成器。官网 --推荐
  • pywal - 从图像生成色彩方案的工具。
  • pyvips - 快速的图像处理库,内存需求低。
  • Quads:基于四叉树的计算机艺术。官网
  • scikit-image:一个用于(科学)图像处理的 Python 库。官网 --推荐
  • thumbor:小型图像服务,具有剪裁,尺寸重设和翻转功能。官网 --推荐
  • wand:MagickWand的 Python 绑定。MagickWand 是 ImageMagick 的 C API 。官网
  • face_recognition:简单易用的 python 人脸识别库。官网 --强烈推荐
  • pagan - 基于输入字符串和散列的复古identicon(阿凡达)生成。
  • opencv-python 预编译的opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless。 --推荐
  • imutils 一系列便利函数,可以使用OpenCV和Python轻松进行基本图像处理操作,如平移,旋转,调整大小,骨架化和显示Matplotlib图像。 --推荐
  • word_cloud 词云

实现(Implementations)

  • Python的实现。*

  • CLPython - 用Common Lisp编写的Python编程语言。

  • CPython - 用C编写的Python编程语言的默认,最广泛使用的实现。 --强烈推荐

  • Cython - 优化Python的静态编译器。使用类型mixin将Python编译为C或C ++模块,从而获得巨大的性能提升 --强烈推荐

  • Grumpy - 更多的编译器比解释器更强大的CPython2.7替换(alpha)。 --推荐

  • IronPython - 实现用C#编写的面向.NET Framework和Mono的Python编程语言。 --推荐

  • Jython - 为Java虚拟机(JVM)实现用Java编写的Python编程语言。 --推荐

  • MicroPython - MicroPython - 精简高效的Python编程语言实现,用于微控制器和受限制的系统 --推荐

  • Numba - 针对科学Python的LLVM的Python JIT编译器。 --推荐

  • PeachPy - 嵌入在Python中的x86-64汇编程序。可以用作Python的内联汇编程序,也可以用作Windows,Linux,OS X,Native Client和Go的独立汇编程序。 --推荐

  • Pyjion - 基于CoreCLR的Python JIT。

  • PyPy - 实现用RPython编写并编译为C的Python编程语言.PyPy关注速度,效率以及与原始CPython解释器的兼容性。解释器使用黑魔法使Python非常快速,而无需添加额外的类型信息。 --强烈推荐

  • PySec - python的强化版本,使安全专业人员和开发人员可以更轻松地编写应用程序,从而更有弹性地处理攻击和操作。

  • Pyston - 使用LLVM和现代JIT技术构建的Python实现,其目标是实现良好的性能。 --推荐

  • Stackless Python - Python编程语言的增强版本,它允许程序员在没有性能和复杂性的情况下获得基于线程编程的好处与传统线程相关的问题。 --推荐

交互式Python解释器(Interactive Interpreter)

国际化

与i18n合作的图书馆

  • Babel - Python国际化库。
  • PyICU - Unicode C ++库的国际组件封装(ICU)。

作业调度(Job Scheduler)

用于调度作业的库。

  • APScheduler - 轻量但功能强大的进程内任务调度程序,可让您安排功能。
  • django-schedule - Django的日历应用程序。
  • doit - 任务运行者和构建工具。
  • gunnery - 具有基于Web界面的分布式系统的多用途任务执行工具。
  • Joblib - 一组用Python提供轻量级流水线的工具。
  • plan - 用Python编写crontab文件就像一个魅力一样。
  • Prefect - 现代工作流协调框架,使其能够轻松构建、安排和监控强大的数据管道。
  • schedule - 人性化的 Python 任务调度库。 --推荐
  • Spiff - 以纯Python实现的强大的工作流引擎。
  • TaskFlow - 可以让你方便执行任务的 Python 库,一致并且可靠。
  • AirFlow:Airflow 是Airbnb公司开源的,是一个工作流分配管理系统,通过有向非循环图的方式管理任务流程,设置任务依赖关系和时间调度。官方

日志(Logging)

用于生成和处理日志的库。

  • Eliot - 复杂和分布式系统日志。
  • logbook - Python logging的替代。
  • logging - (Python标准库)Python的日志工具。 --推荐
  • loguru - 旨在为Python带来愉快的日志记录的库。
  • sentry-python - Python的Sentry SDK。
  • structlog - 结构化的日志记录变得简单。

机器学习

机器学习库。请参阅:awesome-machine-learning

MapReduce

  • MapReduce的框架和库。*

  • PySpark - Apache Spark Python API。

  • dpark:Spark 的 Python 克隆版,类似 MapReduce 的框架。官网

  • dumbo:这个 Python 模块可以让人轻松的编写和运行 Hadoop 程序。官网

  • luigi - 可帮助您构建批处理作业复杂管道的模块。

  • mrjob - 在Hadoop或Amazon Web Services上运行MapReduce作业。

  • streamparse - 针对实时数据流运行Python代码。与Apache Storm集成。

  • dask - 灵活的分析计算并行计算库。

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

  • faust - A stream processing library, porting the ideas from Kafka Streams to Python.

  • streamparse - Run Python code against real-time streams of data via Apache Storm.

微软Windows

  • Microsoft Windows上的Python编程。*

  • Python(x,y) - 基于Qt和Spyder的面向科学应用的Python发行版。 --推荐

  • pythonlibs - Python扩展包的非官方Windows二进制文件。 --推荐

  • PythonNet - .NET公共语言运行时(CLR)的Python集成。

  • PyWin32 - Python的Windows扩展。 --推荐

  • WinPython - Windows 7/8的便携式开发环境。 --推荐

杂项

不适合上述类别的有用库或工具。

  • blinker:快速的 Python 进程内信号/事件分发系统。官网
  • itsdangerous:一系列辅助工具用来将可信的数据传入不可信的环境。官网
  • pluginbase:一个简单但是非常灵活的 Python 插件系统。官网
  • Pychievements:一个用来创建和追踪成就的 Python 框架。官网
  • Tryton:通用商务框架。官网

自然语言处理(Natural Language Processing)

  • 汉字转拼音(pypinyin) 连接 - 推荐
  • NLTK:构建Python程序以处理人类语言数据的领先平台。连接 - 推荐
  • jieba:中文分词工具。官网 - 推荐
  • langid.py:独立的语言识别系统。官网
  • Pattern:Python 网络信息挖掘模块。官网 - 推荐
  • SnowNLP:用来处理中文文本的库。官网 - 推荐
  • TextBlob:为进行普通自然语言处理任务提供一致的 API。官网 - 推荐
  • TextGrocery:一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。官网
  •   thulac:清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包官网
  • gensim -人 性化的话题建模库。
  • spaCy - 用于Python和Cython的工业强度自然语言处理的库。 -推荐
  • PyTorch-NLP - A toolkit enabling rapid deep learning NLP prototyping for research.
  • StanfordNLP - The Stanford NLP Group's official Python library, supporting 50+ languages

网络虚拟化(Network Virtualization)

用于虚拟网络和SDN(软件定义网络)的工具和库。

  • Mininet:流行的网络模拟器以及用 Python 编写的 API。官网 -推荐
  • POX:一个针对基于 Python 的软件定义网络应用(例如 OpenFlow SDN 控制器)的开源开发平台。官网
  • Pyretic:火热的 SDN 编程语言中的一员,为网络交换机和模拟器提供强大的抽象能力。官网
  •   SDX Platform:基于 SDN 的 IXP 实现,影响了 Mininet, POX 和 Pyretic。官网
  •   NRU:一个基于组件的软件定义网络框架。官网

网络(Networking)

用于网络编程的库。

  • uvicorn - Uvicorn是一个快如闪电的ASGI服务器实现,使用uvloop和httptools。
  • asyncio:(Python 标准库) 异步 I/O, 事件循环, 协程以及任务。官网 -推荐
  • Twisted:一个事件驱动的网络引擎。官网 -推荐
  • pulsar:事件驱动的并发框架。官网
  • diesel:基于 Greenlet 的事件 I/O 框架。官网
  • pyzmq:ZeroMQ 消息库的 Python 封装。官网
  • Toapi:轻巧,简单,快速的 Flask 库,致力于为所有网站提供 API 服务。官网 -推荐
  • txZMQ:基于 Twisted 的 ZeroMQ 消息库的 Python 封装。官网
  • NAPALM - 用于操纵网络设备的跨供应商API。

动态消息

用来创建用户活动的库。

  • django-activity-stream:从你的站点行为中生成通用活动信息流。官网
  • Stream-Framework:使用 Cassandra 和 Redis 创建动态消息和通知系统。官网 -推荐

ORM

实现对象关系映射或数据映射技术的库。

关系型数据库

  • Django Models:Django 的一部分。链接

  • SQLAlchemy:Python SQL 工具以及对象关系映射工具。链接

  • dataset - 在数据库中存储Python dicts - 适合SQLite、MySQL和PostgreSQL。

  • orator - Orator ORM提供了简单而漂亮的ActiveRecord实现。

  • orm - 异步ORM。

  • Peewee:小巧,富有表达力的 ORM, 支持postgresql, mysql and sqlite。[链接]https://github.com/coleifer/peewee)

  • pony:提供面向生成器的 SQL 接口的 ORM。链接

  • python-sql:编写 Python 风格的 SQL 查询。链接

  • pydal - 纯Python数据库抽象层。

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的数据库。链接

包管理(Package Management)

管理包和依赖

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

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

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

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

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

包仓库

本地 PyPI 仓库服务和代理。

  • warehouse:下一代 PyPI。链接

  • Warehouse:链接

  • bandersnatch:PyPA 提供的 PyPI 镜像工具。链接

  • devpi:PyPI 服务和打包/测试/分发工具。链接

  • localshop:本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。链接

权限(Permissions)

允许或拒绝用户访问数据或功能的库。

  • Carteblanche - 将代码与用户和设计师的想法对齐的模块。也神奇地处理导航和权限。
  • django-guardian - 为Django 1.2+权限管理
  • django-rules - 小巧但功能强大的应用程序,它为Django提供对象级权限,而不需要数据库。

进程(Processes)

用于启动和与OS进程进行通信的库。

  • delegator.py - Subprocesses用于Humans™2.0。 --推荐
  • sarge - Subprocesses的另一个封装。
  • sh - 一个全面的Python子程序替代品。 --推荐

队列(Queue)

用于处理事件和任务队列的库。

  • celery - 基于分布式消息传递的异步任务队列/作业队列。 --推荐
  • daramatiq - Python 3的快速、可靠的后台任务处理库。
  • huey - 小任务队列。
  • mrq - Queue先生 - 使用Redis&gevent的Python中的分布式工作者任务队列。
  • rq - 简单的Python作业队列。 --推荐
  • simpleq - 一个简单的,无限可扩展的基于Amazon SQS的队列。

推荐系统(Recommender Systems)

用于构建推荐系统的库。

  • annoy - 针对内存使用进行了优化的C ++ / Python近似最近邻居。 --推荐
  • fastFM - 因式分解机器库。
  • implicit - 隐式数据集协作过滤的快速Python实现。
  • libffm - Field-aware因式分解机(FFM)库。
  • LightFM - 一些流行推荐算法的Python实现。
  • surprise - 用于构建和分析推荐系统的scikit。
  • TensorRec - TensorFlow中的推荐引擎框架

重构(Refactoring)

Python的重构工具和库

  • Bicycle Repair Man - Bicycle Repair Man,一个Python的重构工具。
  • Bowler - 现代 Python 的安全代码重构。
  • Rope - Rope是一个Python重构库。

RESTful API

用于开发RESTful API的库。

  • Django
  • Flask
    • eve - 由Flask,MongoDB提供支持的REST API框架和。 --推荐
    • flask-api-utils - 负责Flask的API表示和身份验证。
    • flask-api - 适用于Flask的Browsable Web API。
    • flask-restful - 快速构建适用于Flask的REST API。 --推荐
    • flask-restless - 为使用SQLAlchemy定义的数据库模型生成RESTful API。
  • Pyramid
    • cornice - Pyramid的RESTful框架。
  • 其他
    • falcon - 一个用于构建云API和Web应用后端的高性能框架。
    • hug - 一个Python3框架,用于通过HTTP干净地公开API以及带有自动文档和验证的命令行。 --推荐
    • fastapi - 现代的、快速的、基于标准Python类型提示的Web框架,用于用Python 3.6+构建API。 -- 强烈推荐 中文快速入门 https://www.jianshu.com/p/4d8120af7c4c
    • ripozo - 快速创建REST / HATEOAS / Hypermedia API。
    • sandman2 - 现有数据库驱动系统的自动化REST API。
    • apistar - 为Python 3设计的智能Web API框架。--推荐
    • vibora - 快速、高效、异步的Web框架,灵感来自Flask。
    • sanic - 异步Python 3.7+ web server/framework | 快速构建及执行。  --推荐

RPC服务器(RPC Servers)

  • RPC兼容服务器。*

  • SimpleJSONRPCServer - 该库是JSON-RPC规范的实现。

  • SimpleXMLRPCServer - (Python标准库)简单的XML-RPC服务器实现,单线程。

  • zeroRPC - zerorpc是基于ZeroMQ和[MessagePack](http:// msgpack.org/)。 --推荐

科学(Science)

  • astropy - 用于天文学的社区Python库。
  • bcbio-nextgen - 为全自动高通量测序分析提供最佳实践管道。
  • bccb - 收集与生物分析相关的有用代码。
  • Biopython - Biopython是一套免费的生物计算工具。
  • cclib - 用于解析和解释计算化学软件包结果的库。
  • Color - 一种颜色科学软件包,用于实现各种颜色理论转换和算法。
  • NetworkX - 适用于复杂网络的高效软件。
  • NIPY - 一套神经影像工具包。 --推荐
  • NumPy - 用Python进行科学计算的基础软件包。 --强烈推荐
  • Open Babel - 一种化学工具箱,专门用于讲述多种化学数据的语言。
  • ObsPy - 地震学的Python工具箱。
  • PyDy - Python Dynamics的缩写,用于协助动态运动建模中的工作流程。
  • PyMC - 马尔可夫链蒙特卡洛采样工具包。
  • RDKit - Cheminformatics和机器学习软件。
  • SciPy - 一个基于Python的数学,科学和工程开放源码软件生态系统。 --强烈推荐
  • statsmodels - Python中的统计建模和计量经济学。 --推荐
  • SymPy - 符号数学的Python库。
  • Zipline - Pythonic算法交易库。 --推荐
  • SimPy - 基于流程的离散事件仿真框架。 --推荐

搜索

用于索引和执行数据搜索查询的库和软件。

序列化(Serialization)

用于序列化复杂数据类型的库

  • marshmallow - marshmallow是一个ORM / ODM /框架无关的库,用于将复杂数据类型(如对象)转换为本机Python数据类型和从本地Python数据类型转换。

  • pysimdjson - A Python bindings for simdjson.

  • python-rapidjson - A Python wrapper around RapidJSON.

  • ultrajson - 用C语言编写的快速JSON解码器和编码器。

无服务器框架(Serverless Frameworks

用于开发无服务器Python代码的框架。

  • python-lambda - 用于在AWS Lambda中开发和部署Python代码的工具包。
  • Zappa - AWS Lambda和API网关上部署WSGI应用程序的工具。--推荐

特殊文本格式处理(Specific Formats Processing)

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

通用

  • 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用于在excel中用python替代VBA.

Pywin32 也可通过COM口连接excel。

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:方便解包归档文件的命令行工具。链接

静态网站生成器(Static Site Generator)

  • MkDocs:对 Markdown 友好的文档生成器。链接 -- 推荐
  • makesite - 简单、轻量级、无魔法的静态网站/博客生成器(< 130行)。
  • Lektor - 易于使用的静态CMS和博客引擎。
  • Nikola - 静态网站和博客生成器。
  • Pelican - 将Markdown或ReST用于内容,Jinja 2用于主题。 支持DVCS,Disqus。AGPL。 --强烈推荐

标签(Tagging)

模板引擎(Template Engine)

  • Genshi - 用于生成网络感知输出的Python模板工具包。
  • Jinja2 - 现代和设计友好的模板语言。 -- 推荐
  • Mako - Python平台的超快速和轻量级模板。

文本处理(Text Processing)

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

通用

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

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

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

  • hashids:在 Python 中实现 hashids 。链接

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

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

  • pangu.py - Spacing texts for CJK and alphanumerics.

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

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

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

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

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

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

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

  • smassedit:Python的sed。链接

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(Third-party APIs)

用来访问第三方 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处理(URL Manipulation)

解析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 Servers)

兼容 WSGI 的 web 服务器

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

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

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

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

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

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

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

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

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

网页内容提取(Web Content Extracting)

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

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

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

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

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

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

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

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

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

  • request-html - Pythonic HTML解析。

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

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

网络爬虫(Web Crawling)

2018最佳人工智能数据采集(爬虫)工具书下载

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

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

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

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

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

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

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

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

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

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

Web 框架(Web Frameworks)

全栈 Web 框架。

  • Django:Python 界最流行的 web 框架。链接 wesome-django系列 awesome-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用。链接

  • Masonite - 现代和以开发者为中心的Python网络框架。

  • 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 客户端和服务器库。链接

监控

python应用性能监控工具简介 https://china-testing.github.io/python_monitor.html

  • sentry Sentry is cross-platform application monitoring, with a focus on error reporting. https://sentry.io 推荐
  • Graphite 存储时间序列数据,并通过Django Web应用程序在图形中显示它们。

Services

Online tools and APIs to simplify development.

Continuous Integration

Also see awesome-CIandCD.

  • CircleCI - A CI service that can run very fast parallel testing.
  • Travis CI - A popular CI service for your open source and private projects. (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.

Code Quality

  • 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.
  • PEP 8 Speaks - GitHub integration to review code style.

Resources

Where to discover new Python libraries.

Podcasts

Twitter

Websites

Weekly

持续更新

wechat: pythontesting

Websites

Weekly

About

python测试开发库 中文版(持续更新)及书籍下载。公众号:pythontesting

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published