[h1]MMdnn[/h1]MMdnn 是一个深度学习的模型工具集,它能够互转模型文件、可视化模型结构、自动产生训练/推演的代码、辅助测试模型兼容性等。老板发话了,这么好用的工具必须上3月推荐榜。这就是“关系”。
—— 林昊翔 主管研究员 微软亚洲研究院 系统组 项目主页:https://github.com/Microsoft/MMdnn
[h1]Matplotlib[/h1]Matplotlib 是一个高质量数据二维可视化的功能库,它支持几百种数据可视化展示型效果,已经成为该领域的事实标准库,不掌握它都不敢说懂数据处理!
一图胜千言,春天来了,让你的数据如花般绽放吧!
—— 赵广辉 副教授 武汉理工大学 计算机学院 项目主页:http://www.matplotlib.org/
[h1]ONNX[/h1]ONNX 是通向AI开发者生态的第一步,它提供了一种开放的深度学习模型格式,帮助用户在 CNTK、PyTorch、Caffe2、MXNet 等框架间协同工作。
微软(Microsoft)、脸书(Facebook)、亚马逊(Amazon)三巨头联合出品,赶紧上车!
—— 林昊翔 主管研究员 微软亚洲研究院 系统组 项目主页:https://onnx.ai/
[h1]SciPy[/h1]SciPy 提供了一组支持金融、数学、统计、信号处理等领域常用计算功能的函数,如三次样条插值、数值积分、图像处理等,搭配 Matplotlib 可视化工具包效果更好哦!春天适合远游,人去不了,来个数据处理之旅吧!
—— 蒋彦 副教授 济南大学 信息科学与工程学院 项目主页:http://www.scipy.org/
[h1]filecmp[/h1]filecmp 是 Python 标准库之一,提供了用于比较文件或文件夹的一组函数,这些函数能够通过不同参数的配置在比较时间和准确性间进行平衡。
“每逢佳节胖三斤,仔细一瞧三公斤。”春节后的3月份,“比较”是个敏感词。
—— 嵩天 副教授 北京理工大学 计算机学院 项目主页:https://docs.python.org/3.6/library/filecmp.html
[h1]itchat[/h1]itchat 是针对个人微信网页版的完整功能库,从此,编写微信机器人不要太简单了,30行左右代码就能完成消息处理。
开春人散漫,不想说话,派个机器人回复你!
—— 李芬芬 讲师 淮阴工学院 计算机与软件工程学院 项目主页:http://itchat.readthedocs.io/zh/latest/
[h1]pyserial[/h1]pyserial 封装了串口通信功能,可以采用相同代码在 Windows、OSX、Linux、BSD 等不同操作系统上开展串口通信,让硬件开发更轻松。
三月春暖花开,体会诗和远方;物联世界美好,派森(Python)伴你同行。
—— 肖胜刚 讲师 河北大学 计算机教学部 项目主页:https://github.com/pyserial/pyserial
[h1]retrying[/h1]写程序经常遇到一个场景,当程序失败时需要多次重试某些操作,这种情况下,如果想不关心重试逻辑并优雅的“再来一次”,retrying 就是必会之一。“野火烧不尽,春风吹又生”,坚强的小草被火烧尽了,到春天就能重新生长起来,程序执行失败遇到 retrying 也能原地满血复活。
—— 刘文飞 工程师 大连理工大学 电子信息与工程学部 项目主页:https://github.com/rholder/retrying
[h1]seaborn[/h1]seaborn 提供了一个高抽象层次和高质量的数据可视化功能库,它基于 matplotlib 开发,能够与 numpy 和 pandas 等众多数据处理明星库协同使用。春暖花开,赏心悦目,带着好心情给数据换个外观吧。
—— 石云 副教授 六盘水师范学院 数学与信息工程学院 项目主页:http://seaborn.pydata.org/
[h1]turtle[/h1]turtle 是最重要的 Python 标准库之一,提供了利用海龟绘图原理进行基本图形绘制的众多功能。turtle 是编程入门必学内容之一。Python123 绘图大赛春季启动啦,学着海龟速去围观吧!
—— 嵩天 副教授 北京理工大学 计算机学院 项目主页:https://docs.python.org/3.6/library/turtle.html
[h1]Bokeh[/h1]
Bokeh 是针对 Web 浏览器的交互式数据可视化 Python 第三方库,即它能够直接产生带有数据可视化效果的 Web 页面。Bokeh 支持大规模数据和流式数据可视化操作,数据展示速度快、交互性很强。
项目主页:https://bokeh.pydata.org/
[h1]Gleam[/h1]
Gleam 能够将数据展示转变为可交互的 Web 页面,这其中,用户不需要了解非 Python 的其他语言。Gleam 能够与绝大部分 Python 数据可视化库对接,利用自带的 Web 服务器,将会直接过转变为 Web 页面效果。
项目主页:https://github.com/dgrtwo/gleam
[h1]Plotly[/h1]
Plotly 是一个在线数据可视化平台,提供几百种数据可视化效果。Plotly 最大特点是能够在线即时展示数据可视化效果,对于异地协作开发十分有益。此外,Plotly 还提供了一些独特的可视化风格,有待读者挖掘哦!
项目主页:https://plot.ly/python/
[h1]PyQtDataVisualization[/h1]
PyQtDataVisualization 是 Qt 数据可视化的 Python 接口,傍着 Qt 这棵大树,这个 Python 第三方库十分有料。与 Qt 定位类似,它特别适用于本地数据可视化程序开发,作为桌面或嵌入式软件的数据展示单元。
项目主页:https://www.riverbankcomputing.com/software/pyqtdatavisualization/intro
[h1]Pygal[/h1]
Pygal 提供用来嵌入到 Web 页面中的数据可视化效果,与其他库相比,除了展示效果不同且有一定特点外,它能够将可视化效果图以 SVG 方式输出。Pygal 比较适合几万条以下小规模数据的可视化展示。
项目主页:http://www.pygal.org/
[h1]dataswim[/h1]
dataswim,让数据去游泳,好想法!这是一个简单的数据可视化 Python 第三方库,提供的数据展示效果不多,但各具特点,即使最简单的曲线图也别具风格。简单、个性却专业,正是 dataswim 的发展路线。如果你是寻求个性的程序员,这个库适合你!
项目主页:https://github.com/synw/dataswim
[h1]geoplotlib[/h1]
Geoplotlib 是创建地图及展示地理信息数据的 Python 第三方库,它能够绘制地理等高线图、热力型地图、点密度地图等。若要展示地图相关数据信息,在 seaborn 库之外,这个库绝对值得试用一下。
项目主页:https://github.com/andrea-cuttone/geoplotlib
[h1]ggplot[/h1]
ggplot 是 R 语言 ggplot2 可视化系统对应的Python第三方接口,对于熟悉 R 语言的伙伴们来说,这个库十分友好。ggplot 简单易学、十分有趣而且相当强大,平凡的数据都能被绘制得美美的,不信来看图!
项目主页:http://ggplot.yhathq.com/
[h1]missingno[/h1]
正如它的名字,missingno 用来对数据完整性进行快速的可视化汇总和检测,看图找缺失比读表更直观、更快捷。它提供矩阵、树状图、热力图等多种形式,以及过滤和排序等基本功能。查看数据缺失,missingno 不可或缺。
项目主页:https://github.com/ResidentMario/missingno
[h1]vispy[/h1]
Vispy 是一个高性能交互式的 2D/3D 数据可视化 Python 第三方库,它可以通过 OpenGL 利用 GPU 对大规模数据进行高速可视化展示。Vispy 正走在一条通往真正大科学计算可视化功能库的道路上,在未来,用 Python 模拟气候变化并可视化将不再是个事儿!
项目主页:http://vispy.org/
[h1]Arcade[/h1]Arcade 是一个简单易用创建 2D 游戏的 Python 第三方库,非常适合入门级游戏开发者。它基于 Pyglet 和OpenGL,提供了动画、精灵、装饰、场景等一系列功能,适合作为桌面系统的游戏开发平台。更重要的是,正如其设计理念,使用 Acrade 开发非常简单!
项目主页:http://arcade.academy/
[h1]FGMK[/h1]FGMK (Fan Game MaKer) 是一个由 Python 语言实现带有 GUI 界面的 RPG 游戏编辑器,可以通过它设计游戏过程,并通过自带的 JavaScript 引擎产生 Web 界面下可运行的 RPG 游戏。FGMK 更像一个工具而不是一个开发引擎。
项目主页:https://github.com/ericoporto/fgmk
[h1]Panda3d[/h1]Panda3d 是一个专业级 3D 游戏引擎,提供3D 渲染和游戏开发功能,由迪士尼和卡耐基梅隆大学联合开发并维护。Panda3d 提供 Python 和 C++ 开发接口,它不是入门级游戏引擎,而是一个专业级开发工具。
项目主页:http://www.panda3d.org/
[h1]Pygame[/h1]Pygame 是 Python 语言当之无愧的游戏入门开发第三方库,它基于 SDL 直接访问音视频硬件及输入输出外设,形成了基本的游戏开发引擎。Pygame 是进一步学习其他游戏引擎的基础。这个库尽管简单,却很强大,能够用于开发专业耐玩的桌面游戏。
项目主页:https://www.pygame.org/
[h1]Pymunk[/h1]Pymunk 是一个简单易用的 2D 物理规则第三方库,用来在游戏或演示中增加符合物理规则的动态效果。Pymunk 不是一个游戏框架,比较适合为游戏提供相关功能,可以与 Arcade 游戏开发框架直接兼容使用。想想“愤怒的小鸟”,就知道物理有多重要了!
项目主页:http://www.pymunk.org/
[h1]cocos2d[/h1]cocos2d 是一个基于 Pyglet 和 OpenGL 开发的2D游戏、演示和图形交互应用开发框架,采用纯 Python 编写,能够使用硬件加速,可跨平台,易学易用。cocos2d 也提供场景控制、精灵、动作、效果等系列功能。
项目主页:http://python.cocos2d.org/
[h1]freegames[/h1]Freegames 提供了一批用于实验、教学和休闲的开源小游戏,这些游戏用 Python 编写,运行在 Python 环境中,甚至 Raspberry Pi 等嵌入式硬件上。安装很简单、游戏很有趣、代码很示范,安装 Python 后首装第三方库,非 freegames 莫属!
项目主页:http://www.grantjenks.com/docs/freegames/
[h1]gym[/h1]gym 是一个开发并比较增强学习算法的工具集,貌似与游戏无关,但该平台可以整合若干游戏,测试各类游戏智能算法的效果。Gym 兼容 TensorFlow 或 Theano 等深度学习框架,通过控制代理并从环境中获得反馈来运行深度学习算法。
项目主页:https://github.com/openai/gym
[h1]gym-super-mario-bros[/h1]gym-super-mario-bros 是 OpenAI Gym 环境支持下的超级马里奥兄弟游戏,这个游戏有多经典不再赘述了,很暴露年龄。该第三方库支持对游戏编辑、设置和运行管理,进一步,可以编写代码控制角色进行自动游戏。游戏不重要,“玩转”游戏很重要!
项目主页:https://github.com/Kautenja/gym-super-mario-bros
[h1]pyglet[/h1]Pyglet 是一个面向对象方式编写游戏或其他富媒体应用的第三方库,可以跨平台使用,支持 OpenGL、图像、音视频、事件处理等。Pyglet 是一个较为底层的开发框架,不适合直接作为游戏开发平台,在其基础上封装的 cocos2d 和 Arcade 更为合适。可是,没有这个基础,哪会有高层次呢?!
项目主页:http://pyglet.readthedocs.io/
[h1]CNTK[/h1]CNTK 是小名,全名是 Microsoft Cognitive Toolkit,它是微软提供的深度学习框架。从技术上,它与其他优秀框架区别不大,但就品质来说,微软出品还是有相当保障的。如果觉得深度学习框架如乱花迷人眼,就从 CNTK 开始吧。
项目主页:https://github.com/microsoft/cntk
[h1]Caffe2[/h1]Caffe2 是一个轻量级、模块化和可扩展的深度神经网络框架。Caffe2 在圈内非常知名,由 Facebook 出品,但在 2018 年 5 月,它已经正式合并入PyTorch,不再使用 Caffe2 的名字继续更新。再看到 Caffe2,请用 PyTorch 来代替。
项目主页:https://caffe2.ai/
[h1]Keras[/h1]Keras 是一个高层次的深度神经网络框架接口,它可以运行 TensorFlow、CNTK、Theano、MXNet 等具体框架,以用户友好、模块化和可扩展性著称。当别人还在 PK 具体框架之时,Keras 已经考虑打通框架之间的壁垒,这种抽象思维十分有益。学好一个具体框架后,Keras 则是“首选”的第二个。
项目主页:https://keras.io/
[h1]Lasagne[/h1]Lasagne 是一个基于 Theano 的轻量级神经网络工具库,用于建立和训练神经网络。在大型科技公司深度介入人工智能技术的背景下,这个由几个工程师联合开发的框架注定不会取得大成。尽管该库已经几乎不再演进,其愿景及所开放源代码非常值得广大程序员参考借鉴。
项目主页:https://github.com/Lasagne/Lasagne
[h1]PaddlePaddle[/h1]PaddlePaddle 是百度公司推出的深度学习框架,它提供了丰富的算法服务,易用、灵活、高效、可扩展,体现了百度的人工智能水平。作为深度学习框架的后起之秀,效果如何还要拭目以待,但非常值得期待。
项目主页:http://www.paddlepaddle.org/
[h1]PyTorch[/h1]PyTorch 是一个快速和灵活的深度学习框架,它有两个特点:快速,深度整合 GPU 硬件,计算更快速;灵活,可以动态生成张量(Tensor)流图,更适合演进式应用开发。再透露一点,PyTorch 是很多专业人士首选的深度学习框架。
项目主页:https://pytorch.org/
[h1]TensorFlow[/h1]如果不知道 TensorFlow 这个词,一定很 OUT,它是 AlphaGo 背后的深度学习框架,支撑了 Google 背后大量的智能应用。Tensor 是张量,Flow 是流图,TensorFlow 就这样“简单的”构造张量流图开展深度学习计算。虽然专业应用已经不再直接使用这个框架,但作为入门学习者,从 TensorFlow 开始是非常好的选择。
项目主页:https://www.tensorflow.org/
[h1]Theano[/h1]Theano 是一个“历史悠久”(约 10 年)的深度学习框架,为执行大规模神经网络运算所设计,它本质上是一个数学表达式编译器:用符号语言定义过程及结果,编译并高效运行于 GPU 或 CPU 之上。同样,这个由个人群体维护的框架也未能在资本密集的人工智能市场长久存在下去,2017 年发布 1.0 版本后,该框架暂时还没未更新。
项目主页:http://deeplearning.net/software/theano/
[h1]mxnet[/h1]MXNet 是一个神奇的深度学习框架,它由 400 多位来自 Amazon、Apple、Samsung 和 Microsoft 等的开发人员贡献,并形成了一个有深度的开源社区。MXNet 尚未由大公司资助,应该是最中立的深度学习框架了,而且还非常有活力。悄悄的说,学术界最喜欢 MXNet,这必有道理。
项目主页:https://mxnet.incubator.apache.org/
[h1]sklearn-theano[/h1]sklearn-theano 是一个建立在 Numpy, Scipy, Theano 和 Matplotlib 等 Python 库之上用于提取并抽象特征的库,严格意义上说,它并非是一个完整的深度学习框架,但对于提取特征,尤其是图像特征十分有用。
项目主页:http://sklearn-theano.github.io/
[h1]Hachoir[/h1]Hachoir 是一个用于按字段查看和编辑二进制流文件的 Python 库,它可以采用类似浏览目录和文件一样“浏览”任何二进制流/文件,它还提供了提取二进制文件元数据等功能。
项目主页:https://github.com/vstinner/hachoir
[h1]PyPDF2[/h1]PyPDF2 是一个用于解析 PDF 文件的功能库,它能够完成对 PDF 文件的分割、合并、裁剪,提取文字及图片内容,添加数据,查看选项,设置密码等功能。
项目主页:https://github.com/mstamy2/PyPDF2
[h1]Pydub[/h1]Pydub 是一个用于处理音频数据文件的 Python 功能库,它支持 wav/mp3/ogg/flv 等文件格式,提供音频长度提取、淡入淡出效果设置等系列音频处理功能。
项目主页:https://github.com/jiaaro/pydub
[h1]csvkit[/h1]csvkit 是由 Python 编写的命令行工具,用于表格处理,它能够方便地实现 xlsx、json 等格式数据向 csv 格式的转换,并能够与结构化查询语言(SQL)联合使用。
项目主页:https://github.com/wireservice/csvkit
[h1]moviepy[/h1]moviepy 是一个用于视频编辑的 Python 库,它支持大多数常见的视频音频格式,也包括 GIF 格式,提供了视频剪切、连接、标题插入、合成等相关功能。
项目主页:https://github.com/Zulko/moviepy
[h1]openpyxl[/h1]简单说,openpyxl 能够读写微软 Excel 2010 支持的文件格式,即 xlsx/xlsm/xltx/xltm 等。它的具体功能包括创建和修改工作簿,设置数字格式,使用 Excel 公式,以及绝大部分微软 Excel 工具能够完成的操作功能。
项目主页:https://openpyxl.readthedocs.io/en/latest/
[h1]pefile[/h1]pefile 是一个能够解析 PE (Portable Executable) 格式文件的 Python 第三方库。PE 可是大名鼎鼎,它是 Windows 平台上所有可执行文件的标准格式。pefile 能够帮助获取 PE 格式的任何特性或字段。
项目主页:https://github.com/erocarrera/pefile
[h1]pillow[/h1]Pillow 是非常知名的 Python 图像处理功能库,它提供对绝大多数图像文件格式的访问支持,同时,它还具有简单且强大的图像处理功能,可以将图像转换成多维矩阵,获取 RGB 通道值及更多操作。
项目主页:https://github.com/python-pillow/Pillow
[h1]python-docx[/h1]python-docx 是一个用于读写 Microsoft Word 文件的功能库,支持 docx 文件格式。它的具体功能包括读写内容,设置格式,插入、编辑表格,以及绝大部分微软 Word 工具能够完成的操作功能。
项目主页:http://python-docx.readthedocs.io/en/latest/
[h1]python-pptx[/h1]python-pptx 是一个用于处理 PowerPoint 文件的功能库,支持 pptx 文件格式。它能够实现绝大部分微软 PowerPoint 工具能够完成的操作功能。可以编程自动生成一批 PPT,再定期来个数据更新。
项目主页:http://python-pptx.readthedocs.io/en/latest/
[h1]CherryPy[/h1]CherryPy 能够让开发者按照其他面向对象程序相似的设计方法开发 Web 系统,进而采用最少的代码、最简洁的方式。CherryPy 已经开发了 10 年之久,稳定性较好,非常适合小规模 Web 系统和纯粹的 Python 程序员。感受到了什么?Python 大有一统江湖之势!拭目以待。
项目主页:https://cherrypy.org/
[h1]Django[/h1]Django 是一个高层次 Python Web 开发框架,特点是开发快速、代码较少、可扩展性强。Django 采用 MTV(Model、Template、View)模型组织资源,框架功能丰富,模板扩展选择最多。对于专业人员来说,Django 是当之无愧的 Python 排名第一的 Web 开发框架。
项目主页:https://www.djangoproject.com/
[h1]Falcon[/h1]Falcon 是一个支持大规模微服务 API 或移动 App 后端响应的 Web 开发框架,它完全基于 Python 并提供了非常高的性能、可靠性和可扩展性。Falcon 定位独特且特色鲜明,对于 App 开发者,后端系统构建不妨考虑 Falcon,十之八九是不会后悔的。
项目主页:http://falconframework.org/
[h1]Flask[/h1]Flask 是一个 Python Web 开发的微框架,严格来说,它仅提供 Web 服务器支持,不提供全栈开发支持。然而,Flask 非常轻量、非常简单,基于它搭建 Web 系统都以分钟来计时,特别适合小微原型系统的开发。花少时间、产生可用系统,是非常划算的选择。
项目主页:http://flask.pocoo.org/
[h1]Pyramid[/h1]Pyramid 是一个扩展性很强且灵活的 Python Web 开发框架。上手十分容易,比较适合中等规模且边开发边设计的场景。Pyramid 不提供绝对严格的框架定义,根据需求可以扩展开发,对高阶程序员十分友好。
项目主页:https://trypyramid.com/
[h1]Quart[/h1]Quart 是面向 ASGI(Asynchronous Server Gateway Interface)开发的 Python Web 微框架,它采用 Flask 兼容的 API 接口,提供非常轻量级的开发方式。如果说 Flask 有多流行,那么 Quart 也将那么流行,对于小微 Web 系统开发,还等什么,赶快入手吧!
项目主页:https://gitlab.com/pgjones/quart
[h1]Tornado[/h1]Tornado 是一个基于异步网络功能库的 Web 开发框架,因此,它能支持几万个开放连接,Web 服务高效稳定。可见,Tornado 适合高并发场景下的 Web 系统,开发过程需要采用 Tornado 提供的框架,灵活性较差,确定场景后再考虑使用不迟。
项目主页:http://www.tornadoweb.org/
[h1]TurboGears[/h1]TurboGears 2 试图解决 TurboGears 1、Django、Rails 等框架缺陷,它支持多数据库、JavaScript 工具集、多种数据交换格式等,当然,它开发非常高效,扩展性很强。试问它与 Django 哪个更好?还真不好说,Django社区更为活跃或许更重要。
项目主页:http://www.turbogears.org/
[h1]reahl[/h1]reahl 是一个可以让开发者完全用 Python 语言编写 Web 应用的开放框架,采用 Python 作为唯一开发语言是其最大特色。此外,reahl 提供了相当清晰且简明的开发组建,对于开发一般功能性 Web 系统足够清晰且可行。
项目主页:https://www.reahl.org/
[h1]web.py[/h1]正如其名,web.py 是一个采用 Python 作为开发语言的 Web 框架,简单且强大。俄罗斯排名第一的 Yandex 搜索引擎基于这个框架开发,Guido van Rossum 认为这是最好的 Python Web 框架,还需要说别的吗?有事实作证、有大牛认可,用起来吧!
项目主页:http://webpy.org/
[h1]Click[/h1]Click 是一个能够简单有效创建命令行的 Python 第三方库,它致力于让程序命令行设计更加快速和有趣。该项目是成功的,使用 Click 可以分分钟搞出一个漂亮且专业的命令行设计,让脚本程序瞬间高大上,充满 Linux 的专业范儿!
项目主页:https://github.com/pallets/click
[h1]prompt_toolkit[/h1]顾名思义,prompt_toolkit 是用来产生交互式提示请求的工具集,它主要用于替换 GNU 的 readline 函数。它采用纯 Python 编写,支持多种操作系统,交互界面十分友好,非常适合作为自动运维中获取用户交互信息的 Python 第三方库使用。创建一个交互式环境只需要几行代码,如此简单。
项目主页:https://github.com/jonathanslenders/python-prompt-toolkit
ptpython
ptpython 是一个高级的 Python 交互式窗口(即REPL,Read-Eval-Print Loop),简单理解,ptpython 是一个 Python 语言交互式环境,用户可以输入一条命令,获得相应输出结果。相比 Python 解释器自带交互式环境IDLE,ptpython 更加清晰和友好,更适合自动化运维的需求。
项目主页:https://github.com/jonathanslenders/ptpython/
[h1]psutil[/h1]psutil(process and system utilities)是一个获取进程及系统性能信息的 Python 第三方库,它可工作在多种操作系统平台,能够监控 CPU、内存、磁盘、网络、传感器、外设、进程等多种资源,并提供了一批类 Unix 维护命令。如果说它是最好的系统监控 Python 库,应该没人会有异议。
项目主页:https://github.com/giampaolo/psutil
[h1]smtplib[/h1]自动发送提醒邮件是系统自动化运维的重要输出方式之一,Python 标准库 smtplib 正提供了该功能。SMTP 是一种简单邮件传输协议(RFC 821),smtplib 是其 Python 实现版本,提供了发送邮件客户端功能。任何的自动运维系统都需要 smtplib 类似功能,不仅如此,编写程序自动发送邮件也非常酷!
项目主页:https://docs.python.org/3/library/smtplib.html
[h1]Ansible[/h1]Ansible 是大名鼎鼎的IT运维系统,它完全由 Python 编写,集成了大量 Python 第三方库,形成了一个强大完整的运维工具。涉及到云计算的自动化运维需求基本都会考虑用 Ansible,在 DevOps 江湖中,其老大地位无人能及!不多说了,查文档开始学起来吧。
项目主页:https://www.ansible.com
[h1]scapy[/h1]scapy 是一个强大的交互式网络探测和处理工具,它能实现解析多种协议网络包、捕获网络包、匹配网络包、发送伪造网络包、路由检测等多种功能。Scapy 强大到没对手,可以当作第三方库使用,也可以当做独立工具使用,涉及网络处理,只要想起这个名字,足矣!
项目主页:https://scapy.net/
[h1]difflib[/h1]difflib 是一个用于比较文件差别的 Python 标准库,能够将差别信息以 HTML 等多种格式输出,非常适合替代传统 Linux 的 diff 指令提供运维功能。difflib 与标准库 filecmp 搭配使用效果更佳,后者可以对文件或目录进行初步比较,而前者进一步进行细致对比。自动化运维的起步是文件比较,这两个库请牢记!
项目主页:https://docs.python.org/3/library/difflib.html
[h1]pexpect[/h1]pexpert 是 expert 的 Python 版本,用来控制进程的创建、输入和响应等操作,在运维中,它可以实现 ssh、ftp、passwd、telnet 等各种运维命令的自动交互,实现多命令的自动化组织和处理。Pexpert 主要工作在 Linux 操作系统上,同时也支持 Windows 系统。对于稍微复杂的自动化运维需求,pexpert 是必选项。
项目主页:https://pexpect.readthedocs.io/en/stable/
[h1]Paramiko[/h1]Paramiko 是一个实现 SSH2 远程安全连接的 Python 第三方库,支持认证及密钥方式,可以实现远程命令执行、文件传输、SSH 代理等功能。Paramiko 基于 Python 编写,兼容 OpenSSH 实现。SSH 远程连接在运维中的基础性和重要性毋庸置疑,Paramiko 的价值也无需再言,掌握之就是了!
项目主页:https://github.com/paramiko/paramiko/
[h1]sqlite3
[/h1]SQLite 是一种轻量级数据库,它的数据库就是一个文件,如果程序仅需要存储简单的格式化数据,使用SQLite是一个不错的选择。sqlite3是 Python 提供的一个用于操作SQLite的标准库,不需要安装任何东西,直接可以使用。
项目主页:https://docs.python.org/3.7/library/sqlite3.html
[h1]execsql
[/h1]execsql 是一个可以在 PostgreSQL、MS-Access、SQLite、MySQL等数据库中执行 SQL 脚本的 Python 程序。它除了能够执行 SQL 命令外,还能够将文本文件中的数据导入数据库;把数据库中的表导出为 HTML、JSON、LaTeX、文本文件等多种格式;在数据库之间复制数据;并且还提供了一个简单的图形界面来查看数据库中数据。
项目主页:https://execsql.readthedocs.io
[h1]pymysql
[/h1]MySQL 是最流行的开源关系型数据库,对于一般的个人开发者和中小型企业来说,MySQL提供的功能已经绰绰有余。而 pymysql 是 Python3 中用于连接 MySQL 服务器的客户端,导入 pymysql以后,能够采用基本的SQL语句操作数据库,简单如操作 SQLite 库一般。
项目主页:https://github.com/PyMySQL/PyMySQL/
[h1]pymongo
[/h1]如果需要存储的数据规模很大,或者没有那么紧密的关系或固定的结构,又或者需要高性能的查询时,可以尝试使用 mongodb 一类的 NoSQL 数据库。pymongo 是 Python 中操作 MongoDb 的工具包,它实现了对 MongoDB 的底层接口,Python 中其它很多操作 MongoDb 的库都是基于 pymongo 实现的。
项目主页:https://github.com/mongodb/mongo-python-driver
[h1]redis-py
[/h1]redis-py提供两个类Redis和StrictRedis用于实现Redis的命令。Redis是一个支持网络的内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型。Redis提供了5种不同类型的数据结构,各式各样的问题都可以很自然地映射到这些数据结构上:Redis的数据结构致力于帮助用户解决问题,而不会像其他数据库那样,要求用户扭曲问题来适应数据库。除此之外,通过复制、持久化(persistence)和客户端分片(client-side sharding)等特性,用户可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统。
项目主页:https://github.com/andymccurdy/redis-py
[h1]cassandra-driver
[/h1]cassandra-driver是一个针对Apache Cassandra(2.1+)的Python客户端库,功能丰富且高度可调。该库使用Cassandra的二进制协议和Cassandra查询语言v3。
项目主页:https://pypi.org/project/cassandra-driver/
[h1]py-postgresql
[/h1]py-postgresql是一组可提供PostgreSQL各部分接口的Python模块。值得注意的是,它提供了一个纯Python驱动程序和优化方法来查询PostgreSQL数据库。PostgreSQL数据库不再赘述,它已经成为开源关系型数据库的典型代表,大量应用于企业级系统开发中。
项目主页:https://pypi.org/project/py-postgresql/
[h1]pyodbc
[/h1]ODBC,Open Database Connectivity,开放数据库连接,它是一个数据库访问的通用标准,被现代几乎所有数据库所支持。pyodbc提供了一个简单且易用的ODBC访问接口,通过它可以访问几乎所有操作系统平台的所有类型数据库,真正实现程序代码跨平台跨库类型的无缝访问。
项目主页:https://github.com/mkleehammer/pyodbc
[h1]SQLAlchemy
[/h1]SQLAlchemy是Python计算生态中具有企业级访问能力、支持高性能访问的数据库操作工具集,它不仅提供了丰富的SQL访问功能,并且提供了支持ORM的对象操作接口。对于实际部署且支持企业级应用的系统,用SQLAlchemy来进行数据库访问是不二选择!
项目主页:http://www.sqlalchemy.org/
[h1]peewee
[/h1]peewee是一个小而表现力强的对象关系映射(ORM)。使用起来简单、符合直觉。peewee支持常见数据库系统诸如sqlite, mysql 和 postgresql。通过它可以简单、轻量级地实现以面向对象的习惯与方法来操作数据库的内容,从而摆脱在具体逻辑中摆脱繁琐的SQL语句。掌握它来玩转数据库吧。
项目主页:https://github.com/coleifer/peewee
[h1]spaCy[/h1]spaCy 是一个 具有工业级强度Python 自然语言处理工具包。spaCy 大量使用了 Cython 来提高相关模块的性能,并提供了预训练的统计模型和单词向量,拥有世界上最快的语法解析器,以及用于标记、解析和命名实体识别的卷积神经网络模型。目前支持30多种语言的符号化。
项目主页:https://spacy.io/
[h1]Gensim[/h1]Gensim 是一个用于话题空间建模、文档索引和大型语料库的相似性检索 Python第三方库。它专门为处理大型文本集合而设计,使用数据流和高效增量算法,有别于大多数只针对批处理和内存处理的功能库。
项目主页:https://radimrehurek.com/gensim/
[h1]Pattern[/h1]Pattern 是一个 Web 挖掘模块,可以抓取解析如谷歌、Twitter 和 Wikipedia 等各种来源的数据。它包含了多种NLP 工具(如:PoS tagging, n-Grams, sentiment analysis, WordNet),具有向量空间模型、聚类、分类等机器学习功能,以及用于网络分析的各种工具。对于许多语言数据挖掘项目来说,Pattern是一个很好的一体化解决方案。
项目主页:https://www.clips.uantwerpen.be/pages/pattern
[h1]NLTK[/h1]NLTK是最出色的Python自然语言处理库。它不仅开发和维护优异,同时附带了大量的示例数据、语料库和预先训练好的模型。NLTK适合于语言学家、工程师、学生、教育者、研究人员和行业用户,可用于Windows、Mac OS X和Linux,最重要的是,NLTK是一个免费的、开源的、社区驱动的项目。
项目主页:https://www.nltk.org/
[h1]TextBlob[/h1]TextBlob 是一个基于 NLTK 和 Pattern 的自然语言处理库。它提供了非常简单的 API 来处理常见的自然语言任务,如词性标记、名词短语提取、情感分析、分类、翻译等。简单说,TextBlob以一种非常容易访问和易于管理的方式提供了日常自然语言处理所需的一切。
项目主页:https://textblob.readthedocs.io/en/dev/
[h1]Polyglot[/h1]Polyglot 是一个多语言文本处理工具包。虽然它具有与其他自然语言库相似的特性,如:标记化、词性标记、词嵌入、命名属性识别等,但 Polyglot 主要为多语言应用的场景而设计,在同时处理多种语言文本应用中,它提供了一批非常有趣的特性,如:语言检测和音译等,特色明显。
项目主页:https://polyglot.readthedocs.io/en/latest/
[h1]THULAC[/h1]THULAC 由清华大学自然语言处理与社会人文计算实验室研制,它是一套中文词法分析工具包,具有中文分词和词性标注功能。THULAC基于目前世界上规模最大的人工分词和词性标注中文语料库(约含5800万字)训练而成,模型标注能力强大,并具有高准确率及分析速度快的特点。简单说,THULAC是一个高效的中文此法分析工具包。
项目主页:http://thulac.thunlp.org/
[h1]jieba[/h1]jieba 是一个中文分词组件,被称为最好的 Python 中文分词组件。支持三种分词模式:精确模式、全模式和搜索引擎模式,并且支持繁体分词和自定义词典。简单说,jieba是一个非常好用的中文工具,以分词起家,但功能比分词要强大很多。而且,全国计算机等级考试二级Python语言必考jieba库。
项目主页:https://github.com/fxsjy/jieba
[h1]FoolNLTK[/h1]FoolNLTK 是一个中文语言处理工具包,基于 BiLSTM 模型训练而成,包含分词、词性标注、实体识别等功能,且准确率较高。FoolNLTK支持自定义词典,可以训练定制模型,进行批量处理。它可能不是速度最快的开源中文分词库,但很可能是结果最准!
项目主页:https://github.com/rockyzhengwu/FoolNLTK
[h1]SnowNLP[/h1]SnowNLP 是一个中文文本处理功能库,作者受 TextBlob 启发而编写。SnowNLP能够进行分词、标注,还能够进行情绪分析。与TextBlob 不同,它没有使用 NLTK,所有相关算法都是作者实现的,并且自带训练后的字典,可谓青出于蓝而胜于蓝。SnowNLP全面支持Unicode编码,让文本处理变得更简单。
项目主页:https://github.com/isnowfy/snownlp
[h1]OpenCV[/h1]OpenCV 的全称是:Open Source Computer Vision Library。是一个开源的跨平台的计算机视觉库。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB 等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
项目主页:https://opencv.org/
[h1]SimpleCV[/h1]SimpleCV 是一个用于在 Python 中快速构建计算机视觉方面应用程序的开源库。它封装了若干强大的计算机视觉库(目前仅封装了 OpenCV ),简化了用户对这些库的使用难度,如无需了解位深、文件格式、颜色空间、缓冲区管理等内容,降低了学习成本。可以用于在 Python 下快速开发计算机视觉的原型程序。
项目主页:http://simplecv.org/
[h1]luminoth[/h1]Luminoth 是一款使用 TensorFlow 和 Sonnet 构建的计算机视觉方向的开源 Python 工具包。目前支持 Faster R-CNN 等目标检测方法。Luminoth 不仅仅是一个特定模型的实现,它的构建基于模块化和可扩展。此外,Luminoth 可以直接与 Google Cloud 的 ML 引擎整合,所以即使你没有强大的 GPU,也可以在云端进行训练。
项目主页:https://luminoth.ai/
[h1]gluonCV[/h1]GluonCV 是一个基于 MXNet 的计算机视觉库。提供了计算机视觉领域最先进的深度学习算法的实现。它的主要特点有复制最新论文中报道的 SOTA 结果的训练脚本、大量的预训练模型、细心设计的 API 和社区支持。旨在帮助工程师、研究人员、学生快速做出产品原型、验证新思路、学习计算机视觉。
项目主页:https://github.com/dmlc/gluon-cv
[h1]ChainerCV[/h1]ChainerCV 是一个用于计算机视觉的深度学习实用库。这个库旨在通过 Chainer 简易化计算机视觉的训练和深度学习模型应用的过程。它包含计算机视觉模型的高质量实现,以及开展计算机视觉研究的必备工具集。当前,ChainerCV 提供了目标检测和语义分割模型(Faster R-CNN、SSD 和 SegNet)的实现。
项目主页:https://github.com/chainer/chainercv
[h1]rastervision[/h1]Rastervision 是一个用于在卫星、空中和其他大型图像集(包括无人机图像)上构建计算机视觉模型的开源 Python 框架。它允许用户(不需要成为深度学习方面的专家)快速且可重复的配置执行机器学习工作流程的实验。内置了对使用 Tensorflow 的芯片分类、对象检测和语义分割的支持。支持在 AWS 云端训练并且有一个 QGIS 插件可以在地图上查看实验结果。
项目主页:https://github.com/azavea/raster-vision
[h1]pyocr[/h1]Pyocr 是 python 中的一个光学字符识别(OCR)工具包装器。也就是说它有助于使用 python 程序中的各种 OCR 工具。
项目主页:https://gitlab.gnome.org/World/OpenPaperwork/pyocr
[h1]python tesseract[/h1]pytesseract 是一种光学字符识别(OCR)工具。它能识别并“读取”嵌入图像中的文本。是谷歌Tesseract-OCR 引擎的包装器。它可以读取 Python 映像库支持的所有图像类型,包括jpeg、png、gif、bmp、tiff等,而 tesseract-ocr 默认情况下只支持 tiff 和 bmp。此外,如果用作脚本,python tesseract 将打印识别的文本,而不是将其写入文件。
项目主页:https://github.com/madmaze/pytesseract
[h1]Mahotas[/h1]Mahotas 是一个快速的视觉算法 python 包。它作为一种计算机视觉方向的 python 库,不仅包含了上百种视觉方向的机器学习算法。同时还可以操作 python 的 numpy 数组,使得数据处理变得很方便。
项目主页:https://github.com/luispedro/mahotas
[h1]scikit-image[/h1]Scikit-image 是一个图像处理和计算机视觉的算法集合。它是一款基于 scipy 的图像处理包,将图片作为 Numpy 数组进行处理,与 matlab 类似,几乎集合了 Matlab 的所有图像处理功能。更为重要的是,作为 python 的一个图像处理包,这个包是完全开源免费的,而且可以依托于 python强大的功能,与 tensorflow 等软件配合使用于主流的深度学习等领域。
项目主页:https://scikit-image.org/
[h1]Requests[/h1]提到 Python 爬虫,就不得不提 requests 库。requests 库是一个基于 urllib 的用于 http 请求的模块,使用 python 语言编写,采 Apache2 Licensed 开源协议。相比 urllib 库,requests 库更加的方便,是一个简单又强大的爬虫包。
项目主页:http://docs.python-requests.org/en/latest/
[h1]Requests-HTML[/h1]requests-html 和 requests 一脉相承。requests-html 爬虫包基于现有的框架 PyQuery、Requests、lxml、beautifulsoup4 等库进行了二次封装,作者将 requests 的简单,便捷,强大又做了一次升级。
项目地址:https://html.python-requests.org/
[h1]Scrapy[/h1]Scrapy 是一个使用 Python 编写的,轻量级的,并可扩展的爬虫框架。和爬虫库不同的是,它是一个框架,任何人都可以根据需求方便的修改。Scrapy 使用 Twisted 异步网络库来处理网络通讯,可以很方便的完成网上数据的采集工作,它为我们完成了大量工作,而不需要自己费大力气去开发。
项目主页:https://scrapy.org/
[h1]Cola[/h1]Cola 是一个分布式的爬虫框架,用户只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。
项目主页:https://github.com/chineking/cola
[h1]Pyspider
[/h1]pyspider 是一个用 Python 实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。
项目主页:https://github.com/binux/pyspider
[h1]Crawley[/h1]Crawley 是 Python 开发出的爬虫框架,该框架致力于改变人们从互联网中提取数据的方式。是基于Eventlet的高速爬虫框架。支持关系型和非关系型数据库如 mongodb、Postgre, Mysql, Oracle, Sqlite等,支持输出 Json, XML 和 CSV 等各种格式。
项目主页:http://project.crawley-cloud.com/
[h1]Portia[/h1]Portia 是一个开源可视化爬虫工具,它允许任何没有编程基础的人可视化的爬取网页数据。简单地注释你感兴趣的页面,Portia 将创建一个蜘蛛来从类似的页面提取数据。
项目主页:https://github.com/scrapinghub/portia
[h1]Newspaper[/h1]Newspaper 可以用来提取新闻、文章和内容分析。使用多线程,支持10多种语言等。作者从requests 库的简洁与强大得到灵感,使用 Python 开发的可用于提取文章内容的程序。支持10多种语言并且所有的都是 unicode 编码。
项目主页:https://github.com/codelucas/newspaper
[h1]Grab
[/h1]Grab 是一个站点爬取框架。借助 Grab,你可以构建各种复杂的网页抓取工具,从简单的5行脚本到处理数百万个网页的复杂异步网站抓取工具。Grab 提供一个 API 用于执行网络请求和处理接收到的内容,例如与 HTML 文档的 DOM 树进行交互。
项目主页:http://docs.grablib.org/en/latest/#grab-spider-user-manual
[h1]RoboBrowser[/h1]一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。简单来说robobrowser是一个浏览器,没有界面的浏览器。它调用了 Python 的 requests 和 Beautifulsoup库,可以打开网页,点击链接和按钮并且提交表单。
项目主页:https://github.com/jmcarp/robobrowser
[h1]Arrow[/h1]Arrow 是一个好用的 Python 日期时间操作类库。Arrow 提供了一种易用的智能的方式来创建、操作、格式化和转换日期、时间和时间戳。简单地说,它可以使用更少的导入和更少的代码处理日期和时间。
项目主页:https://github.com/crsmithdev/arrow
[h1]Freezegun[/h1]Freezegun 是一个可以帮助你在 Python 代码中测试特定日期的库。使用装饰器,你可以为测试用例设置特定的日期和时间,并且所有对、- datetime.datetime.utcnow()
复制代码 等的调用都将返回你指定的日期和时间。
项目主页:https://github.com/spulec/freezegun
[h1]Dateutil[/h1]Dateutil 是一个对 datetime 提供了强大扩展的库。它主要包含两个函数,parser 和 rrule。Parser 是根据字符串解析成 datetime,而 rrule 则是根据定义的规则来生成 datetime。
项目主页:https://github.com/dateutil/dateutil/
[h1]Delorean[/h1]Delorean 是一个解决 Python 中有关日期处理的棘手问题的库。了解时间是一个足够微妙的问题,DeLorean 希望为移动、操作和生成日期时间提供一个更干净、不那么麻烦的解决方案。
项目主页:https://github.com/myusuf3/delorean/
[h1]Maya[/h1]Maya 是一个人性化的时间处理库。它包含了 Python 中其他流行的处理日期时间的库,包括 Humanize、 pytz 和 pendulum 等等。这个项目旨在让人们更容易处理日期。
项目主页:https://github.com/kennethreitz/maya
[h1]DateParser[/h1]DateParser 是一个可以解析 Web 页面上常见的几乎所有字符串格式的本地化日期模块。在超过200种语言环境中对日期进行通用解析,并以一种与语言无关的方式使用多种格式。同时支持非公历系统。
项目主页:https://github.com/scrapinghub/dateparser
[h1]Pendulum[/h1]Pendulum 是一个比 arrow 更具有明确的,可预测行为的时间操作库。Pendulum 在标准库的基础之上,提供了一个更简洁,更易于使用的 API ,旨在让 datetime 模块更好用。
项目主页:https://pendulum.eustace.io/
[h1]PyTime[/h1]Pytime 是一个简单易用的通过字符串来操作日期时间的模块。PyTime 允许你在大多数情况下使用非常规日期时间字符串来生成和计算日期时间。它还为获取所需的日期时间提供了一些简单有用的方法。
项目主页:https://github.com/shinux/PyTime
[h1]Pytz[/h1]Pytz 是一个专门用来处理时区的库。将时区数据库引入 Python。这个库允许使用 Python 2.4或更高版本进行准确的跨平台时区计算。它还解决了夏令时结束时时间不明确的问题。
项目主页:https://launchpad.net/pytz
[h1]When.py[/h1]When.py 是一个非常人性化的 Python 日期库。它提供了对用户非常友好的函数来帮助执行常见的日期和时间操作。
项目主页:https://github.com/dirn/When.py
[h1]AudioLazy[/h1]audiolazy 是一个用于实时声音数据流处理的库,支持实时数据应用处理、无限的数据序列表示、数据流表示和反向任务完成时的自动消除。
项目主页:https://github.com/danilobellini/audiolazy
[h1]beets[/h1]Beets 是强迫症音乐爱好者的媒体图书馆管理系统。它的目的是让你的音乐收藏一劳永逸。它会对你的收藏进行编目,并自动改进其元数据。然后提供了一系列用于操作和访问个人音乐的工具。
项目主页:https://github.com/beetbox/beets
[h1]Dejavu[/h1]Dejavu 是用 Python 实现的音频指纹识别算法。它可以通过聆听音频并对其进行指纹识别来记忆音频,然后通过播放歌曲并录制麦克风输入,尝试将音频与数据库中保存的指纹进行匹配,并返回正在播放的歌曲。对于语音识别,Dejavu 不是正确的工具,Dejavu 擅长识别具有合理噪音量的精确信号。
项目主页:https://github.com/worldveil/dejavu
[h1]eyeD3[/h1]eyeD3 是一个用于处理音频文件的 Python工具,特别是包含 ID3 元数据(即歌曲信息)的 MP3文件。它提供了一个命令行工具(eyeD3)和一个 Python 库(import eyed3),可用于编写自己的应用程序或可从命令行工具调用的插件。
项目主页:https://github.com/nicfit/eyeD3
[h1]Mutagen[/h1]Mutagen 是一个处理音频元数据的 Python 模块。它支持 ASF,FLAC,MP4,Monkey's Audio,MP3,Musepack,Ogg Opus,Ogg FLAC,Ogg Speex,Ogg Theora,Ogg Vorbis,True Audio,WavPack,OptimFROG 和 AIFF 音频文件。支持所有版本的 ID3v2,并解析所有标准ID3v2.4帧。它可以读取 Xing 头并准确计算MP3的比特率和长度。无论音频格式如何,都可以编辑 ID3 和 APEv2 标签。它还可以在单个数据包/页面级别上操作 Ogg 流。
项目主页:https://mutagen.readthedocs.io/en/latest/
[h1]Pydub[/h1]Pydub 使用简单易用的高度抽象接口处理音频数据。支持多种格式声音文件,可进行多种信号处理(例如压缩、均衡、归一化)、信号生成(例如正弦、方波、锯齿等)、音效注册、静音处理等。
项目主页:https://github.com/jiaaro/pydub
[h1]TimeSide[/h1]TimeSide 是一个 Python 框架,支持低级和高级音频分析、成像、转码、流媒体和标签处理。其高级API旨在通过插件架构,安全可扩展后端和可扩展动态 Web 前端,在任何音频或视频内容的超大型数据集上实现复杂处理。
项目地址:https://github.com/Parisson/TimeSide
[h1]tinytag[/h1]Tinytag 是一个用于读取 MP3,OGG,OPUS,MP4,M4A,FLAC,WMA 和 Wave 文件的音乐元数据的库。它可以确定曲目编号,曲目总数,标题,艺术家,专辑,年份,持续时间等。
项目主页:https://github.com/devsnd/tinytag
[h1]Aubio[/h1]Aubio 是一个算法和工具的集合,用于标记和转换音乐和声音。它扫描或收听音频信号,并试图检测音乐事件。例如,当一个鼓被敲击时,在什么频率是一个音符,或者在什么节奏是一个有节奏的旋律。Aubio 的功能包括对声音文件进行分段、执行音高检测、敲打节拍以及从实时音频中生成 midi 流。
项目主页:https://github.com/aubio/aubio
[h1]SoundFile[/h1]SoundFile 是一个基于 libsndfile,CFFI 和 NumPy 的音频库。SoundFile 可以读写声音文件,通过libsndfile 支持文件读/写,libsndfile 是一个免费的跨平台开源(LGPL)库,用于读写不同的采样声音文件格式并可跨平台使用,它通过 CFFI(Python调用C代码的外部函数接口)访问声音文件。SoundFile 最终将音频数据表示为 NumPy 数组。
项目主页:https://github.com/bastibe/SoundFile
[h1]authomatic[/h1]Authomatic 是一个为 Python web 应用设计的框架无关的身份验证库。它拥有简单却强大的接口,这些接口通过 OAuth 和 OpenID 等标准简化了诸如 Facebook 和 Twitter 等第三方服务提供商对用户身份的验证。
项目主页:http://authomatic.github.io/authomatic/
[h1]oauthlib[/h1]OAuthLib 是一个通用、符合规范的完整的 OAuth 请求-签名的逻辑实现。它实现了 OAuth1 和OAuth2 的逻辑,且不需要假设特定的 HTTP 请求对象或 web 框架。
项目主页:https://github.com/oauthlib/oauthlib
[h1]django-oauth-toolkit[/h1]Diango OAuth Toolkit 是为 Django 用户提供的 OAuth2 库。它可以帮助你提供为 Django 项目添加 OAuth2 功能所需的所有端点、数据和逻辑。由于广泛使用了优秀的 OAuthLib,因此所有内容都符合 rfc 标准。
项目主页:https://github.com/jazzband/django-oauth-toolkit
[h1]django-allauth[/h1]django-allauth 是集成的可重用的 Django 应用程序集,用于验证,注册,帐户管理以及第三方(社交)帐户身份验证。它同时支持本地和社交身份验证并且流程可以正常工作。
项目主页:https://github.com/pennersr/django-allauth
[h1]Flask-OAuthlib[/h1]Flask-OAuthlib 是 Flask 的扩展,允许与启用 OAuth 的远程应用程序进行交互。在客户端站点上,它是 Flask-OAuth 的替代品。不仅仅如此,它还可以创建 OAuth 提供程序。
项目主页:https://github.com/lepture/flask-oauthlib
[h1]Authlib[/h1]Authlib 是构建 OAuth 和 OpenID Connect 服务器的终极 Python 库。同时包含JWS,JWE,JWK,JWT。Authlib 提供 RFC 的通用实现,针对客户端和服务器的各种内置高级框架集成,旨在创建无缝体验。同时支持各种社交网络服务连接。
项目主页:https://github.com/lepture/authlib
[h1]oauth2[/h1]python-oauth2 是一个用于创建 OAuth 客户端和服务端的 Python 接口程序。它完全兼容 python版本:2.6,2.7,3.3和3.4。该库依赖于许多其他下游软件库,如 Flask-Oauth。
项目主页:https://github.com/joestump/python-oauth2
[h1]pyjwt[/h1]PyJWT 是 Python 中 JSON WEB Token 的实现。它允许你编码和解码 JSON Web 令牌(JWT)。JWT是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准(RFC 7519)。
项目主页:https://github.com/jpadilla/pyjwt
[h1]jwcrypto[/h1]JWCrypto 是 Javascript IETF 工作组及相关技术开发的 Javascrip t对象签名和加密(JOSE)Web 标准的实现。JWCrypto 兼容 Python2 和 Python3,并使用 Cryptography 包来实现所有加密功能。
项目主页:https://github.com/latchset/jwcrypto
[h1]python_jwt[/h1]python-jwt 是一个用于生成和验证 JSON Web 令牌的模块。它使用 jwcrypto 完成繁重的工作,支持 RS256,RS384,RS512,PS256,PS384,PS512,HS256,HS384,HS512 和无签名算法。
项目主页:https://github.com/davedoesdev/python-jwt
[h1]bashplotlib[/h1]Bashplotlib 是一个 Python 包和命令行工具,用于在终端中生成基本的绘图。它是在没有 GUI 时可视化数据的一种快速方法。它是用 Python 编写的,可以使用 pip 在任何地方快速安装。
项目主页:https://github.com/glamp/bashplotlib
[h1]caniusepython3[/h1]Caniusepython3 用来判断哪个项目妨碍你移植到 Python 3。这个脚本接受一组依赖关系,然后确定哪些是阻止你移植到 Python 3 的依赖。脚本的输出将告诉你转换到 Python 3 需要多少(隐式)依赖项,以便进行转换,它还会列出那些没有依赖阻止的项目,因此可以要求它们启动Python 3 的端口。
项目主页:https://github.com/brettcannon/caniusepython3
[h1]doitlive[/h1]Doitlive 一个用来在终端中进行现场演示的工具。它会读取 shell 命令中的文件,并在你键入随机字符时重放伪终端会话中的命令。
项目主页:https://github.com/sloria/doitlive
[h1]pyftpdlib[/h1]Pyftpdlib 是一个速度极快和可扩展的 Python FTP 服务库。尽管使用的是一种内置语言,但pyftpdlib 的传输速率优于大多数常见的 UNIX FTP 服务器,同时它也可以更好的扩展。
项目主页:https://github.com/giampaolo/pyftpdlib
[h1]howdoi[/h1]Howdoi 通过命令行获取即时的编程问题解答。你可以不必打开浏览器阅读博客(冒着分心的危险)当你简单的停留在控制台并询问 howdoi 就可以获取问题的答案。
项目主页:https://github.com/gleitz/howdoi
[h1]httpie[/h1]HTTPie 是一个命令行 HTTP 客户端。其目标是使 CLI 与 Web 服务的交互尽可能人性化。它提供了一个简单的 http 命令,允许使用简单自然的语法发送任意 HTTP 请求,并显示彩色输出。HTTPie 可用于测试,调试以及与 HTTP 服务器交互。
项目主页:https://github.com/jakubroztocil/httpie
[h1]mycli[/h1]Mycli 是一个 MySQL,MariaDB 和 Percona 命令行客户端,具有自动补全、智能补全、别名支持、页面调整和语法高亮功能。
项目主页:https://github.com/dbcli/mycli
[h1]python-prompt-toolkit[/h1]Python-prompt-toolkit 是一个用于构建强大的交互式命令行程序的库。它可以是 GNU readline的非常高级的纯 Python 替代品,同时它也可以用于构建全屏应用程序。
项目主页:https://github.com/prompt-toolkit/python-prompt-toolkit
[h1]docopt[/h1]Docopt 是 Python 风格的命令行参数解析器。它可以定义命令行程序的界面以及为它生成解析器。docopt 基于几十年来在帮助消息和手册中用于描述程序界面的约定。其中的接口描述是一种形式化的帮助消息。
项目主页:http://docopt.org/
[h1]python-fire[/h1]Python-fire 是 Google 出品的一个基于 Python 类的构建命令行界面的库。它可以很方便的开发和调试 Python 代码,并能将其他人的代码转换成 CLI,它使得 Bash 和 Python 之间的转换更加容易,并且使使用 Python REPL 变得更加容易。
项目主页:https://github.com/google/python-fire
[h1]Beaker[/h1]Beaker是一个用于缓存和会话的库,用于Web应用程序和独立的Python脚本和应用程序。它附带了WSGI中间件可以轻松地与基于WSGI的Web应用程序一起使用,以及缓存装饰器,以便与任何基于Python的应用程序一起使用。
项目主页:https://github.com/bbangert/beaker
[h1]django-cache-machine[/h1]Cache Machine通过ORM实现Django模型的自动缓存和失效。它是为zamboni开发的,是addons.mozilla.org到Django的端口。使用模型mixin类和自定义缓存管理器启用缓存。失效通过维护每个对象的依赖缓存条目的“刷新列表”来工作。
项目主页:https://github.com/django-cache-machine/django-cache-machine
[h1]django-cacheops[/h1]Diango cacheops是一个具有自动颗粒化事件驱动失效功能的ORM。它支持自动或手动查询集缓存和颗粒化事件驱动的自动失效,适用redis作为ORM缓存的后端,redis或文件系统作为简单时间失效的后端。
项目主页:https://github.com/Suor/django-cacheops
[h1]dogpile.cache[/h1]Dogpile.cache是Beaker的下一代替代品,由同一作者开发。它为各种各样的高速缓存后端提供了一个通用接口,此外还提供了API钩子将这些高速缓存后端与dogpile的锁定机制集成在一起。
项目主页:https://dogpilecache.sqlalchemy.org/en/latest/
[h1]HermesCache[/h1]HermesCache是一个Python高速缓存库。它的设计目标包含基于标签的失效、dogpile effect保护功能、线程安全的、简单的设计、简单灵活的装饰器作为终端用户的API和实现多个后端的接口等。
项目主页:https://pypi.org/project/HermesCache/
[h1]diskcache[/h1]DiskCache是一个Apache2许可的磁盘和文件支持的缓存库,用纯Python编写并与Django兼容。它为缓存提供了千兆字节的存储空间,通过一些数据库库和内存映射文件,缓存性能可以匹配并超过行业标准解决方案,不需要C编译器或运行其他进程,测试可以100%覆盖单元测试和数小时的压力。
项目主页:http://www.grantjenks.com/docs/diskcache/
[h1]pylibmc[/h1]Pylibmc是一个来自TangentOrg的libmemcached接口的Python包装器。Pylibmc故意使接口尽可能接近python-memcached,以便应用程序可以直接替换它。并利用了其他可配置行为、数据压缩、经过实际检验的GIL保留、一致分发和二进制memcached协议等。
项目主页:https://github.com/lericson/pylibmc
[h1]cacheout[/h1]Cacheout是一个实现了多种缓存机制的Python库。包括FIFO,LIFO,LRU,MRU,LFU,RR等。使用缓存管理器方便的访问多个缓存对象,使用模块级缓存对象时,可为运行时设置重新配置缓存设置。
项目主页:https://github.com/dgilland/cacheout
[h1]wrapcache[/h1]Wrapcache是一个基于Python装饰器的方法缓存系统,用于缓存Python方法的输出值,可以支持复杂数据类型,可以缓存到Redis中、Python dict、LUR算法存储中。
项目主页:https://github.com/hustcc/wrapcache
[h1]pymemcache[/h1]Pymemcache是一个全面、快速、纯Python的缓存客户端。它完整实现了memcached文本协议,包含灵活、模块化和简单的序列化和反序列化方法。
项目主页:https://github.com/pinterest/pymemcache
|
|