Python 常用库总结(3)

图形用户界面

用来创建图形用户界面程序的库。

  • curses:内建的 ncurses 封装,用来创建终端图形用户界面。官网

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

  • kivy:一个用来创建自然用户交互(NUI)应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS平台上。官网

  • pyglet:一个Python 的跨平台窗口及多媒体库。官网

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

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

  • Tkinter:Tkinter 是 Python GUI 的一个事实标准库。官网

  • Toga:一个 Python 原生的, 操作系统原生的 GUI工具包。官网

  • urwid:一个用来创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。官网

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

  • PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定官网

  • Flexx:Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。官网

游戏开发

超赞的游戏开发库。

  • Cocos2d:cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。官网

  • Panda3D:由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用C++编写, 针对 Python 进行了完全的封装。官网

  • Pygame:Pygame 是一组 Python 模块,用来编写游戏。官网

  • PyOgre:Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。官网

  • PyOpenGL:OpenGL 的 Python 绑定及其相关 APIs。官网

  • PySDL2:SDL2 库的封装,基于 ctypes。官网

  • RenPy:一个视觉小说(visual novel)引擎。官网

日志

用来生成和操作日志的库。

  • logging:(Python 标准库) 为 Python 提供日志功能。官网

  • logbook:Logging 库的替代品。官网

  • Eliot:为复杂的和分布式系统创建日志。官网

  • Raven:Sentry的 Python 客户端。官网

  • Sentry:实时记录和收集日志的服务器。官网

Testing

进行代码库测试和生成测试数据的库。

  • 测试框架

  • unittest:(Python 标准库) 单元测试框架。官网

  • nose:nose 扩展了 unittest 的功能。官网

  • contexts:一个 Python 3.3+ 的 BDD 框架。受到C# – Machine.Specifications的启发。官网

  • hypothesis:Hypothesis 是一个基于先进的 Quickcheck 风格特性的测试库。官网

  • mamba:Python 的终极测试工具, 拥护BDD。官网

  • PyAutoGUI:PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块。官网

  • pyshould:Should 风格的断言,基于 PyHamcrest官网

  • pytest:一个成熟的全功能 Python 测试工具。官网

  • green:干净,多彩的测试工具。官网

  • pyvows:BDD 风格的测试工具,受Vows.js的启发。官网-

  • Robot Framework:一个通用的自动化测试框架。官网

  • Web 测试

  • Selenium:Selenium WebDriver 的 Python 绑定。官网

  • locust:使用 Python 编写的,可扩展的用户加载测试工具。官网

  • sixpack:一个和语言无关的 A/B 测试框架。官网

  • splinter:开源的 web 应用测试工具。官网

  • Mock测试

  • mock:(Python 标准库) 一个用于伪造测试的库。官网

  • doublex:Python 的一个功能强大的 doubles 测试框架。官网

  • freezegun:通过伪造日期模块来生成不同的时间。官网

  • httmock:针对 Python 2.6+ 和 3.2+ 生成 伪造请求的库。官网

  • httpretty:Python 的 HTTP 请求 mock 工具。官网

  • responses:伪造 Python 中的 requests 库的一个通用库。官网

  • VCR.py:在你的测试中记录和重放 HTTP 交互。官网

  • 对象工厂

  • factoryboy:一个 Python 用的测试固件 (test fixtures) 替代库。官网

  • mixer:另外一个测试固件 (test fixtures) 替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。官网

  • modelmommy:为 Django 测试创建随机固件官网

  • 代码覆盖率

  • coverage:代码覆盖率测量。官网

  • 伪数据

  • faker:一个 Python 库,用来生成伪数据。官网

  • fake2db:伪数据库生成器。官网

  • radar:生成随机的日期/时间。官网

  • 错误处理

  • FuckIt.pyFuckIt.py 使用最先进的技术来保证你的 Python 代码无论对错都能继续运行。官网

代码分析和Lint工具

进行代码分析,解析和操作代码库的库和工具。

  • 代码分析

  • coala:语言独立和易于扩展的代码分析应用程序。官网

  • code2flow:把你的 Python 和 JavaScript 代码转换为流程图。官网

  • pycallgraph:这个库可以把你的Python 应用的流程(调用图)进行可视化。官网

  • pysonar2:Python 类型推断和检索工具。官网

  • Lint工具

  • Flake8:模块化源码检查工具: pep8, pyflakes 以及 co。官网

  • Pylint:一个完全可定制的源码分析器。官网

  • pylama:Python 和 JavaScript 的代码审查工具。官网

  • 代码格式化

  • autopep8:自动格式化 Python 代码,以使其符合 PEP8 规范。官网

Debugging Tools

用来进行代码调试的库。

  • 调试器

  • ipdb:IPython 启用的 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 客户端。官网

Science and Data Analysis

用来进行科学计算和数据分析的库。

  • astropy:一个天文学 Python 库。官网

  • bcbio-nextgen:这个工具箱为全自动高通量测序分析提供符合最佳实践的处理流程。官网

  • bccb:生物分析相关代码集合官网

  • Biopython:Biopython 是一组可以免费使用的用来进行生物计算的工具。官网

  • blaze:NumPy 和 Pandas 的大数据接口。官网

  • cclib:一个用来解析和解释计算化学软件包输出结果的库。官网

  • NetworkX:一个为复杂网络设计的高性能软件。官网

  • Neupy:执行和测试各种不同的人工神经网络算法。官网

  • Numba:Python JIT (just in time) 编译器,针对科学用的 Python ,由Cython 和 NumPy 的开发者开发。官网

  • NumPy:使用 Python 进行科学计算的基础包。官网

  • Open Babel:一个化学工具箱,用来描述多种化学数据。官网

  • Open Mining:使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。官网

  • orange:通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和机器学习。官网

  • Pandas:提供高性能,易用的数据结构和数据分析工具。官网

  • PyDy:PyDy 是 Python Dynamics 的缩写,用来为动力学运动建模工作流程提供帮助, 基于 NumPy, SciPy, IPython 和 matplotlib。官网

  • PyMC:马尔科夫链蒙特卡洛采样工具。官网

  • RDKit:化学信息学和机器学习软件。官网

  • SciPy:由一些基于 Python ,用于数学,科学和工程的开源软件构成的生态系统。官网

  • statsmodels:统计建模和计量经济学。官网

  • SymPy:一个用于符号数学的 Python 库。官网

  • zipline:一个 Python 算法交易库。官网

  • Bayesian-belief-networks:优雅的贝叶斯信念网络框架。官网

数据可视化

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

  • matplotlib:一个 Python 2D 绘图库。官网

  • bokeh:用 Python 进行交互式 web 绘图。官网

  • ggplot:ggplot2 给 R 提供的 API 的 Python 版本。官网

  • plotly:协同 Python 和 matplotlib 工作的 web 绘图库。官网

  • pygal:一个 Python SVG 图表创建工具。官网

  • pygraphviz:Graphviz 的 Python 接口。官网

  • PyQtGraph:交互式实时2D/3D/图像绘制及科学/工程学组件。官网

  • SnakeViz:一个基于浏览器的 Python's cProfile 模块输出结果查看工具。官网

  • vincent:把 Python 转换为 Vega 语法的转换工具。官网

  • VisPy:基于 OpenGL 的高性能科学可视化工具。官网

计算机视觉

计算机视觉库。

机器学习

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

  • Crab:灵活、快速的推荐引擎。官网

  • gensim:人性化的话题建模库。官网

  • hebel:GPU 加速的深度学习库。官网

  • NuPIC:智能计算 Numenta 平台。官网

  • pattern:Python 网络挖掘模块。官网

  • PyBrain:另一个 Python 机器学习库。官网

  • Pylearn2:一个基于 Theano 的机器学习库。官网

  • python-recsys:一个用来实现推荐系统的 Python 库。官网

  • scikit-learn:基于 SciPy 构建的机器学习 Python 模块。官网

  • pydeep:Python 深度学习库。官网

  • vowpalporpoise:轻量级 Vowpal Wabbit 的 Python 封装。官网

  • skflow:一个 TensorFlow 的简化接口(模仿 scikit-learn)。官网

MapReduce

MapReduce 框架和库。

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

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

  • luigi:这个模块帮你构建批处理作业的复杂流水线。官网

  • mrjob:在 Hadoop 或 Amazon Web Services 上运行 MapReduce 任务。官网

  • PySpark:Spark 的 Python API 。官网

  • streamparse:运行针对事实数据流的 Python 代码。集成了Apache Storm官网

函数式编程

使用 Python 进行函数式编程。

  • CyToolz:Toolz 的 Cython 实现 : 高性能函数式工具。官网

  • fn.py:在 Python 中进行函数式编程 : 实现了一些享受函数式编程缺失的功能。官网

  • funcy:炫酷又实用的函数式工具。官网

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

第三方 API

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

  • apache-libcloud:一个为各种云设计的 Python 库。官网

  • boto: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 的封装。官网

DevOps 工具

用于 DevOps 的软件和库。

  • Ansible:一个非常简单的 IT 自动化平台。官网

  • SaltStack:基础设施自动化和管理系统。官网

  • OpenStack:用于构建私有和公有云的开源软件。官网

  • Docker Compose:快速,分离的开发环境,使用 Docker。官网

  • Fabric:一个简单的,Python 风格的工具,用来进行远程执行和部署。官网

  • cuisine:为 Fabric 提供一系列高级函数。官网

  • Fabtools:一个用来编写超赞的 Fabric 文件的工具。官网

  • gitapi:Git 的纯 Python API。官网

  • hgapi:Mercurial 的纯 Python API。官网

  • honcho:Foreman的 Python 克隆版,用来管理基于Procfile的应用。官网

  • pexpect:Controlling interactive programs in a pseudo-terminal like 在一个伪终端中控制交互程序,就像 GNU expect 一样。官网

  • psutil:一个跨平台进程和系统工具模块。官网

  • supervisor:UNIX 的进程控制系统。官网

任务调度

任务调度库。

  • APScheduler:轻巧但强大的进程内任务调度,使你可以调度函数。官网

  • django-schedule:一个 Django 排程应用。官网

  • doit:一个任务执行和构建工具。官网

  • gunnery:分布式系统使用的多用途任务执行工具 ,具有 web 交互界面。官网

  • Joblib:一组为 Python 提供轻量级作业流水线的工具。官网

  • Plan:如有神助地编写 crontab 文件。官网

  • schedule:人性化的 Python 任务调度库。官网

  • Spiff:使用纯 Python 实现的强大的工作流引擎。官网

  • TaskFlow:一个可以让你方便执行任务的 Python 库,一致并且可靠。官网

外来函数接口

使用外来函数接口的库。

  • cffi:用来调用 C 代码的外来函数接口。官网

  • ctypes:(Python 标准库) 用来调用 C 代码的外来函数接口。官网

  • PyCUDA:Nvidia CUDA API 的封装。官网

  • SWIG:简化的封装和接口生成器。官网

高性能

让 Python 更快的库。

  • Cython:优化的 Python 静态编译器。使用类型混合使 Python 编译成 C 或 C++ 模块来获得性能的极大提升。官网

  • PeachPy:嵌入 Python 的 x86-64 汇编器。可以被用作 Python 内联的汇编器或者是独立的汇编器,用于 Windows, Linux, OS X, Native Client 或者 Go 。官网

  • PyPy:使用 Python 实现的 Python。解释器使用黑魔法加快 Python 运行速度且不需要加入额外的类型信息。官网

  • Pyston:使用 LLVM 和现代 JIT 技术构建的 Python 实现,目标是为了获得很好的性能。官网

  • Stackless Python:一个强化版的 Python。官网

微软的 Windows平台

在 Windows 平台上进行 Python 编程。

  • Python(x,y):面向科学应用的 Python 发行版,基于 Qt 和 Spyder。官网

  • pythonlibs:非官方的 Windows 平台 Python 扩展二进制包。官网

  • PythonNet:Python 与 .NET 公共语言运行库 (CLR)的集成。官网

  • PyWin32:针对 Windows 的Python 扩展。官网

  • WinPython:Windows 7/8 系统下便携式开发环境。官网

网络可视化和SDN

用来进行网络可视化和SDN(软件定义网络)的工具和库。

  • Mininet:一款流行的网络模拟器以及用 Python 编写的 API。官网

  • POX:一个针对基于 Python 的软件定义网络应用(例如 OpenFlow SDN 控制器)的开源开发平台。官网

  • Pyretic:火热的 SDN 编程语言中的一员,为网络交换机和模拟器提供强大的抽象能力。官网

  • SDX Platform:基于 SDN 的 IXP 实现,影响了 Mininet, POX 和 Pyretic。官网

硬件

用来对硬件进行编程的库。

  • ino:操作Arduino的命令行工具。官网

  • Pyro:Python 机器人编程库。官网

  • PyUserInput:跨平台的,控制鼠标和键盘的模块。官网

  • scapy:一个非常棒的操作数据包的库。官网

  • wifi:一个 Python 库和命令行工具用来在 Linux 平台上操作WiFi。官网

  • Pingo:Pingo 为类似Raspberry Pi,pcDuino, Intel Galileo等设备提供统一的API用以编程。官网

兼容性

帮助从 Python 2 向 Python 3迁移的库。

  • Python-Future:这就是 Python 2 和 Python 3 之间丢失的那个兼容性层。官网

  • Python-Modernize:使 Python 代码更加现代化以便最终迁移到 Python 3。官网

  • Six:Python 2 和 3 的兼容性工具。官网

杂项

不属于上面任何一个类别,但是非常有用的库。

  • blinker:一个快速的 Python 进程内信号/事件分发系统。官网

  • itsdangerous:一系列辅助工具用来将可信的数据传入不可信的环境。官网

  • pluginbase:一个简单但是非常灵活的 Python 插件系统。官网

  • Pychievements:一个用来创建和追踪成就的 Python 框架。官网

  • Tryton:一个通用商务框架。官网

算法和设计模式

Python 实现的算法和设计模式。

  • algorithms:一个 Python 算法模块。官网

  • python-patterns:Python 设计模式的集合。官网

  • sortedcontainers:快速,纯 Python 实现的SortedList,SortedDict 和 SortedSet 类型。官网

编辑器插件

编辑器和 IDE 的插件

  • Emacs

  • Elpy:Emacs Python 开发环境。官网

  • Sublime Text

  • SublimeJEDI:一个 Sublime Text 插件,用来使用超赞的自动补全库 Jedi。官网

  • Anaconda:Anaconda 把你的 Sublime Text 3 变成一个功能齐全的 Python IDE。官网

  • Vim

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

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

  • Python-mode:将 Vim 变成 Python IDE 的一款多合一插件。官网

  • Visual Studio

  • PTVS:Visual Studio 的 Python 工具官网

集成开发环境

流行的 Python 集成开发环境。

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

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

  • Spyder:开源 Python IDE。官网

自动聊天工具

用于开发聊天机器人的库

  • Errbot:最简单和最流行的聊天机器人用来实现自动聊天工具。官网

服务

在线工具和简化开发的 API 。

持续集成

参见: awesome-CIandCD.

  • Travis CI:一个流行的工具,为你的开源和私人项目提供持续集成服务。(仅支持 GitHub)官网

  • CircleCI:一个持续集成工具,可以非常快速的进行并行测试。 (仅支持 GitHub)官网

  • Vexor CI:一个为私人 app 提供持续集成的工具,支持按分钟付费。官网

  • Wercker:基于 Docker 平台,用来构建和部署微服务。官网

代码质量

  • Codacy:自动化代码审查,更加快速的发布高质量代码。对于开源项目是免费的。官网

  • QuantifiedCode:一个数据驱动、自动、持续的代码审查工具。官网

资源

在这里可以找到新的 Python 库。

网站

周刊

Twitter

学习指南

原帖
https://www.jianshu.com/p/a166e63544d8

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 193,495评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,469评论 2 369
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 140,825评论 0 318
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 51,974评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,849评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 45,990评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,415评论 3 380
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,125评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,351评论 1 288
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,474评论 2 307
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,249评论 1 324
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,119评论 3 310
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,496评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,838评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,118评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,366评论 2 340
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,573评论 2 335