380个python常用库(爬虫、图文、音视频、机器学习、PDF、Office等等)

目录

一、算法设计

    Python 的数据结构,算法和设计模式的实现。另请参阅真棒算法

  • 演算法

  • 设计模式

    • PyPattyrn- 一个简单但有效的库,用于实现常见的设计模式。
    • python-patterns -Python 中设计模式的集合。
    • transitions – 一种轻量级的,面向对象的有限状态机实现。

二、声音、视频、图像、文字处理

    用于处理音频及其元数据的库。

  • 声音的库

    • audioread- 跨库(GStreamer + 核心音频 + MAD + FFmpeg)音频解码。
    • dejavu- 音频指纹识别。
    • kapre – Keras 音频预处理器
    • librosa- 用于音频和音乐分析的 Python 库
    • matchering – 一个用于自动参考音频制作的库。
    • mingus- 带有 MIDI 文件和播放支持的高级音乐理论和乐谱包。
    • pyAudioAnalysis- 音频特征提取,分类,分段和应用。
    • pydub- 使用简单易用的高级界面处理音频。
    • TimeSide- 开放的 Web 音频处理框架。
  • Metadata

    • beets– 音乐库管理器和 MusicBrainz 标记器。
    • eyeD3- 一种用于处理音频文件的工具,特别是包含 ID3 元数据的 MP3 文件。
    • mutagen- 处理音频元数据的 Python 模块。
    • tinytag- 用于读取 MP3,OGG,FLAC 和 Wave 文件的音乐元数据的库。
  • 视频和 GIF 的库。

    • moviepy- 用于基于脚本的电影编辑的模块,具有多种格式,包括动画 GIF。
    • scikit-video -SciPy 的视频处理例程。
    • vidgear- 最强大的多线程视频处理框架。
  • 用于处理图像的库

    • hmap- 图像直方图重新映射。
    • imgSeek- 使用视觉相似性搜索图像集合的项目。
    • nude.py- 裸露检测。
    • pagan – 复古 identicon(阿凡达)根据输入的字符串和哈希生成。
    • pillow– 枕头是友好的 PIL 叉。
    • python- barcode – 在 Python 中创建条形码,没有任何额外的依赖关系。
    • pygram- 类似 Instagram 的图像过滤器。
    • PyMatting -Alpha 遮罩的库。
    • python-qrcode- 一个纯 Python QR Code 生成器。
    • pywal- 一种从图像生成配色方案的工具。
    • pyvips- 具有低内存需求的快速图像处理库。
    • Quads – 基于四叉树的计算机艺术。
    • scikit-image- 用于(科学)图像处理的 Python 库。
    • thumbor- 智能影像服务。它可以按需裁剪,调整图像大小和翻转图像。
    • wand – MagickWand 的 Python 绑定,ImageMagick 的 C API。
  • 用于解析和处理纯文本的库

 三、日期和时间

    用于处理日期和时间的库。

  • Arrow- 一个 Python 库,提供了一种明智且人性化的方法来创建,操作,格式化和转换日期,时间和时间戳。
  • Chronyk- 一个 Python 3 库,用于解析人类编写的时间和日期。
  • dateutil- 标准 Python datetime 模块的扩展。
  • delorean- 一个库,用于清除与日期时间有关的不便的事实。
  • maya- 人类的日期时间。
  • moment – 一个 Python 库用于处理日期 / 时间。受到 Moment.js 的启发。
  • Pendulum-Python 日期时间变得容易。
  • PyTime- 一个易于使用的 Python 模块,旨在按字符串操作日期 / 时间 / 日期时间。
  • pytz- 世界时区定义,现代和历史。将 tz 数据库带入 Python。
  • when.py- 提供用户友好的功能来帮助执行常见的日期和时间操作。

四、爬虫

  • 自动执行 Web 抓取。

  • 用于提取 Web 内容的库。

    • html2text- 将 HTML 转换为 Markdown 格式的文本。
    • lassie- 人类的 Web 内容检索。
    • micawber- 一个小型库,用于从 URL 中提取丰富的内容。
    • newspaper -Python 中的新闻提取,文章提取和内容管理。
    • python- readability  arc90 的可读性工具的快速 Python 端口。
    • requests-html –适用于人类的 Pythonic HTML 解析。
    • sumy- 自动汇总文本文档和 HTML 页面的模块。
    • textract- 从任何文档,Word,PowerPoint,PDF 等中提取文本
    • toapi- 每个网站都提供 API。

五、HTML、XML

    用于处理 HTML 和 XML 的库。

  • BeautifulSoup- 提供 Pythonic 惯用法来迭代,搜索和修改 HTML 或 XML。
  • bleach –基于白名单 HTML 清理和文本 linkification 库中的。
  • cssutils- 一个 Python 的 CSS 库。
  • html5lib- 一个符合标准的库,用于解析和序列化 HTML 文档和片段。
  • lxml- 一个非常快速,易于使用的通用库,用于处理 HTML 和 XML。
  • MarkupSafe- 为 Python 实现 XML / HTML / XHTML 标记安全字符串。
  • pyquery- 用于解析 HTML 的类似 jQuery 的库。
  • untangle –将 XML 文档转换为 Python 对象,以方便访问。
  • WeasyPrint- 用于 HTML 和 CSS 的可视渲染引擎,可以导出为 PDF。
  • xmldataset- 简单的 XML 解析。
  • xmltodict- 使用 XML 就像使用 JSON。

六、HTTP 客户端

    使用 HTTP 的库。

  • grequests- 异步 HTTP 请求的 request + gevent。
  • httplib2- 全面的 HTTP 客户端库。
  • httpx- 用于 Python 的下一代 HTTP 客户端。
  • requests -HTTP 对人类的请求。
  • treq -Python 请求,例如在 Twisted 的 HTTP 客户端之上构建的 API。

七、office 模块

    用于解析和处理特定文本格式的库。

  • General

    • tablib -XLS,CSV,JSON,YAML 中的表格数据集的模块。
  • Office

    • docxtpl- 通过 jinja2 模板编辑 docx 文档
    • openpyxl- 用于读取和写入 Excel 2010 xlsx /xlsm/xltx /xltm 文件的库。
    • pyexcel- 提供一个用于读取,操作和写入 csv,ods,xls,xlsx 和 xlsm 文件的 API。
    • python-docx- 读取,查询和修改 Microsoft Word 2007/2008 docx 文件。
    • python-pptx- 用于创建和更新 PowerPoint(.pptx)文件的 Python 库。
    • unoconv- 在 LibreOffice / OpenOffice 支持的任何文档格式之间转换。
    • XlsxWriter- 一个用于创建 Excel .xlsx 文件的 Python 模块。
    • xlwings -BSD 许可的库,可以轻松地从 Excel 调用 Python,反之亦然。
    • xlwt / xlrd- 从 Excel 文件写入和读取数据以及格式化信息。
  • PDF 格式

    • PDFMiner- 一种从 PDF 文档提取信息的工具。
    • PyPDF2- 一个能够拆分,合并和转换 PDF 页面的库。
    • ReportLab- 允许快速创建丰富的 PDF 文档。
  • Markdown

  • YAML

    • PyYAML- 适用于 Python 的 YAML 实现。
  • CSV

    • csvkit- 转换为 CSV 并使用 CSV 的实用程序。
  • Archive

    • unp- 一个命令行工具,可以轻松地解压缩档案。

八、序列化

用于序列化复杂数据类型的库

九、代码分析、测试

码质量检查器的工具。另请参阅令人敬畏的静态分析

  • 代码分析

    • Coala- 语言独立且易于扩展的代码分析应用程序。
    • code2flow- 将您的 Python 和 JavaScript 代码转换为 DOT 流程图。
    • prospector– 分析 Python 代码的工具。
    • pycallgraph- 一个可视化 Python 应用程序流程(调用图)的库。
    • vulture- 查找和分析无效的 Python 代码的工具。
  • Code Linters

  • 代码格式化程序

    • black –毫不妥协的 Python 代码格式化程序。
    • isort- 用于对导入进行排序的 Python 实用程序 / 库。
    • yapf- 另一个来自 Google 的 Python 代码格式化程序。
  • 静态类型检查器,另请参见 awesome-python-typing

  • 静态类型注释生成器

    • MonkeyType- 一个用于 Python 的系统,通过收集运行时类型来生成静态类型注释。
    • pyannotate- 自动生成 PEP-484 注释。
    • pytype -pytype 检查并推断 Python 代码的类型 – 无需类型注释。
  • 渗透测试的框架和工具。

  • 用于测试代码库和生成测试数据的库。

    • 测试框架

      • hypothesis –假设是一个高级的 Quickcheck 样式基于属性的测试库。
      • nose2 nose 基于 `unittest2。的后继者。
      • pytest- 一个成熟的功能齐全的 Python 测试工具。
      • Robot Framework 通用的测试自动化框架。
      • unittest-(Python 标准库)单元测试框架。
    • 测试选手

      • green – 干净,多彩的测试运行器。
      • mamba -Python 的权威测试工具。生于 BDD 的旗帜下。
      • tox- 自动构建和测试多个 Python 版本的发行版
    • GUI / Web 测试

      • locust- 用 Python 编写的可扩展用户负载测试工具。
      • PyAutoGUI -PyAutoGUI 是适用于人类的跨平台 GUI 自动化 Python 模块。
      • Schemathesis- 用于对基于 Open API / Swagger 规范构建的 Web 应用程序进行基于属性的自动测试的工具。
      • Selenium – Selenium WebDriver 的 Python 绑定。
      • sixpack- 与语言无关的 A / B 测试框架。
      • splinter- 用于测试 Web 应用程序的开源工具。
    • Mock

      • doublex- 强大的 Python 测试框架加倍。
      • Frozengun- 通过模拟 datetime 模块来穿越时间。
      • httmock- 一个针对 Python 2.6 + 和 3.2 + 的请求的模拟库。
      • httpretty- 适用于 Python 的 HTTP 请求模拟工具。
      • mock-(Python 标准库)一个模拟和修补库。
      • mocket – 具有 gevent /asyncio/ SSL 支持的套接字模拟框架。
      • responses 一个实用程序库,用于模拟请求 Python 库。
      • VCR.py- 记录并重放测试中的 HTTP 交互。
    • 对象工厂

      • factory_boy -Python 的测试装置替代品。
      • mixer– 另一种灯具更换。支持 Django,Flask,SQLAlchemy,Peewee 等
      • model_mommy- 创建随机夹具以在 Django 中进行测试。
    • 代码覆盖率

    • 伪数据

      • fake2db- 伪数据库生成器。
      • faker- 一个生成伪造数据的 Python 包。
      • mimesis- 是一个 Python 库,可帮助您生成虚假数据。
      • radar – 生成随机的日期时间 / 时间。
  • 用于验证数据的库。

    • Cerberus- 一个轻量级和可扩展的数据验证库。
    • colander- 验证和反序列化通过 XML,JSON 和 HTML 表单发布获得的数据。
    • jsonschema – Python 的 JSON 模式的实现。
    • schema- 用于验证 Python 数据结构的库。
    • Schematics –数据结构验证。
    • valideer – 轻量级可扩展数据验证和适配库。
    • voluptuous – 的 – 一个 Python 数据验证库。

十、web 框架

传统的全栈 Web 框架。另请参阅 RESTful API

十一、搜索

用于对数据建立索引并执行搜索查询的库和软件。

十二、日志记录

用于生成和使用日志的库。

  • logbook – – 记录 Python 的替换记录。
  • logging-(Python 标准库)Python 的日志记录工具。
  • loguru- 旨在以 Python 带来令人愉悦的日志记录的库。
  • sentry- python – 适用于 Python 的 Sentry SDK。
  • structlog- 结构化日志变得容易。

十三、并发与并行

用于并发和并行执行的库。另请参阅 awesome-asyncio

十四、任务队列

用于处理任务队列的库。

  • celery- 基于分布式消息传递的异步任务队列 / 作业队列。
  • Dramatiq- 用于 Python 3 的快速可靠的后台任务处理库。
  • huey- 小多线程任务队列。
  • mrq- 使用 Redis 和 gevent 的 Python 中的分布式工作者任务队列。
  • rq -Python 的简单作业队列。

十五、自然语言处理

用于使用人类语言的图书馆。

  • 一般的

    • gensim- 人类主题建模。
    • langid.py- 独立的语言识别系统。
    • nltk- 用于构建 Python 程序以使用人类语言数据的领先平台。
    • pattern- 一个 Web 挖掘模块。
    • polyglot- 支持数百种语言的自然语言管道。
    • pytext 的 – 基于 PyTorch 自然语言建模框架。
    • PyTorch-NLP- 一种工具包,可用于研究的快速深度学习 NLP 原型。
    • spacy – 一种用于 Python 和用 Cython 工业强度的自然语言处理库。
    • Stanza -Stanford NLP Group 的官方 Python 库,支持 60 多种语言。
  • 中国人

    • funNLP- 中国 NLP 的工具和数据集的集合。
    • jieba- 最受欢迎的中文文本分割库。
    • pkuseg-python- 用于各种领域的中文分词的工具包。
    • snownlp- 用于处理中文文本的库。

十六、深度学习、机器学习、计算机视觉

十七、数据分析、可视化

十八、数据库驱动程序

用于连接和操作数据库的库。

  • MySQL- 很棒的 MySQL

  • PostgreSQL- 很棒的 Postgres

    • psycopg2- 最受欢迎的 Python PostgreSQL 适配器。
    • 查询 -psycopg2 库的包装,用于与 PostgreSQL 交互。
  • SQlite- 很棒的 SQLite

    • sqlite3-(Python 标准库)与 DB-API 2.0 兼容的 SQlite 接口
    • SuperSQLite- 建立在 apsw 之上的增压 SQLite 库。
  • 其他关系数据库

    • pymssql -Microsoft SQL Server 的简单数据库接口。
    • clickhouse-driver- 具有 ClickHouse 本地接口的 Python 驱动程序。
  • NoSQL 数据库

    • cassandra-driver -Apache Cassandra 的 Python 驱动程序。
    • happybase -Apache HBase 的开发人员友好型库。
    • kafka-python -Apache Kafka 的 Python 客户端。
    • py2neo- 用于 Neo4j 的客户端库和工具包。
    • pymongo -MongoDB 的官方 Python 客户端。
    • redis-py -Redis 的 Python 客户端。
  • 异步客户端

    • motor -MongoDB 的异步 Python 驱动程序。

十九、DevOps 工具

    DevOps 的软件和库。

  • 配置管理

    • ansible- 一个非常简单的 IT 自动化平台。
    • cloudinit- 一个多分发包,用于处理云实例的早期初始化。
    • OpenStack- 用于构建私有和公共云的开源软件。
    • pyinfra- 通用的 CLI 工具和 python 库,可自动执行基础架构。
    • saltstack- 基础结构自动化和管理系统。
  • SSH 样式的部署

    • cuisine – 类似于 Fabric 的厨师功能。
    • fabric – 一个简单的,Python 化工具,用于远程执行和部署。
    • fabtools- 编写很棒的 Fabric 文件的工具。
  • 流程管理

    • honcho – Foreman 的 Python 克隆,用于管理基于 Procfile 的应用程序。
    • supervisor – 用于 UNIX 监事过程控制系统。
  • 监控方式

    • psutil- 跨平台的流程和系统实用程序模块。
  • 后备

    • BorgBackup- 具有压缩和加密功能的重复数据删除存档器。
  • 其他

二十、分布式计算

分布式计算的框架和库。

  • 批量处理

    • dask- 用于分析计算的灵活并行计算库。
    • luigi- 一个模块,可帮助您构建批处理作业的复杂管道。
    • mrjob- 在 Hadoop 或 Amazon Web Services 上运行 MapReduce 作业。
    • PySpark – Apache Spark Python API。
    • Ray- 用于并行和分布式 Python 的系统,统一了机器学习生态系统。
  • 流处理

二十一、配置、打包构建

  • 用于存储和解析配置选项的库。

    • configobj- 带有验证的 INI 文件解析器。
    • configparser-(Python 标准库)INI 文件解析器。
    • hydra -Hydra 是用于优雅配置复杂应用程序的框架。
    • profig- 使用值转换从多种格式进行配置。
    • python-decouple- 严格将设置与代码分开。
  • 用于创建打包的可执行文件以进行发行的库。

    • dh-virtualenv- 以 Debian 软件包的形式构建和分发 virtualenv。
    • Nuitka – 将脚本,模块,程序包编译为可执行文件或扩展模块。
    • py2app- 冻结 Python 脚本(Mac OS X)。
    • py2exe- 冻结 Python 脚本(Windows)。
    • pyarmor- 一种用于混淆 python 脚本,将混淆后的脚本绑定到固定计算机或使混淆后的脚本失效的工具。
    • PyInstaller- 将 Python 程序转换为独立的可执行文件(跨平台)。
    • pynsist- 用于构建 Windows 安装程序的工具,安装程序将 Python 本身捆绑在一起。
    • shiv- 命令行实用程序,用于构建完全独立的 zipapp(PEP 441),但包括其所有依赖项。

二十二、虚拟环境

用于 Python 版本和虚拟环境管理的库。

  • pyenv- 简单的 Python 版本管理。
  • virtualenv- 创建隔离的 Python 环境的工具。

二十三、界面开发

用于处理图形用户界面应用程序的库。

  • curses – – 内置包装器 ncurses 的用于创建终端 GUI 的应用程序。
  • Eel- 一个用于制作简单的类似于电子的脱机 HTML / JS GUI 应用程序的库。
  • enaml- 使用声明性语法(如 QML)创建漂亮的用户界面。
  • Flexx -Flexx 是用于创建 GUI 的纯 Python 工具包,它使用 Web 技术进行呈现。
  • Gooey – 使用命令行将命令行程序转换为完整的 GUI 应用程序。
  • kivy- 用于创建 NUI 应用程序的库,可在 Windows,Linux,Mac OS X,Android 和 iOS 上运行。
  • pyglet -Python 的跨平台窗口和多媒体库。
  • PyGObject -GLib / GObject / GIO / GTK +(GTK + 3)的 Python 绑定。
  • PyQt – Qt 跨平台应用程序和 UI 框架的 Python 绑定。
  • PySimpleGUI – tkinter,Qt,WxPython 和 Remi 的包装。
  • pywebview- 围绕 webview 组件的轻量级跨平台本机包装器。
  • Tkinter -Tkinter 是 Python 的事实上的标准 GUI 软件包。
  • Toga -Python 本机,OS 本机 GUI 工具箱。
  • urwid- 一个用于创建终端 GUI 应用程序的库,该库对小部件,事件,丰富的颜色等具有强大的支持。
  • wxPython -wxWidgets C ++ 类库与 Python 的混合。
  • DearPyGui- 一个简单的 GPU 加速的 Python GUI 框架

二十四、游戏开发

很棒的游戏开发库。

  • Arcade -Arcade 是一个现代 Python 框架,用于制作具有引人注目的图形和声音的游戏。
  • Cocos2d -cocos2d 是用于构建 2D 游戏,演示和其他图形 / 交互应用程序的框架。
  • Harfang3D- 用于 3D,VR 和游戏开发的 Python 框架。
  • Panda3D- 迪士尼开发的 3D 游戏引擎。
  • Pygame -Pygame 是一组旨在编写游戏的 Python 模块。
  • PyOgre -Ogre 3D 渲染引擎的 Python 绑定,可用于游戏,模拟或任何 3D。
  • PyOpenGL -OpenGL 及其相关 API 的 Python ctypes 绑定。
  • PySDL2 -SDL2 库的基于 ctypes 的包装器。
  • RenPy- 一个视觉小说引擎

二十五、任务调度器

用于计划作业的库。

  • Airflow 气流是一个以编程方式编写,安排和监视工作流的平台。
  • APScheduler- 轻巧但功能强大的进程内任务计划程序,可让您计划功能。
  • django-schedule -Django 的日历应用程序。
  • doit- 一个任务运行器和构建工具。
  • gunnery – 具有基于 Web 界面的分布式系统的多用途任务执行工具。
  • Joblib- 一套在 Python 中提供轻量级流水线的工具。
  • Plan – 像用吊饰一样用 Python 编写 crontab 文件。
  • Prefect- 一个现代的工作流程编排框架,可轻松构建,调度和监视强大的数据管道。
  • schedule- 针对人类的 Python 作业调度。
  • Spiff- 用纯 Python 实现的功能强大的工作流引擎。
  • TaskFlow- 一个 Python 库,可帮助简化,一致且可靠的任务执行

二十六、科学计算

用于科学计算的图书馆。另请参见 Python for-Scientists

  • astropy- 天文学的社区 Python 库。
  • bcbio-nextgen- 提供最佳实践流水线,用于全自动高通量测序分析。
  • bccb- 收集与生物学分析有关的有用代码。
  • Biopython -Biopython 是一套免费的生物计算工具。
  • cclib- 一个用于解析和解释计算化学程序包结果的库。
  • Colour – 实施大量的颜色理论转换和算法。
  • Karate Club – 用于图形结构化数据的无监督机器学习工具箱。
  • NetworkX- 用于复杂网络的高生产率软件。
  • NIPY- 神经影像工具箱的集合。
  • NumPy- 使用 Python 进行科学计算的基本软件包。
  • ObsPy- 地震学的 Python 工具箱。
  • Open Babel- 一种化学工具箱,旨在讲多种化学数据语言。
  • PyDy -Python Dynamics 的缩写,用于协助工作流进行动态运动建模。
  • PyMC- 马尔可夫链蒙特卡洛采样工具包。
  • QuTiP -Python 中的 Quantum Toolbox。
  • RDKit- 化学信息学和机器学习软件。
  • SciPy- 用于数学,科学和工程的基于 Python 的开源软件生态系统。
  • SimPy- 一个基于过程的离散事件模拟框架。
  • statsmodels -Python 中的统计建模和计量经济学。
  • SymPy- 一个用于符号数学的 Python 库。
  • Zipline- 一个 Pythonic 算法交易库。

二十七、RPC

RPC 兼容服务器。

  • RPyC(远程 Python 调用)- 用于 Python 的透明且对称的 RPC 库
  • zeroRPC -zerorpc 是基于 ZeroMQ 和 MessagePack 的灵活 RPC 实现。

原文作者:ztloo

转自链接:https://learnku.com/articles/55696

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年5月30日
下一篇 2022年5月30日

相关推荐