在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