测试开发
来源:https://www.jianshu.com/p/ea6f7fb69501
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)的性能测试工具。 链接
测试框架
-
pyresttest 接口测试框架 -- 推荐
- HttpRunner HTTP接口测试框架 -- 推荐
- augmented-traffic-control facebook开发的最强悍弱网网络模拟工具 --强烈推荐
- Hypothesis - 高级单元测试测试框架,支持行为驱动,基于property 。 链接 -- 推荐
- unittest - (Python 标准库) 单元测试框架 链接 -- 推荐
- mamba - 行为驱动测试框架。 链接
- nose- 更好的单元测试框架。 链接 -- 推荐
- nose2- nose基于unittest2的版本。 链接
- pytest- 很好的强大的单元测试框架,实际上广泛使用在自动化单元、接口、功能等测试。 链接 -- 强烈推荐
- testify - 单元测试框架,提供增强的测试fixture设置,将测试套件拆分成易于并行化的存储bucket,PEP8命名约定,带有大量日志/报告选项及颜色测试运行器。链接
- trial - Twisted的单元测试框架,基于unittest。链接
- Robot Framework- 通用的python测试框架,易于上手,生成的报告比较好看,适合小型公司使用,支持关键字和数据等驱动,系业界内很出名的框架。不过因为写用例不能很灵活的应用python,需要大量的python封装,大公司通常使用pytest,django,flask之类的库自行开发。 链接
- pytest- 很好的强大的单元测试框架,实际上广泛使用在自动化单元、接口、功能等测试。 链接 -- 强烈推荐
- green- 彩色(命令行能显示多种颜色)的单元测试框架。 链接
- tox- 基于virtualenv的测试框架,主要用于解决多版本python问题。 链接
- sixpack- A/B 测试框架。 链接
- lettuce- 行为驱动 测试框架。 链接
- pyccuracy- 行为驱动 web验收测试框架。 链接
- pytest-bdd- 基于pytest的行为驱动 测试框架。 链接
- ddt- 数据驱动测试。 链接
- behave- 行为驱动测试。 链接
- lettuce- 行为驱动测试。 链接
- mamba - Python的测试定义工具,基于行为驱动。链接
- pyvows - Python的异步行为驱动开发,Vows.js的python移植。链接
- pyhamcrest - Python的Hamcrest匹配器。 链接
- sure - 强大而灵活的断言python测试库。链接
- factory_boy - 基于thinkbot的factory_girl的fixture替代。链接
Mock
- doublex:强大的测试桩框架。链接
- mock:(Python3 标准库) mock和patch。链接
- freezegun:伪造时间。[链接]https://github.com/spulec/freezegun)
- httmock:Python 2.7+ 和 3.4+ mock requests库。链接
- httpretty:Python 的 HTTP 请求 客户端mock 工具,暂时不支持python3。链接
- responses:针对requests 库的mock库。链接
- VCR.py:录制HTTP请求加快测试执行速度并可进行mock。链接 -- 推荐
- factoryboy:Python测试fixtures(setup和teardown)替代库。链接
- mixer:另外一个测试fixtures(setup和teardown)替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。链接
- modelmommy:为 Django测试创建随机fixtures 链接
- faker:生成多种伪数据。链接
- fake2db:伪造数据库生成器。链接
- mimesis:生成mock数据。[链接]https://github.com/lk-geimfari/mimesis)
- 雪峰磁针石说明:
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迁移的库。
- Python-Future:这就是 Python 2 和 Python 3 之间丢失的那个兼容性层。链接
- Python-Modernize:使 Python 代码更加现代化以便最终迁移到 Python 3。[链接]https://github.com/mitsuhiko/python-modernize)
- Six:Python 2 和 3 的兼容性工具。链接
计算机视觉(Computer Vision)
计算机视觉库。
- OpenCV:开源计算机视觉库。链接
- pyocr:Tesseract 和 Cuneiform 的包装库。链接
- pytesseract:Google Tesseract OCR 的另一包装库。链接 文档
- SimpleCV:一个用来创建计算机视觉应用的开源框架。链接
并发和并行及异步与网络(Concurrency and Parallelism)
用以进行并发和并行操作的库。
- multiprocessing:(Python 标准库) 基于进程的“线程”接口。链接 --推荐
- threading:(Python 标准库)更高层的线程接口。 链接 --推荐
- eventlet:支持 WSGI 的异步框架。链接
- gevent:一个基于协程的 Python 网络库,使用greenlet。链接 --推荐
- Tomorrow:用于产生异步代码的神奇的装饰器语法实现。 链接
- uvloop:在libuv之上超快速实现asyncio事件循环。链接 --推荐
- asyncio - (Python 标准库) 异步 I/O, 事件循环, 协程以及任务 链接 --推荐
- aiohttp 异步http client/server框架(asyncio) 链接 --推荐
- curio 协程并发库. 链接
- pulsar - 事件驱动的并发框架. 链接
- pyzmq - ZeroMQ 消息库的 Python 封装. 链接
- Twisted - 事件驱动的网络引擎. 和asyncio有很多类似的地方,逐渐被代替,需要数据库等相关生态圈的支持 链接
- diesel - 基于Greenlet 的事件 I/O 框架。. 链接
- Tornado - web 框架和异步网络库. 链接
- Trio – 异步I/O 链接 可能会飙升
- NAPALM - 处理网络设备的跨供应API. 链接
- txZMQ - 基于 Twisted 的 ZeroMQ 消息库的 Python 封装。链接
配置(Configuration)
用来保存和解析配置的库。
- config:logging 模块作者写的分级配置模块。链接 -- 较长时间未更新
- ConfigObj:INI 文件解析器,带验证功能。链接
- ConfigParser:(Python 标准库) INI 文件解析器。链接
- profig:通过值转换配置多种格式。链接
- python-decouple:将设置和代码完全隔离。链接
加密(Cryptography)
- cryptography:这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。链接
- hashids:在 Python 中实现 hashids 。链接
- Paramiko:SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。链接 -- 推荐
- Passlib:安全密码存储/哈希库,链接
- PyCrypto:Python 密码学工具箱。链接
- PyNacl:网络和密码学(NaCl) 库的 Python 绑定。链接
数据分析(Data Analysis)
- blaze:NumPy 和 Pandas 的大数据接口。链接
- Open Mining:使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。链接
- orange:通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和机器学习。链接
- Pandas:提供高性能,易用的数据结构和数据分析工具。链接 --强烈推荐
- 书籍:利用Python进行数据分析 2017 第二版 代码 链接 --推荐
- 利用Python进行数据分析·第2版 --推荐
数据验证(Data Validation)
数据验证库。多用于表单验证。
- Cerberus: 轻量级可扩展的数据验证库.链接
- colander:验证并反序列化XML、JSON、HTML表单获取的数据。链接
- colander:json模式的实现。链接
- kmatch:一种用于匹配/验证/筛选 Python 字典的语言。[链接]()
- schema:一个用于对 Python 数据结构进行验证的库。[链接]()
- Schematics:人性化的python数据结构。链接
- valideer:轻量级可扩展的数据验证和适配库。链接
- voluptuous:Python 数据验证库。主要是为了验证传入 Python的 JSON,YAML 等数据。链接
数据可视化(Data Visualization)
进行数据可视化的库。 参见: awesome-javascript。
- matplotlib:Python 2D 绘图库。链接 --推荐
- bokeh:用Python进行交互式web绘图。链接 --推荐 英文快速入门 中文快速入门
- ggplot:ggplot的 Python移植。链接 -荐
- plotly:交互式基于浏览器的绘图。链接
- pyecharts:基于百度 Echarts 的数据可视化库。链接 -荐
- pygal:Python SVG 图表创建工具。链接
- pygraphviz:Graphviz 的 Python 接口。链接
- PyQtGraph:交互式实时 2D/3D/ 图像绘制及科学/工程学组件。链接
- SnakeViz:基于浏览器的 Python cProfile 模块输出结果查看工具。链接
- vincent:把 Python 转换为 Vega 语法的转换工具。链接
- VisPy:基于 OpenGL 的高性能科学可视化工具。链接
- Altair - 用于Python的声明式统计可视化库。链接
- bqplot - Jupyter Notebook的互动绘图库。链接
- Seaborn - 使用Matplotlib进行统计数据可视化。链接 -荐
- plotly.py 交互式基于浏览器的绘图 -荐
A Dramatic Tour through Python’s Data Visualization Landscape (including ggplot and Altair)
Python data visualization: Comparing 7 tools
10 Useful Python Data Visualization Libraries for Any Discipline
Overview of Python Visualization Tools
Effectively Using Matplotlib
pyecharts + notebook
Bokeh vs Dash
01+ Resources to Learn Data Science chinese
数据库(Database)
Python实现的数据库。
- pickleDB:简单,轻量级键值储存数据库。链接
- PipelineDB:流式 SQL 数据库。链接
- TinyDB:轻型的,面向文档型数据库。链接
- ZODB: Python 原生对象数据库。键值和对象图数据库。链接
数据库驱动(Database Drivers)
连接和操作数据库的库。
- mysql-python:Python 的 MySQL 数据库连接器。链接 不支持python3,不推荐
- PyMySQL:纯 Python MySQL 驱动,兼容 mysql-python。链接 --推荐
- mysql-connector-python:mysql官方python API。链接 --推荐
- psycopg :Python 中最流行的 PostgreSQL 适配器。链接 --推荐
- queries:psycopg2 库的封装,用来和 PostgreSQL 进行交互。链接
- txpostgres:基于 Twisted 的异步 PostgreSQL 驱动。链接
- apsw:另一个 Python SQLite 封装。链接
-
dataset:在数据库中存储 Python 字典
pymssql:简单的 Microsoft SQL Server 数据库接口。[链接](https://github.com/pudo/dataset)
- 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 - 用于快速数值计算的库. --推荐
DevOps工具(DevOps Tools)
- DevOps的软件和库。*
- Ansible - 极其简单的IT自动化平台。 --推荐
- Cloud-Init - 处理云实例的早期初始化的多分发包。
- cuisine - 为 Fabric 提供一系列高级函数。
- Docker Compose - 使用Docker的快速隔离开发环境。 --推荐
- Fabric - 简单的Pythonic远程执行和部署工具。 --推荐
- Fabtools - 编写真棒Fabric文件的工具。
- honcho - 一个[Foreman]的Python克隆(https://github.com/ddollar/foreman),用于管理基于Procfile的应用程序。
- nova - OpenStack计算。 --推荐
- swift - OpenStack存储。 --推荐
- pexpect - 在像GNU expect这样的伪终端中控制交互式程序。 --强烈推荐
- psutil - 跨平台的进行和系统实用程序模块。 --推荐
- SaltStack - 基础设施自动化和管理系统。 --推荐
- supervisor - 用于UNIX的Supervisor进程控制系统。
- gitapi:Git 的纯 Python API。官网
- hgapi:Mercurial 的纯 Python API。官网
- honcho:Foreman 的 Python 克隆版,用来管理基于 Procfile 的应用。官网
分发(Distribution)
打包为可执行文件以便分发。
- 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 工具。链接 --推荐
外部函数接口(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:一组用于迭代器,函数和字典的函数式编程工具。链接
动态消息
用来创建用户活动的库。
- 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 技术进行界面的展示。链接
游戏开发(Game Development)
- 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引擎。
地理位置(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 - 出色的数据包操作库。
- wifi - 用于在Linux上使用WiFi的Python库和命令行工具。
- Pyro:Python 机器人编程库。官网
- PyUserInput:跨平台的,控制鼠标和键盘的模块。官网
图像处理(Image Processing)
用于处理图像的库。
- pillow:Pillow 是一个更加易用版的 PIL。官网 -推荐
- hmap:图像直方图映射。官网
- imgSeek:使用视觉相似性搜索一组图片集合的项目。官网 较长时间没有更新
- nude.py:裸体检测。官网
- pyBarcode:不借助 PIL 库在 Python 程序中生成条形码。官网
- pygram:类似 Instagram 的图像滤镜。官网
- python-qrcode:纯 Python 实现的二维码生成器。官网 --推荐
- Quads:基于四叉树的计算机艺术。官网
- scikit-image:一个用于(科学)图像处理的 Python 库。官网 --推荐
- thumbor:小型图像服务,具有剪裁,尺寸重设和翻转功能。官网 --推荐
- wand:MagickWand的 Python 绑定。MagickWand 是 ImageMagick 的 C API 。官网
- face_recognition:简单易用的 python 人脸识别库。官网
- pagan - 基于输入字符串和散列的复古identicon(阿凡达)生成。
实现(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)
- bpython - 界面丰富的 Python 解析器。
- IPython - 功能丰富的工具,非常有效的使用交互式Python。 --强烈推荐
- Jupyter Notebook - 功能丰富的工具,非常有效的使用交互式Python。 --推荐
- ptpython - 在[python-prompt-toolkit]之上构建的高级Python REPL(https://github.com/jonathanslenders/python-prompt-toolkit) 。 --推荐
国际化
与i18n合作的图书馆
- Babel - Python国际化库。
- PyICU - Unicode C ++库的国际组件封装(ICU)。
作业调度(Job Scheduler)
用于调度作业的库。
- APScheduler - 轻量但功能强大的进程内任务调度程序,可让您安排功能。
- django-schedule - Django的日历应用程序。
- doit - 任务运行者和构建工具。
- gunnery - 具有基于Web界面的分布式系统的多用途任务执行工具。
- Joblib - 一组用Python提供轻量级流水线的工具。
- plan - 用Python编写crontab文件就像一个魅力一样。
- schedule - 人性化的 Python 任务调度库。 --推荐
- Spiff - 以纯Python实现的强大的工作流引擎。
- TaskFlow - 可以让你方便执行任务的 Python 库,一致并且可靠。
- AirFlow:Airflow 是Airbnb公司开源的,是一个工作流分配管理系统,通过有向非循环图的方式管理任务流程,设置任务依赖关系和时间调度。官方
日志(Logging)
用于生成和处理日志的库。
- Eliot - 复杂和分布式系统日志。
- logbook - 记录Python的替代品。
- logging - (Python标准库)Python的日志工具。 --推荐
- raven - Sentry的Python客户端,用于Web应用程序的日志/错误跟踪,崩溃报告和聚合平台。
机器学习
机器学习库。请参阅:awesome-machine-learning。
- Metrics - 机器学习评估指标。
- NuPIC - 用于智能计算的Numenta平台。 --推荐
- scikit-learn - 流行的机器学习Python库。 --推荐
- Spark ML - Apache Spark的可扩展机器学习库。--推荐
- vowpal_porpoise - 用于[Vowpal Wabbit]的轻量级Python包装器(https://github.com/JohnLangford/vowpal_wabbit/)。
- xgboost - 可扩展,可移植且分布式的渐变增强库。 --推荐
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 - 灵活的分析计算并行计算库。
微软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)
- NLTK:构建Python程序以处理人类语言数据的领先平台。连接 - 推荐
- jieba:中文分词工具。官网 - 推荐
- langid.py:独立的语言识别系统。官网
- Pattern:Python 网络信息挖掘模块。官网 - 推荐
- SnowNLP:用来处理中文文本的库。官网 - 推荐
- TextBlob:为进行普通自然语言处理任务提供一致的 API。官网 - 推荐
- TextGrocery:一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。官网
- thulac:清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包官网
- gensim -人 性化的话题建模库。
- spaCy - 用于Python和Cython的工业强度自然语言处理的库。 -推荐
网络虚拟化(Network Virtualization)
用于虚拟网络和SDN(软件定义网络)的工具和库。
- Mininet:流行的网络模拟器以及用 Python 编写的 API。官网 -推荐
- POX:一个针对基于 Python 的软件定义网络应用(例如 OpenFlow SDN 控制器)的开源开发平台。官网
- Pyretic:火热的 SDN 编程语言中的一员,为网络交换机和模拟器提供强大的抽象能力。官网
- SDX Platform:基于 SDN 的 IXP 实现,影响了 Mininet, POX 和 Pyretic。官网
- NRU:一个基于组件的软件定义网络框架。官网
网络(Networking)
用于网络编程的库。
- 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 工具以及对象关系映射工具。链接
- 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的数据库。链接
包管理(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用于Humans2.0。 --推荐
- sarge - Subprocesses的另一个封装。
- sh - 一个全面的Python子程序替代品。 --推荐
队列(Queue)
用于处理事件和任务队列的库。
- celery - 基于分布式消息传递的异步任务队列/作业队列。 --推荐
- 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中的推荐引擎框架
RESTful API
用于开发RESTful API的库。
- Django
* django-rest-framework - 功能强大且灵活的工具包,用于构建Web API。 --强烈推荐
* django-tastypie - 为Django应用程序创建美味的API。 --推荐
- 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以及带有自动文档和验证的命令行。 --推荐
* restless - 基于从Tastypie学到的经验教训的框架不可知的REST框架。
* ripozo - 快速创建REST / HATEOAS / Hypermedia API。
* sandman - 现有数据库驱动系统的自动化REST API。
* apistar - 为Python 3设计的智能Web API框架。--推荐
RPC服务器(RPC Servers)
- RPC兼容服务器。*
- SimpleJSONRPCServer - 该库是JSON-RPC规范的实现。
- SimpleXMLRPCServer - (Python标准库)简单的XML-RPC服务器实现,单线程。
- zeroRPC - zerorpc是基于ZeroMQ和MessagePack。 --推荐
科学(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 - 基于流程的离散事件仿真框架。 --推荐
搜索
用于索引和执行数据搜索查询的库和软件。
- django-haystack - Django模块化搜索。
- elasticsearch-dsl-py - Elasticsearch的官方高级Python客户端。
- elasticsearch-py - [Elasticsearch]的官方低级Python客户端(https: //www.elastic.co/products/elasticsearch)。
- esengine - 用于Python的ElasticSearch ODM(对象文档映射器)。
- pysolr - Apache Solr的轻量级Python包装(包括SolrCloud认知)。
- solrpy - [solr]的一个Python客户端(http://lucene.apache.org/solr/)。
- Whoosh - 快速,纯粹的Python搜索引擎库。 --推荐
序列化(Serialization)
用于序列化复杂数据类型的库
- marshmallow - marshmallow是一个ORM / ODM /框架无关的库,用于将复杂数据类型(如对象)转换为本机Python数据类型和从本地Python数据类型转换。
无服务器框架(Serverless Frameworks
用于开发无服务器Python代码的框架。
- apex - 轻松构建,部署和管理AWS Lambda功能。 --推荐
- 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
-
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)
- [Cactus(https://github.com/eudicots/Cactus) - 为设计师设计的静态网站生成器。
- Hyde - 基于Jinja2的静态网站生成器。
- Lektor - 易于使用的静态CMS和博客引擎。
- Nikola - 静态网站和博客生成器。
- Pelican - 将Markdown或ReST用于内容,Jinja 2用于主题。 支持DVCS,Disqus。AGPL。 --强烈推荐
- Tinkerer - 博客引擎和静态网站生成器,由Sphinx提供支持。
标签(Tagging)
- django-taggit - 简单Django的标签。
模板引擎(Template Engine)
- Genshi - 用于生成网络感知输出的Python模板工具包。
- Jinja2 - 现代和设计友好的模板语言。 -- 推荐
- Mako - Python平台的超快速和轻量级模板。
文本处理(Text Processing)
用于解析和操作文本的库。
通用
- 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编码、解码器。链接
- 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的易读性工具的移植。链接
- sumy:一个为文本文件和 HTML 页面进行自动摘要的模块。链接
- textract:从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。链接
网络爬虫(Web Crawling)
- 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系列 链接 --强烈推荐
- Flask:Python 微型框架。链接 awesome-flask系列 链接 --强烈推荐 python web框架第一名
-
pyramid:一个小巧,快速,接地气的开源Python web 框架。链接
awesome-pyramid系列 [链接](https://github.com/uralbash/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 客户端和服务器库。链接
参考资料
https://github.com/vinta/awesome-python
https://github.com/atinfo/awesome-test-automation
https://westurner.github.io/wiki/awesome-python-testing