让你相见恨晚的Python 库(一)

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

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

截至这个回答之前,这个仓库有129000+stars。

原链接在这里:https://Maximusarthur/awesome-python: A curated list of awesome Python frameworks, libraries, software and resources (github.com)e-python

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

(顺序是按照英语字母A-Z排序)方便大家浏览查找到自己需要的库:

1.管理面板(Admin Panels )

管理界面库。

  • Ajenti:一个你的服务器值得拥有的管理面板。
  • django-grappelli:拥有绚丽外观的 Django Admin 界面。
  • django-jet:具有改进功能的现代响应式 Django 管理界面模板。
  • django-suit:Django 管理界面的一个替代品(仅对于非商业用途是免费的)。
  • django-xadmin:Django admin 的一个替代品,具有很多不错的功能。
  • flask-admin:一个用于 Flask 的简单可扩展的管理界面框架。
  • flower:一个对 Celery 集群进行实时监控和提供 web 管理界面的工具。
  • jet-bridge:管理面板框架,适用于任何具有良好 UI 的应用(例如 Django)。
  • Wooey:一个 Django 应用,可以为 Python 脚本创建 web 用户界面。

2.算法和设计模式(Algorithms and Design Patterns)

数据结构、算法和设计模式的 Python 实现。也可以参考 awesome-algorithms 。

  • 算法
    • algorithms:数据结构和算法的简单示例。
    • python-ds:用于面试的数据结构和算法的集合。
    • sortedcontainers:排序集合的快速的纯 Python 实现。
    • TheAlgorithms:所有算法的 Python 实现。
  • 设计模式
    • PyPattyrn:一个简单而有效的库,用于实现常见的设计模式。
    • python-patterns:一个 Python 设计模式集合。
    • transitions:轻量级的,面向对象的有限状态机实现。

3.ASGI 服务器(ASGI Servers)

兼容 ASGI 的 web 服务器。

  • daphne:用于 ASGI 和 ASGI-HTTP 的,支持 HTTP,HTTP2 和 WebSocket 协议的服务器。
  • uvicorn:使用 uvloop 和 httptools 实现的闪电般快速的 ASGI 服务器。

4.异步编程(Asynchronous Programming)

  • asyncio (Python标准库)异步I/O、事件循环、协程和任务。
    • awesome-asyncio
  • trio 异步并发和 I/O 友好的库。
  • Twisted 一个事件驱动的网络引擎。
  • uvloop 在 libuv 之上超快速实现 asyncio 事件循环。

5.音频(Audio)

用于操作音频及其元数据的库。

  • 音频:
    • audioread:交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。
    • dejavu:音频指纹提取和识别。
    • kapre:Keras 音频处理器。
    • librosa:音频音乐分析 Python 库。
    • matchering:用于音频母带制作的库。
    • mingus:一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。
    • pyAudioAnalysis:音频特征提取,分类,分段和应用。
    • pydub:通过简单、简洁的高层接口来操作音频文件。
    • TimeSide:开源 web 音频处理框架。
  • 元数据:
    • beets:一个音乐库管理工具及 MusicBrainz 标签添加工具。
    • eyeD3:一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。
    • mutagen:一个用来处理音频元数据的 Python 模块。
    • tinytag:一个用来读取 MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。

6.验证(Authentication)

实现验证方案的库。

  • OAuth
    • authlib:一个强大的Python库,用来构建 OAuth 和 OpenID 服务端。包括:JWS, JWK, JWA, JWT。
    • django-allauth:Django 的验证应用。
    • django-oauth-toolkit:为 Django 用户准备的 OAuth2。
    • OAuthLib:一个 OAuth 请求-签名逻辑通用、 完整的实现。
    • Flask-OAuthlib:OAuth 1.0/a, 2.0 客户端实现,供 Flask 使用。
    • python-oauth2:一个完全测试的抽象接口。用来创建 OAuth 客户端和服务端。
    • python-social-auth:一个设置简单的社会化验证方式。
  • 其他
    • PyJWT:JSON Web 令牌的实现。
    • python-jwt:一个用来生成和验证 JSON Web 令牌的模块。
    • python-jose:python 版 JOSE 实现。

7.构建工具(Build Tools)

将源码编译成软件。

  • BitBake:针对嵌入式 Linux 的类似 make 的构建工具。
  • buildout:一个构建系统,从多个组件来创建,组装和部署应用。
  • PlatformIO:多平台命令行构建工具。
  • PyBuilder:纯 Python 实现的持续化构建工具。
  • SCons:软件构建工具。

8.内置类的增强版实现(Built-in Classes Enhancement)

一些 Python 内置类的增强版实现库。

  • attrs:一个在类定义时可替换 __init__, __eq__, __repr__等方法的样板。
  • bidict:高效的 Pythonic 的双向映射数据结构和相关功能。
  • Box:具有高级点符号访问权限的 Python 字典。
  • dataclasses:(Python 标准库) 数据类。
  • DottedDict:提供一种使用点路径符号访问列表和字典的方法的库。

9.CMS

内容管理系统。

  • django-cms:一个开源的,企业级 CMS,基于 Django。
  • FeinCMS:基于 Django 构建的最先进的内容管理系统之一。
  • indico:一个功能丰富的事件管理系统,由 @CERN 开发。
  • Kotti:一个高级的,Python 范的 web 应用框架,基于 Pyramid 构建。
  • Mezzanine:一个强大的,持续的,灵活的内容管理平台。
  • Plone:一个构建于开源应用服务器 Zope 之上的 CMS。
  • Quokka:灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。
  • Wagtail:一个 Django 内容管理系统。

10.缓存(Caching)

缓存数据的库。

  • Beaker:一个缓存和会话库,可以用在 web 应用和独立 Python 脚本和应用上。
  • django-cache-machine:Django 模型的自动缓存和失效。
  • django-cacheops:具有自动颗粒化事件驱动失效功能的 ORM。
  • dogpile.cache:dogpile.cache 是 Beaker 的下一代替代品,由同一作者开发。
  • HermesCache:Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。
  • pylibmc:libmemcached 接口的 Python 封装。
  • python-diskcache:SQLite 和文件支持的缓存后端,具有比 memcached 和 redis 更快的查找速度。

11.聊天工具(ChatOps Tools)

聊天机器人开发相关的库。

  • errbot:实现 ChatOps 的最简单最受欢迎的聊天机器人。

12.代码分析(Code Analysis)

进行代码分析、解析和操作代码库的库和工具。

  • 代码分析
    • coala:语言独立和易于扩展的代码分析应用程序。
    • code2flow:把你的 Python 和 JavaScript 代码转换为流程图。
    • prospector:分析 Python 代码的工具。
    • pycallgraph:这个库可以把你的 Python 应用的流程(调用图)进行可视化。
    • vulture:用于发现和分析无效 Python 代码的工具。
  • Lint 工具
    • Flake8:模块化源码检查工具,提供与 pycodestyle、pyflakes、McCabe 相关的装饰器。
      • awesome-flake8-extensions
    • pylama:Python 和 JavaScript 的代码审查工具。
    • Pylint:一个完全可定制的源码分析器。
    • wemake-python-styleguide:有史以来最严格的 Python 代码审查工具。
  • 代码格式化
    • black:一个坚定的 Python 代码格式化工具。
    • isort:用于纠正包导入顺序的 Python 库。
    • autopep8:自动格式化 Python 代码,以使其符合 PEP8 规范。
  • 静态类型检查,也可以参考 awesome-python-typing
    • mypy:在编译期间检查变量类型。
    • pyre-check:性能类型检查。
    • typeshed:带有静态类型的Python库存根的集合。
  • 静态类型注释生成器
    • MonkeyType:通过收集运行时的类型来为 Python 生成静态类型注释的系统。
    • pyannotate:自动生成符合 PEP-484 的注解。
    • pytype:检查和推断 Python 代码中的类型,无需添加注解。

13.命令行界面开发(Command-line Interface Development)

用于创建命令行程序的库。

  • 命令行程序开发
    • cement:Python 的命令行程序框架。
    • click:一个通过组合的方式来创建精美命令行界面的包。
    • cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。
    • docopt:Python 风格的命令行参数解析器。
    • python-fire:Google 出品的一个基于 Python 类的构建命令行界面的库。
    • python-prompt-toolkit:一个用于构建强大的交互式命令行程序的库。
  • 终端呈现方式
    • alive-progress:一款新的进度条,具有实时吞吐量信息以及非常酷的动画。
    • asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级 API。
    • bashplotlib:在终端中进行基本绘图。
    • colorama:跨平台彩色终端文本。
    • rich:一个在终端中支持富文本和格式美化的 Python 库, 同时提供了RichHandler
      日志处理程序。
    • tqdm:一个可在循环和命令行中使用的快速、可扩展的进度条。

14.命令行工具(Command-line Tools)

  • 生产力工具
    • copier:用于呈现项目模板的库和命令行实用程序。
    • cookiecutter:从 cookiecutters(项目模板)创建项目的一个命令行工具。
    • doitlive:一个用来在终端中进行现场演示的工具。
    • howdoi:通过命令行获取即时的编程问题解答。
    • Invoke:用于管理面向 shell 的子进程,同时支持将可执行的 Python 代码组织成命令行可调用的状态。
    • PathPicker:从 bash 输出中选出文件。
    • percol:向 UNIX shell 传统管道概念中加入交互式选择功能。
    • thefuck:修正你之前的命令行指令。
    • tmuxp:tmux 会话管理器。
    • try:一个极其简单的命令行工具,用来试用 python 库。
  • 高级 CLI
    • httpie:一个命令行 HTTP 客户端,cURL 的替代品,易用性更好。
    • iredis:支持自动补全和高亮显示的 redis 命令行工具。
    • kube-shell:K8S 命令行集成的 shell 工具。
    • litecli:支持自动补全和语法高亮的 SQLite 命令行工具。
    • mycli:支持自动补全和语法高亮的 MySQL 命令行客户端
    • pgcli:支持自动补全和语法高亮的 Postgres 命令行工具。
    • SAWS:一个加强版的 AWS 命令行。

15.兼容性(Compatibility)

帮助从 Python 2 向 Python 3 迁移的库。

  • Python-Future:这就是 Python 2 和 Python 3 之间丢失的那个兼容性层。
  • Six:Python 2 和 3 的兼容性工具。
  • modernize:使 Python 代码更加现代化以便最终迁移到 Python 3。

16.计算机视觉(Computer Vision)

计算机视觉相关库。

  • OpenCV:开源计算机视觉库。
  • pytesseract:Google Tesseract OCR 的另一包装库。
  • SimpleCV:一个用来创建计算机视觉应用的开源框架。
  • EasyOCR:支持40多种语言的即用型 OCR。
  • Face Recognition:简单的面部识别库。
  • Kornia:PyTorch 的开源差异化计算机视觉库。
  • tesserocr:另一个简单的,兼容 Pillow 的 tesseract-ocr
    API 装饰器,可用于 OCR。

17.并发和并行(Concurrency and Parallelism)

用以进行并发和并行操作的库。

  • concurrent.futures:(Python 标准库) 异步执行可调用对象的高级接口。
  • threading:(Python 标准库)更高层的线程接口。
  • eventlet:支持 WSGI 的异步框架。
  • gevent:一个基于协程的 Python 网络库,使用 greenlet。
  • Tomorrow:用于产生异步代码的神奇的装饰器语法实现。
  • uvloop:在 libuv 之上超快速实现 asyncio 事件循环。
  • multiprocessing:(Python 标准库) 基于进程的“线程”接口。
  • scoop:支持在 Python 中进行可伸缩并行操作。

18.配置(Configuration)

用来保存和解析配置的库。

  • config:logging 模块作者写的分级配置模块。
  • ConfigObj:INI 文件解析器,带验证功能。
  • ConfigParser:(Python 标准库) INI 文件解析器。
  • python-decouple:将设置和代码完全隔离。
  • hydra:一个优雅地配置复杂应用程序的框架。

19.密码学(Cryptography)

  • cryptography:这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。
  • Paramiko:SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。
  • Passlib:安全密码存储/哈希库。
  • PyCrypto:Python 密码学工具箱。
  • PyNacl:网络和密码学(NaCl) 库的 Python 绑定。

20.数据分析(Data Analysis)

用来进行数据分析的库。

  • AWS Data Wrangler:AWS 平台上使用的 Pandas。
  • blaze:NumPy 和 Pandas 的大数据接口。
  • Open Mining:使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。
  • Optimus:在使用 PySpark 时,让敏捷数据科学工作流程变得简单。
  • orange:通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和机器学习。
  • Pandas:提供高性能,易用的数据结构和数据分析工具。

21.数据验证(Data Validation)

数据验证库。多用于表单验证。

  • Cerberus:一个映射验证器(mappings-validator)。支持多种规则,提供归一化功能,可以方便地定制为 Python 风格的 schema 定义。
  • colander:一个用于对从 XML, JSON,HTML 表单获取的数据或其他同样简单的序列化数据进行验证和反序列化的系统。
  • schema:一个用于对 Python 数据结构进行验证的库。
  • Schematics:数据结构验证。
  • valideer:轻量级可扩展的数据验证和适配库。
  • voluptuous:一个 Python 数据验证库。主要是为了验证传入 Python 的 JSON,YAML 等数据。
  • jsonschema:JSON Schema 的 python 实现,用于 JSON 数据的验证。

22.数据可视化(Data Visualization)

进行数据可视化的库。参见:awesome-javascript。

  • matplotlib:一个 Python 2D 绘图库。
  • bokeh:用 Python 进行交互式 web 绘图。
  • ggplot:ggplot2 给 R 提供的 API 的 Python 版本。
  • plotly:协同 Python 和 matplotlib 工作的 web 绘图库。
  • pyecharts:基于百度 Echarts 的数据可视化库。
  • pygal:一个 Python SVG 图表创建工具。
  • pygraphviz:Graphviz 的 Python 接口。
  • PyQtGraph:交互式实时 2D/3D/ 图像绘制及科学/工程学组件。
  • SnakeViz:一个基于浏览器的 Python’s cProfile 模块输出结果查看工具。
  • vincent:把 Python 转换为 Vega 语法的转换工具。
  • VisPy:基于 OpenGL 的高性能科学可视化工具。
  • Altair:用于 Python 的声明式统计可视化库。
  • bqplot:Jupyter Notebook 的交互式绘图库。
  • Cartopy:具有 matplotlib 支持的 Python 制图库。
  • Dash:构建在 Flask、React 和 Plotly 之上,旨在用于分析 Web 应用程序。
    • awesome-dash
  • diagrams:用图表作为代码。
  • plotnine:基于ggplot2的Python图形语法。
  • PyGraphviz:Graphviz 的 Python 接口。
  • Seaborn:使用 Matplotlib 进行统计数据可视化。

23.数据库(Database)

Python 实现的数据库。

  • pickleDB:一个简单,轻量级键值储存数据库。
  • TinyDB:一个微型的,面向文档型数据库。
  • ZODB:一个 Python 原生对象数据库。一个键值和对象图数据库。

24.数据库驱动(Database Drivers)

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

  • MySQL:awesome-mysql 系列
    • aiomysql:基于 asyncio 的异步 MySQL 数据库操作库。
    • mysql-python:Python 的 MySQL 数据库连接器。
    • ysqlclient:mysql-python 分支,支持 Python 3。
    • oursql:一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs。
    • PyMySQL:纯 Python MySQL 驱动,兼容 mysql-python。
  • PostgreSQL
    • psycopg2:Python 中最流行的 PostgreSQL 适配器。
    • queries:psycopg2 库的封装,用来和 PostgreSQL 进行交互。
    • txpostgres:基于 Twisted 的异步 PostgreSQL 驱动。
  • 其他关系型数据库
    • apsw:另一个 Python SQLite 封装。
    • dataset:在数据库中存储 Python 字典
    • pymssql:一个简单的 Microsoft SQL Server 数据库接口。
  • NoSQL 数据库
    • cassandra-python-driver:Cassandra 的 Python 驱动。
    • HappyBase:一个为 Apache HBase 设计的,对开发者友好的库。
    • Plyvel:一个快速且功能丰富的 LevelDB 的 Python 接口。
    • py2neo:Neo4j restful 接口的 Python 封装客户端。
    • pycassa:Cassandra 的 Python Thrift 驱动。
    • PyMongo:MongoDB 的官方 Python 客户端。
    • redis-py:Redis 的 Python 客户端。
    • telephus:基于 Twisted 的 Cassandra 客户端。
    • txRedis:基于 Twisted 的 Redis 客户端。
    • kafka-python:Apache Kafka Python 客户端。
  • 异步客户端
    • motor:支持 MongoDB 的异步 Python 驱动程序。

25.日期和时间(Date and Time)

操作日期和时间的类库。

  • arrow:更好的 Python 日期时间操作类库。
  • Chronyk:Python 3 的类库,用于解析手写格式的时间和日期。
  • dateutil:Python datetime 模块的扩展。
  • delorean:解决 Python 中有关日期处理的棘手问题的库。
  • maya:人性化的时间处理库。
  • pendulum:一个比 arrow 更具有明确的,可预测的行为的时间操作库。
  • PyTime:一个简单易用的 Python 模块,用于通过字符串来操作日期/时间。
  • pytz:现代以及历史版本的世界时区定义。将时区数据库引入 Python。
  • when.py:提供用户友好的函数来帮助用户进行常用的日期和时间操作。
  • dateutil:Python 标准包 datetime 的扩展。
  • moment:一个处理日期/时间的库,灵感来自 Moment.js。
  • pytz:支持跨平台时区计算,并将 tz database 引入 Python。

声明:来自汪汪虚拟空间,仅代表创作者观点。链接:https://eyangzhen.com/8134.html

汪汪虚拟空间的头像汪汪虚拟空间

相关推荐

添加微信
添加微信
Ai学习群
返回顶部