让你相见恨晚的python库(四)

在GitHub搜Python库时发现了一个的宝藏仓库,收录了全网种类超全的Python库!

包括:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。

这个仓库有129000+stars。

原链接在这里:

GitHubMaximusarthur/awesome-python: A curated list of awesome Python frameworks, libraries, software and resources (github.com)


e-pyth点赞收藏,就不用担心下次找不到这份python库了~

76.Shell

  • xonsh:一种基于 python 的跨平台,面向 unix 的 shell 语言和命令提示符。

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

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

  • 通用
    • tablib:一个用来处理中表格数据的模块。
  • Office
    • Marmir:把输入的 Python 数据结构转换为电子表单。
    • openpyxl:一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。
    • pyexcel:一个提供统一 API,用来读写,操作 Excel 文件的库。
    • python-docx:读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。
    • python-pptx:可用于创建和修改 ppt 文件的 Python 库。
    • relatorio:模板化 OpenDocument 文件。
    • unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。
    • XlsxWriter:一个用于创建 Excel .xlsx 文件的 Python 模块。
    • xlwings:一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。
    • xlwt / xlrd:读写 Excel 文件的数据和格式信息。
    • docxtpl:通过 jinja2 模版编辑 docx 文档。
  • 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
    • csvkit:用于转换和操作 CSV 的工具。
  • Archive
    • unp:一个用来方便解包归档文件的命令行工具。

78.静态站点生成器(Static Site Generator)

静态站点生成器是一个软件,它把文本和模板作为输入,然后输出 HTML 文件。

  • Pelican:使用 Markdown 或 ReST 来处理内容, Jinja 2 来制作主题。支持 DVCS, Disqus.。AGPL 许可。
  • Cactus:为设计师设计的静态站点生成器。
  • Hyde:基于 Jinja2 的静态站点生成器。
  • Nikola:一个静态网站和博客生成器。
  • Tinkerer:Tinkerer 是一个博客引擎/静态站点生成器,由 Sphinx 驱动。
  • Lektor:一个简单易用的静态 CMS 和博客引擎。
  • makesite:简单轻量的站点/博客生成器(小于 130 行代码)。

79.标记(Tagging)

用来进行标记的库。

  • django-taggit:简单的 Django 标记工具。

80.队列(Task Queues)

处理事件以及任务队列的库。

  • celery:一个异步任务队列/作业队列,基于分布式消息传递
  • daramatiq:适用于Python 3的快速可靠的后台任务处理库。
  • huey:小型多线程任务队列。
  • mrq:一个 Python 的分布式 worker 任务队列, 使用 Redis 和 gevent。
  • rq:简单的 Python 作业队列。
  • simpleq:一个简单的,可无限扩张的,基于亚马逊 SQS 的队列。

81.模板引擎(Template Engine)

模板生成和词法解析的库和工具。

  • Jinja2:一个现代的,对设计师友好的模板引擎。
  • Chameleon:一个 HTML/XML 模板引擎。模仿了 ZPT(Zope Page Templates), 进行了速度上的优化。
  • Genshi:Python 模板工具,用以生成 web 感知的结果。
  • Mako:Python 平台的超高速轻量级模板。

82.测试(Testing)

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

  • 测试框架
    • unittest:(Python 标准库) 单元测试框架。
    • nose:nose 扩展了 unittest 的功能。
    • nose2 nose
      的继任者,基于 unittest2
    • contexts:一个 Python 3.3+ 的 BDD 框架。受到 C# Machine.Specifications 的启发。
    • hypothesis:Hypothesis 是一个基于先进的 Quickcheck 风格特性的测试库。
    • mamba:Python 的终极测试工具, 拥护 BDD。
    • pyshould:Should 风格的断言,基于 PyHamcrest。
    • pytest:一个成熟的全功能 Python 测试工具。
    • green:干净,多彩的测试工具。
    • pyvows:BDD 风格的测试工具,受 Vows.js 的启发。
    • Robot Framework:一个通用的自动化测试框架。
    • tox:自动化测试与发布的工具,支持多个 Python 版本。
  • GUI / Web 测试
    • Selenium:Selenium WebDriver 的 Python 绑定。
    • PyAutoGUI:PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块。
    • locust:使用 Python 编写的,可扩展的用户加载测试工具。
    • sixpack:一个和语言无关的 A/B 测试框架。
    • splinter:开源的 web 应用测试工具。
    • Schemathesis:基于属性的自动测试工具,用于测试使用 Open API / Swagger 规范构建的 Web 应用程序。
  • Mock 测试
    • mock:(Python 标准库) 一个用于伪造测试的库。
    • doublex:Python 的一个功能强大的 doubles 测试框架。
    • freezegun:通过伪造日期模块来生成不同的时间。
    • httmock:针对 Python 2.6+ 和 3.2+ 生成 伪造请求的库。
    • httpretty:Python 的 HTTP 请求 mock 工具。
    • responses:伪造 Python 中的 requests 库的一个通用库。
    • VCR.py:在你的测试中记录和重放 HTTP 交互。
    • mocket:gevent/asyncio/SSL 支持的 socket mock 框架。
  • 对象工厂
    • factoryboy:一个 Python 用的测试固件 (test fixtures) 替代库。
    • mixer:另外一个测试固件 (test fixtures) 替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。
    • modelmommy:为 Django 测试创建随机固件。
  • 代码覆盖率
    • coverage:代码覆盖率测量。
    • Codecov:一个代码覆盖率测试工具,为开源项目提供免费代码覆盖率测试服务。
  • 伪数据
    • faker:一个 Python 库,用来生成伪数据。
    • fake2db:伪数据库生成器。
    • mimesis:一个帮助你生成伪数据的 Python 库。
    • radar:生成随机的日期/时间。
  • 错误处理
    • FuckIt.py:使用最先进的技术来保证你的 Python 代码无论对错都能继续运行。

83.文本处理(Text Processing)

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

  • 通用
    • chardet:字符编码检测器,兼容 Python 2 和 Python 3。
    • difflib:(Python 标准库)帮助我们进行差异化比较。
    • ftfy:让 Unicode 文本更完整更连贯。
    • thefuzz:模糊字符串匹配。
    • Levenshtein:快速计算编辑距离以及字符串的相似度。
    • pangu.py:在中日韩语字符和数字字母之间添加空格。
    • pypinyin:汉字拼音转换工具 Python 版。
    • unidecode:Unicode 文本的 ASCII 转换形式 。
    • pyfiglet:figlet 的 Python 实现。
    • textdistance:支持 30 多种算法来计算序列之间的距离。
  • Slug 化
    • awesome-slugify:一个 Python slug 化库,可以保持 Unicode。
    • python-slugify:Python slug 化库,可以把 unicode 转化为 ASCII。
    • unicode-slugify:一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。
  • 解析器
    • phonenumbers:解析,格式化,储存,验证电话号码。
    • python-phonenumbers:解析,格式化,存储,校验国际电话号码。
    • PLY:lex 和 yacc 解析工具的 Python 实现。
    • Pygments:通用语法高亮工具。
    • pyparsing:生成通用解析器的框架。
    • python-nameparser:把一个人名分解为几个独立的部分。
    • python-user-agents:浏览器 user agent 解析器。
    • sqlparse:一个无验证的 SQL 解析器。

84.第三方 API(Third-party APIs)

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

  • apache-libcloud:一个为各种云设计的 Python 库。
  • boto3:Amazon Web Services 的 Python 接口。
  • django-wordpress:Django 的 WordPress 模型与视图。
  • 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 的封装。

85.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。

86.视频(Video)

用来操作视频和 GIF 的库。

  • moviepy:一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。
  • scikit-video:SciPy 视频处理常用程序。
  • vidgear:强大的多线程视频处理框架。

87.Web 资源管理(Web Asset Management)

管理、压缩、缩小网站资源的工具。

  • django-compressor:将链接和内联的 JavaScript 或 CSS 压缩到一个单独的缓存文件中。
  • django-pipeline:Django 的资源包装库。
  • django-storages:一个针对 Django 的自定义存储后端的工具集合。
  • fanstatic:打包、优化,并且把静态文件依赖作为 Python 的包来提供。
  • File Conveyor:一个后台驻留的程序,用来发现和同步文件到 CDNs, S3 和 FTP。
  • Flask-Assets:帮你将 web 资源整合到你的 Flask app 中。
  • jinja-assets-compressor:一个 Jinja 扩展,用来编译和压缩你的资源。
  • webassets:为你的静态资源打包、优化和管理生成独一无二的缓存 URL。

88.网页内容提取(Web Content Extracting)

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

  • Haul:一个可以扩展的图像爬取工具。
  • html2text:将 HTML 转换为 Markdown 格式文本。
  • lassie:人性化的网页内容检索库。
  • micawber:一个小型网页内容提取库,用来从 URLs 提取富内容。
  • newspaper:使用 Python 进行新闻提取,文章提取以及内容策展。
  • opengraph:一个用来解析开放内容协议(Open Graph Protocol)的 Python 模块。
  • python-goose:HTML 内容/文章提取器(python2)。
  • goose3:HTML 内容/文章提取器(python3)。
  • python-readability:arc90 公司 readability 工具的 Python 高速端口。
  • sanitize:为杂乱的数据世界带来调理性。
  • sumy:一个为文本文件和 HTML 页面进行自动摘要的模块。
  • textract:从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。

89.网络爬取(Web Crawling)

自动化web抓取的库。

  • Scrapy:一个快速高级的屏幕爬取及网页采集框架。
  • ScrapydWeb:一个用于 Scrapyd 集群管理的全功能 web UI,支持 Scrapy 日志分析和可视化,自动打包,定时器任务和邮件通知等特色功能。
  • cola:一个分布式爬虫框架。
  • Demiurge:基于 PyQuery 的爬虫微型框架。
  • feedparser:通用 feed 解析器。
  • Grab:站点爬取框架。
  • MechanicalSoup:用于自动和网络站点交互的 Python 库。
  • portia:Scrapy 可视化爬取。
  • pyspider:一个强大的爬虫系统。
  • RoboBrowser:一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。

90.Web 框架(Web Frameworks)

全栈 Web 框架。

  • Django:Python 界最流行的 web 框架。
    • awesome-django(by shahraizali) 系列
    • awesome-django(by wsvincent) 系列
  • Flask:一个 Python 微型框架。
    • awesome-flask 系列
  • Pyramid:一个小巧,快速,接地气的开源 Python web 框架。
    • awesome-pyramid 系列
  • Bottle:一个快速小巧,轻量级的 WSGI 微型 web 框架。
  • CherryPy:一个极简的 Python web 框架,服从 HTTP/1.1 协议且具有 WSGI 线程池。
  • TurboGears:一个可以扩展为全栈解决方案的微型框架。
  • web.py:一个 Python 的 web 框架,既简单,又强大。
  • web2py:一个全栈 web 框架和平台,专注于简单易用。
  • Tornado:一个 web 框架和异步网络库。
  • sanic:基于 Python3.5+ 的异步网络框架。
  • starlette:一款轻量级,高性能的 ASGI 框架。
  • Masonite:以开发者为中心的现代 Python Web 框架。

91.WebSocket

Web socket 相关库。

  • autobahn-python:适用于 Twisted 和 asyncio 的 Python WebSocket 和 WAMP。
  • channels:开发者友好的 Django 异步工具。
  • websockets:一个用于构建 WebSocket 服务器和客户端的库,着重于正确性和简单性。

92.WSGI 服务器(WSGI Servers)

兼容 WSGI 的 web 服务器

  • bjoern:异步,非常快速,由 C 语言编写。
  • gunicorn:Pre-forked, 部分是由 C 语言编写的。
  • uwsgi:uwsgi 项目的目的是开发一组全栈工具,用来建立托管服务,由 C 语言编写。
  • waitress:多线程,是它驱动着 Pyramid 框架。
  • Werkzeug:一个 WSGI 工具库,驱动着 Flask,而且可以很方便大嵌入到你的项目中去。
  • fapws3:异步 (仅对于网络端),由 C 语言编写。
  • meinheld:异步,部分是由 C 语言编写的。
  • netius:异步,非常快速。
  • paste:多线程,稳定,久经考验。
  • rocket:多线程。

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/206909.html

联系我们
联系我们
分享本页
返回顶部