Python优秀库推荐,优秀库大全
Awesome Python
很棒的 Python 框架、库、软件和资源的精选列表。
灵感来自awesome-php 。
- 很棒的蟒蛇
- 管理面板
- 算法和设计模式
- ASGI 服务器
- 异步编程
- 声音的
- 验证
- 构建工具
- 内置类增强
- 缓存
- ChatOps 工具
- 内容管理系统
- 代码分析
- 命令行界面开发
- 命令行工具
- 兼容性
- 计算机视觉
- 并发和并行
- 配置
- 密码学
- 数据分析
- 数据验证
- 数据可视化
- 数据库驱动程序
- 数据库
- 日期和时间
- 调试工具
- 深度学习
- 开发运维工具
- 分布式计算
- 分配
- 文档
- 下载器
- 电子商务
- 编辑器插件和 IDE
- 电子邮件
- 企业应用程序集成
- 环境管理
- 文件
- 外部函数接口
- 形式
- 函数式编程
- 游戏开发
- 地理位置
- 图形用户界面开发
- 硬件
- HTML 操作
- HTTP 客户端
- 图像处理
- 实现
- 交互式口译员
- 国际化
- 作业调度程序
- 日志记录
- 机器学习
- 各种各样的
- 自然语言处理
- 网络虚拟化
- 新闻提要
- 甲骨文
- 包管理
- 包存储库
- 渗透测试
- 权限
- 流程
- 推荐系统
- 重构
- RESTful API
- 机器人技术
- RPC 服务器
- 科学
- 搜索
- 序列化
- 无服务器框架
- 贝壳
- 特定格式处理
- 静态站点生成器
- 标记
- 任务队列
- 模板引擎
- 测试
- 文本处理
- 第三方 API
- 网址操作
- 视频
- 网络资产管理
- 网页内容提取
- 网络爬行
- 网络框架
- 网络套接字
- WSGI 服务器
- 资源
- 贡献
管理面板
管理界面的库。
- ajenti - 您的服务器应得的管理面板。
- django-grappelli - Django 管理界面的爵士皮肤。
- django-jet - 具有改进功能的 Django 管理界面的现代响应模板。
- django-suit - 替代 Django 管理界面(仅免费用于非商业用途).
- django-xadmin - Django 管理员的替代品附带了很多好东西。
- flask-admin - 简单且可扩展的 Flask 管理界面框架。
- flower- Celery 的实时监视器和 Web 管理员.
- jet-bridge - 任何具有漂亮 UI 的应用程序的管理面板框架(例如 Jet Django)。
- wooey - 为 Python 脚本创建自动 Web UI 的 Django 应用程序。
算法和设计模式
数据结构、算法和设计模式的 Python 实现。另请参阅awesome-algorithms 。
- 算法
- algorithms- 数据结构和算法的最小示例。
- python-ds - 用于编码面试的数据结构和算法的集合。
- sortedcontainers - 排序集合的快速和纯 Python 实现。
- TheAlgorithms - 在 Python 中实现的所有算法。
- 设计模式
- PyPattyrn - 一个简单而有效的库,用于实现常见的设计模式。
- python-patterns - Python 中的设计模式集合。
- transitions - 轻量级、面向对象的有限状态机实现。
ASGI 服务器
ASGI兼容的网络服务器。
- daphne - 用于 ASGI 和 ASGI-HTTP 的 HTTP、HTTP2 和 WebSocket 协议服务器。
- uvicorn - 一个闪电般快速的 ASGI 服务器实现,使用 uvloop 和 httptools。
异步编程
- asyncio -(Python 标准库)异步 I/O、事件循环、协程和任务。
- trio - 一个友好的异步并发和 I/O 库。
- Twisted - 一个事件驱动的网络引擎。
- uvloop - 超快速异步事件循环。
音频处理
用于处理音频及其元数据的库。
- 声音的
- audioread - 跨库(GStreamer + Core Audio + MAD + FFmpeg)音频解码。
- dejavu - 音频指纹识别和识别。
- kapre - Keras 音频预处理器。
- librosa - 用于音频和音乐分析的 Python 库。
- matchering - 用于自动参考音频母带处理的库。
- mingus - 具有 MIDI 文件和播放支持的高级音乐理论和符号包。
- pyAudioAnalysis - 音频特征提取、分类、分割和应用。
- pydub - 使用简单易用的高级界面处理音频。
- TimeSide - 开放的网络音频处理框架。
- 元数据
- beets - 音乐库管理器和MusicBrainz标记器。
- eyeD3 - 用于处理音频文件的工具,特别是包含 ID3 元数据的 MP3 文件。
- mutagen - 处理音频元数据的 Python 模块。
- tinytag - 用于读取 MP3、OGG、FLAC 和 Wave 文件的音乐元数据的库。
验证
用于实现身份验证方案的库。
- 身份验证
- authlib - JavaScript 对象签名和加密草案实现。
- django-allauth -“正常工作”的 Django 身份验证应用程序。
- django-oauth-toolkit - Django 的 OAuth 2 好东西。
- oauthlib - OAuth 请求签名逻辑的通用和彻底的实现。
- python-oauth2 - 一个经过全面测试的抽象接口,用于创建 OAuth 客户端和服务器。
- python-social-auth - 一种易于设置的社交身份验证机制。
- 智威汤逊
- pyjwt - Python 中的 JSON Web 令牌实现。
- python-jose - Python 中的 JOSE 实现。
- python-jwt - 用于生成和验证 JSON Web 令牌的模块。
构建工具
从源代码编译软件。
- BitBake - 用于嵌入式 Linux 的类似 make 的构建工具。
- buildout - 用于从多个部分创建、组装和部署应用程序的构建系统。
- PlatformIO - 使用不同开发平台构建代码的控制台工具。
- pybuilder - 用纯 Python 编写的持续构建工具。
- SCons - 一个软件构建工具。
内置类增强
用于增强 Python 内置类的库。
- attrs - 替换类定义中的
__init__
、__eq__
、__repr__
等样板。 - bidict - 高效的 Pythonic 双向地图数据结构和相关功能..
- Box - 具有高级点符号访问的 Python 字典。
- dataclasses -(Python 标准库)数据类。
- DottedDict - 一个库,它提供了一种使用点路径表示法访问列表和字典的方法。
内容管理系统
内容管理系统。
- django-cms - 基于 Django 的开源企业 CMS。
- feincms - 基于 Django 构建的最先进的内容管理系统之一。
- indico - 一个功能丰富的事件管理系统,由@ CERN制作。
- Kotti - 基于 Pyramid 构建的高级 Pythonic Web 应用程序框架。
- mezzanine - 一个强大、一致且灵活的内容管理平台。
- plone - 建立在开源应用服务器 Zope 之上的 CMS。
- quokka - 由 Flask 和 MongoDB 提供支持的灵活、可扩展的小型 CMS。
- wagtail - 一个 Django 内容管理系统。
缓存
用于缓存数据的库。
- beaker - 用于会话和缓存的 WSGI 中间件。
- django-cache-machine - Django 模型的自动缓存和失效。
- django-cacheops - 具有自动粒度事件驱动失效的光滑 ORM 缓存。
- dogpile.cache - dogpile.cache 是同一作者制作的 Beaker 的下一代替代品。
- HermesCache - 具有基于标签的失效和狗桩效应预防的 Python 缓存库。
- pylibmc - 一个围绕libmemcached接口的 Python 包装器。
- python-diskcache - SQLite 和文件支持的缓存后端,比 memcached 和 redis 具有更快的查找速度。
ChatOps 工具
用于聊天机器人开发的库。
- errbot - 实现 ChatOps 的最简单和最受欢迎的聊天机器人。
代码分析
静态分析、linter 和代码质量检查工具。另请参阅awesome-static-analysis 。
- 代码分析
- coala - 独立于语言且易于扩展的代码分析应用程序。
- code2flow - 将您的 Python 和 JavaScript 代码转换为 DOT 流程图。
- 探矿者- 分析 Python 代码的工具。
- pycallgraph - 一个可视化 Python 应用程序的流程(调用图)的库。
- vulture - 一种用于查找和分析死 Python 代码的工具。
- 代码短绒
- flake8 -
pycodestyle
、pyflakes
和 McCabe 的包装器。 - pylama - Python 和 JavaScript 的代码审计工具。
- pylint - 完全可定制的源代码分析器。
- wemake-python-styleguide - 有史以来最严格和最自以为是的 python linter。
- flake8 -
- 代码格式化程序
- 静态类型检查器,另见awesome-python-typing
- mypy - 在编译时检查变量类型。
- pyre-check - 高性能类型检查。
- typeshed - 用于 Python 的库存根集合,具有静态类型。
- 静态类型注释生成器
- MonkeyType - 通过收集运行时类型生成静态类型注释的 Python 系统。
- pyannotate - 自动生成 PEP-484 注释。
- pytype - Pytype 检查和推断 Python 代码的类型 - 无需类型注释。
命令行界面开发
用于构建命令行应用程序的库。
- 命令行应用程序开发
- 水泥- Python 的 CLI 应用程序框架。
- click - 一个以可组合方式创建漂亮命令行界面的包。
- 悬崖- 用于创建具有多级命令的命令行程序的框架。
- docopt - Pythonic 命令行参数解析器。
- python-fire - 一个用于从绝对任何 Python 对象创建命令行界面的库。
- python-prompt-toolkit - 一个用于构建强大的交互式命令行的库。
- 终端渲染
- alive-progress - 一种新的进度条,具有实时吞吐量、eta 和非常酷的动画。
- asciimatics - 一个创建全屏文本 UI 的包(从交互式表单到 ASCII 动画)。
- bashplotlib - 在终端中制作基本图。
- colorama - 跨平台彩色终端文本。
- rich - 用于终端中富文本和精美格式的 Python 库。还提供了一个很棒的
RichHandler
日志处理程序。 - tqdm - 用于循环和 CLI 的快速、可扩展的进度条。
命令行工具
有用的基于 CLI 的生产力工具。
- 生产力工具
- copier - 用于渲染项目模板的库和命令行实用程序。
- cookiecutter - 从 cookiecutters(项目模板)创建项目的命令行实用程序。
- doitlive - 在终端中进行实时演示的工具。
- howdoi - 通过命令行即时编码答案。
- Invoke - 一种用于管理面向 shell 的子进程并将可执行 Python 代码组织成 CLI 可调用任务的工具。
- PathPicker - 从 bash 输出中选择文件。
- percol - 为 UNIX 上的传统管道概念添加了交互式选择的味道。
- thefuck - 更正您之前的控制台命令。
- tmuxp - 一个tmux会话管理器。
- try - 一个非常简单的 CLI 来尝试 python 包 - 从未如此简单。
- CLI 增强功能
兼容性
用于从 Python 2 迁移到 3 的库。
- python-future - Python 2 和 Python 3 之间缺少的兼容层。
- 现代化- 为最终的 Python 3 迁移现代化 Python 代码。
- 六- Python 2 和 3 兼容性实用程序。
计算机视觉
计算机视觉库。
- EasyOCR - 支持 40 多种语言的即用型 OCR。
- Face Recognition - 简单的面部识别库。
- Kornia - PyTorch 的开源可微分计算机视觉库。
- OpenCV - 开源计算机视觉库。
- pytesseract - Google Tesseract OCR的包装器。
- SimpleCV - 用于构建计算机视觉应用程序的开源框架。
- tesserocr - 另一个简单的 Pillow-friendly 包装器,用于 OCR 的
tesseract-ocr
API。
并发和并行
用于并发和并行执行的库。另请参阅awesome-asyncio 。
- concurrent.futures -(Python 标准库)用于异步执行可调用对象的高级接口。
- eventlet - 支持 WSGI 的异步框架。
- gevent - 一个使用greenlet的基于协程的 Python 网络库。
- multiprocessing -(Python 标准库)基于进程的并行性。
- scoop - Python 中的可扩展并发操作。
- uvloop - 在
asyncio
libuv
超快速实现异步事件循环。
配置
用于存储和解析配置选项的库。
- configobj - 带有验证的 INI 文件解析器。
- configparser -(Python 标准库)INI 文件解析器。
- hydra - Hydra 是一个优雅地配置复杂应用程序的框架。
- profig - 具有值转换的多种格式的配置。
- python-decouple - 设置与代码的严格分离。
密码学
- cryptography - 一个包,旨在向 Python 开发人员公开密码原语和配方。
- paramiko - 领先的原生 Python SSHv2 协议库。
- passlib - 安全密码存储/哈希库,非常高级。
- pynacl - Python 绑定到网络和密码学(NaCl)库。
数据分析
用于数据分析的库。
- AWS Data Wrangler - AWS 上的 Pandas。
- Blaze - NumPy 和 Pandas 与大数据的接口。
- Open Mining - Pandas 界面中的商业智能 (BI)。
- Optimus - 使用 PySpark 轻松实现敏捷数据科学工作流程.
- Orange - 通过可视化编程或脚本进行数据挖掘、数据可视化、分析和机器学习。
- Pandas - 一个提供高性能、易于使用的数据结构和数据分析工具的库。
数据验证
用于验证数据的库。在许多情况下用于表单。
- Cerberus - 一个轻量级和可扩展的数据验证库。
- colander - 验证和反序列化通过 XML、JSON、HTML 表单发布获得的数据。
- jsonschema - Python 的JSON Schema的实现。
- schema - 用于验证 Python 数据结构的库。
- Schematics - 数据结构验证。
- valideer - 轻量级可扩展数据验证和适配库。
- voluptuous - Python 数据验证库。
数据可视化
用于可视化数据的库。另请参阅awesome-javascript 。
- Altair - Python 的声明性统计可视化库。
- Bokeh - Python 的交互式 Web 绘图。
- bqplot - Jupyter Notebook 的交互式绘图库。
- Cartopy - 具有 matplotlib 支持的制图 python 库。
- Dash - 建立在 Flask、React 和 Plotly 之上,旨在分析 Web 应用程序。
- 图表- 图表即代码。
- Matplotlib - Python 2D 绘图库。
- plotnine - 基于 ggplot2 的 Python 图形语法。
- Pygal - Python SVG 图表创建者。
- PyGraphviz - Graphviz的 Python 接口。
- PyQtGraph - 交互式和实时 2D/3D/图像绘图和科学/工程小部件。
- Seaborn - 使用 Matplotlib 进行统计数据可视化。
- VisPy - 基于 OpenGL 的高性能科学可视化。
数据库
用 Python 实现的数据库。
数据库驱动程序
用于连接和操作数据库的库。
- MySQL -真棒-mysql
- mysqlclient - 支持 Python 3 的 MySQL 连接器( mysql-python fork)。
- PyMySQL - 与 mysql-python 兼容的纯 Python MySQL 驱动程序。
- PostgreSQL -真棒postgres
- 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 驱动程序。
日期和时间
用于处理日期和时间的库。
- Arrow - 一个 Python 库,它提供了一种明智且人性化的方法来创建、操作、格式化和转换日期、时间和时间戳。
- Chronyk - 用于解析人工编写的时间和日期的 Python 3 库。
- dateutil - 标准 Python日期时间模块的扩展。
- delorean - 一个用于清除处理日期时间的不便事实的库。
- maya - 人类的日期时间。
- moment - 用于处理日期/时间的 Python 库。灵感来自Moment.js 。
- Pendulum - Python 日期时间变得容易。
- PyTime - 一个易于使用的 Python 模块,旨在通过字符串操作日期/时间/日期时间。
- pytz - 世界时区定义,现代和历史。将tz 数据库引入 Python。
- when.py - 提供用户友好的函数来帮助执行常见的日期和时间操作。
调试工具
用于调试代码的库。
- 类似 pdb 的调试器
- 追踪
- lptrace - Python 程序的strace 。
- manhole - 调试 UNIX 套接字连接并显示所有线程的堆栈跟踪和交互式提示。
- pyringe - 能够附加到 Python 进程并将代码注入到 Python 进程中的调试器。
- python-hunter - 一个灵活的代码跟踪工具包。
- 探查器
- line_profiler - 逐行分析。
- memory_profiler - 监控 Python 代码的内存使用情况。
- py-spy - Python 程序的采样分析器。用 Rust 编写。
- pyflame - Python 的 ptracing 分析器。
- vprof - 可视化 Python 分析器。
- 其他
- django-debug-toolbar - 显示 Django 的各种调试信息。
- django-devserver - Django 运行服务器的替代品。
- flask-debugtoolbar - django-debug-toolbar 到烧瓶的端口。
- icecream - 通过一个简单的函数调用检查变量、表达式和程序执行。
- pyelftools - 解析和分析 ELF 文件和 DWARF 调试信息。
深度学习
神经网络和深度学习框架。另请参阅awesome-deep-learning 。
- caffe - 一个快速的深度学习开放框架。
- keras - 一个高级神经网络库,能够在 TensorFlow 或 Theano 之上运行。
- mxnet - 为效率和灵活性而设计的深度学习框架。
- pytorch - Python 中的张量和动态神经网络,具有强大的 GPU 加速功能。
- SerpentAI - 游戏代理框架。将任何视频游戏用作深度学习沙盒。
- tensorflow - 由 Google 创建的最受欢迎的深度学习框架。
- Theano - 一个用于快速数值计算的库。
开发运维工具
适用于 DevOps 的软件和库。
- 配置管理
- SSH 风格的部署
- 流程管理
- honcho - Foreman的 Python 克隆,用于管理基于 Procfile 的应用程序。
- supervisor - UNIX 的主管进程控制系统。
- 监控
- psutil - 一个跨平台的进程和系统实用程序模块。
- 备份
- BorgBackup - 具有压缩和加密功能的去重存档器。
- 其他
- docker-compose - 使用Docker的快速、隔离的开发环境。
分布式计算
分布式计算的框架和库。
- 批量处理
- 流处理
- faust - 一个流处理库,将Kafka Streams的想法移植到 Python。
- streamparse - 通过Apache Storm针对实时数据流运行 Python 代码。
分配
创建用于发布分发的打包可执行文件的库。
- dh-virtualenv - 构建和分发 virtualenv 作为 Debian 软件包。
- Nuitka - 将脚本、模块、包编译为可执行或扩展模块。
- py2app - 冻结 Python 脚本 (Mac OS X).
- py2exe - 冻结 Python 脚本 (Windows)。
- pyarmor - 一种用于混淆 python 脚本、将混淆脚本绑定到固定机器或使混淆脚本过期的工具。
- PyInstaller - 将 Python 程序转换为独立的可执行文件(跨平台)。
- pynsist - 构建 Windows 安装程序的工具,安装程序捆绑 Python 本身。
- shiv - 用于构建完全独立的 zipapps (PEP 441) 的命令行实用程序,但包含它们的所有依赖项。
文档
用于生成项目文档的库。
下载器
用于下载的库。
- akshare - 为人类打造的金融数据接口库!
- s3cmd - 用于管理 Amazon S3 和 CloudFront 的命令行工具。
- s4cmd - 超级 S3 命令行工具,有利于提高性能。
- you-get - 用 Python 3 编写的 YouTube/优酷/Niconico 视频下载器。
- youtube-dl - 从 YouTube 下载视频的小型命令行程序。
电子商务
电子商务和支付的框架和库。
- alipay - Python 的非官方支付宝 API。
- Cartridge - 使用 Mezzanine 构建的购物车应用程序。
- django-oscar - Django 的开源电子商务框架。
- django-shop - 基于 Django 的商店系统。
- forex-python - 外汇汇率、比特币价格指数和货币转换。
- 商人- 一个 Django 应用程序,用于接受来自各种支付处理器的付款。
- money -
Money
类,具有可选的 CLDR 支持的区域设置感知格式和可扩展的货币兑换。 - python-currencies - 显示货币格式及其肮脏的货币。
- saleor - Django 的电子商务店面。
- shop - 基于 Django 的开源电子商务平台。
编辑器插件和 IDE
- Emacs
- elpy - Emacs Python 开发环境。
- 崇高的文本
- anaconda -Anaconda 将您的 Sublime Text 3 转换为功能齐全的 Python 开发 IDE.
- SublimeJEDI - 超棒的自动完成库 Jedi 的 Sublime Text 插件。
- 维姆
- jedi-vim - 用于 Python 的 Jedi 自动完成库的 Vim 绑定。
- python-mode - 将 Vim 变成 Python IDE 的多合一插件。
- YouCompleteMe - 包括基于Jedi的 Python 完成引擎。
- 视觉工作室
- PTVS - Visual Studio 的 Python 工具。
- 视觉工作室代码
- Python - 对 Python 提供丰富支持的官方 VSCode 扩展。
- IDE
电子邮件
用于发送和解析电子邮件的库。
- 邮件服务器
- 客户
- 其他
企业应用程序集成
用于企业环境中系统集成的平台和工具
- Zato - Python 中的 ESB、SOA、REST、API 和云集成。
环境管理
用于 Python 版本和虚拟环境管理的库。
- pyenv - 简单的 Python 版本管理。
- virtualenv - 创建隔离 Python 环境的工具。
文件
用于文件操作和 MIME 类型检测的库。
- mimetypes -(Python 标准库)将文件名映射到 MIME 类型。
- path.py - os.path的模块包装器。
- pathlib -(Python 标准库)一个跨平台、面向对象的路径库。
- PyFilesystem2 - Python 的文件系统抽象层。
- python-magic - libmagic 文件类型识别库的 Python 接口。
- Unipath - 一种面向对象的文件/目录操作方法。
- watchdog - 用于监控文件系统事件的 API 和 shell 实用程序。
外部函数接口
提供外部函数接口的库。
- cffi - Python 调用 C 代码的外部函数接口。
- ctypes - (Python 标准库)Python 调用 C 代码的外部函数接口。
- PyCUDA - Nvidia 的 CUDA API 的 Python 包装器。
- SWIG - 简化的包装器和接口生成器。
形式
用于处理表单的库。
- Deform - 受 formish 表单生成库影响的 Python HTML 表单生成库。
- django-bootstrap3 -Bootstrap 3 与 Django 的集成。
- django-bootstrap4 -Bootstrap 4 与 Django 的集成。
- django-crispy-forms - 一个 Django 应用程序,可让您以非常优雅和干燥的方式创建漂亮的表单。
- django-remote-forms - 一个独立于平台的 Django 表单序列化器。
- WTForms - 一个灵活的表单验证和渲染库。
函数式编程
使用 Python 进行函数式编程。
- Coconut - 为简单、优雅、Pythonic 函数式编程而构建的 Python 变体。
- CyToolz - Toolz 的
Toolz
实现:高性能功能实用程序。 - fn.py - Python 中的函数式编程:实现缺少的功能以享受 FP。
- funcy - 一个花哨且实用的功能工具。
- more-itertools - 除了
itertools
之外,更多用于操作可迭代对象的例程。 - Returns - 一组类型安全的 monad、转换器和组合实用程序。
- Toolz - 用于迭代器、函数和字典的功能实用程序的集合。
图形用户界面开发
用于处理图形用户界面应用程序的库。
- curses - 用于创建终端 GUI 应用程序的ncurses的内置包装器。
- Eel - 一个用于制作类似 Electron 的简单离线 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 原生、操作系统原生 GUI 工具包。
- urwid - 一个用于创建终端 GUI 应用程序的库,对小部件、事件、丰富的颜色等具有强大的支持。
- wxPython - wxWidgets C++ 类库与 Python 的混合。
- DearPyGui - 一个简单的 GPU 加速 Python GUI 框架
GraphQL
用于使用 GraphQL 的库。
- graphene - Python 的 GraphQL 框架。
- tartiflette-aiohttp - 基于
aiohttp
的 Tartiflette 包装器,用于通过 HTTP 公开 GraphQL API。 - tartiflette-asgi - 对 Tartiflette GraphQL 引擎的 ASGI 支持。
- tartiflette - 适用于 Python 3.6+ 和 asyncio 的 SDL-first GraphQL 引擎实现。
游戏开发
很棒的游戏开发库。
- Arcade - Arcade 是一个现代 Python 框架,用于制作具有引人注目的图形和声音的游戏。
- Cocos2d - cocos2d 是一个用于构建 2D 游戏、演示和其他图形/交互应用程序的框架。
- Harfang3D - 用于 3D、VR 和游戏开发的 Python 框架。
- Panda3D - 迪士尼开发的 3D 游戏引擎。
- Pygame - Pygame 是一组用于编写游戏的 Python 模块。
- PyOgre - 用于 Ogre 3D 渲染引擎的 Python 绑定,可用于游戏、模拟和任何 3D。
- PyOpenGL - 用于 OpenGL 的 Python ctypes 绑定及其相关 API。
- PySDL2 - SDL2 库的基于 ctypes 的包装器。
- RenPy - 视觉小说引擎。
地理位置
用于地理编码地址和处理纬度和经度的库。
- django-countries - 为模型和表单提供国家/地区字段的 Django 应用程序。
- GeoDjango - 一个世界级的地理网络框架。
- GeoIP - MaxMind GeoIP Legacy 数据库的 Python API。
- geojson - GeoJSON 的 Python 绑定和实用程序。
- geopy - Python 地理编码工具箱。
HTML 操作
用于处理 HTML 和 XML 的库。
- BeautifulSoup - 提供用于迭代、搜索和修改 HTML 或 XML 的 Pythonic 习惯用法。
- 漂白- 基于白名单的 HTML 清理和文本链接库。
- cssutils - Python 的 CSS 库。
- html5lib - 一个符合标准的库,用于解析和序列化 HTML 文档和片段。
- lxml - 一个非常快速、易于使用且通用的库,用于处理 HTML 和 XML。
- MarkupSafe - 为 Python 实现 XML/HTML/XHTML 标记安全字符串。
- pyquery - 一个类似 jQuery 的用于解析 HTML 的库。
- untangle - 将 XML 文档转换为 Python 对象以便于访问。
- WeasyPrint - 可以导出为 PDF 的 HTML 和 CSS 的可视化渲染引擎。
- xmldataset - 简单的 XML 解析。
- xmltodict - 使用 XML 感觉就像使用 JSON。
HTTP 客户端
用于处理 HTTP 的库。
- grequests - requests + gevent 用于异步 HTTP 请求。
- httplib2 - 综合 HTTP 客户端库。
- httpx - Python 的下一代 HTTP 客户端。
- requests - 人类的 HTTP 请求。
- treq - Python 请求,例如构建在 Twisted 的 HTTP 客户端之上的 API。
- urllib3 - 具有线程安全连接池、文件发布支持、健全友好的 HTTP 库。
硬件
用于硬件编程的库。
- ino - 用于使用Arduino的命令行工具包。
- keyboard - 在 Windows 和 Linux 上挂钩和模拟全局键盘事件。
- mouse - 在 Windows 和 Linux 上挂钩和模拟全局鼠标事件。
- Pingo - Pingo 提供统一的 API 来对 Raspberry Pi、pcDuino、Intel Galileo 等设备进行编程。
- PyUserInput - 用于跨平台控制鼠标和键盘的模块。
- scapy - 一个出色的数据包操作库。
图像处理
用于处理图像的库。
- hmap - 图像直方图重映射。
- imgSeek - 一个使用视觉相似性搜索图像集合的项目。
- 裸体.py - 裸体检测。
- pagan - 基于输入字符串和哈希的复古标识(头像)生成。
- 枕头- 枕头是友好的PIL叉子。
- python-barcode - 在 Python 中创建条形码,没有额外的依赖项。
- pygram - 类似 Instagram 的图像过滤器。
- PyMatting - 一个用于 alpha 抠图的库。
- python-qrcode - 一个纯 Python 二维码生成器。
- pywal - 从图像生成配色方案的工具。
- pyvips - 一个内存需求低的快速图像处理库。
- Quads - 基于四叉树的计算机艺术。
- scikit-image - 用于(科学)图像处理的 Python 库。
- thumbor - 一种智能成像服务。它支持按需裁剪、调整大小和翻转图像。
- wand - MagickWand的 Python 绑定,ImageMagick 的 C API。
实现
Python 的实现。
- CLPython - 用 Common Lisp 编写的 Python 编程语言的实现。
- CPython -用 C 编写的 Python 编程语言的默认、最广泛使用的实现。
- Cython - 优化 Python 的静态编译器。
- Grumpy - 比解释器更多的编译器作为更强大的 CPython2.7 替代品 (alpha).
- IronPython - 用 C# 编写的 Python 编程语言的实现。
- Jython - 为 JVM 用 Java 编写的 Python 编程语言的实现。
- MicroPython - 一种精简高效的 Python 编程语言实现。
- Numba - 针对科学 Python 的 LLVM 的 Python JIT 编译器。
- PeachPy - 嵌入在 Python 中的 x86-64 汇编器。
- Pyjion - 基于 CoreCLR 的 Python 的 JIT。
- PyPy - Python 语言的一个非常快速且兼容的实现。
- Pyston - 使用 JIT 技术的 Python 实现。
- Stackless Python - Python 编程语言的增强版本。
交互式口译员
交互式 Python 解释器 (REPL)。
- bpython - Python 解释器的精美接口。
- Jupyter Notebook (IPython) - 一个丰富的工具包,可帮助您以交互方式充分利用 Python。
- ptpython - 建立在python-prompt-toolkit之上的高级 Python REPL。
国际化
用于使用 i18n 的库。
作业调度程序
用于调度作业的库。
- Airflow - Airflow 是一个以编程方式创作、安排和监控工作流程的平台。
- APScheduler - 一个轻量级但功能强大的进程内任务调度程序,可让您安排功能。
- django-schedule - Django 的日历应用程序。
- doit - 任务运行器和构建工具。
- gunnery - 用于分布式系统的多用途任务执行工具,具有基于 Web 的界面。
- Joblib - 一组在 Python 中提供轻量级流水线的工具。
- 计划- 像魅力一样用 Python 编写 crontab 文件。
- Prefect - 一个现代的工作流编排框架,可以轻松构建、调度和监控强大的数据管道。
- schedule - 人类的 Python 作业调度。
- Spiff - 一个用纯 Python 实现的强大的工作流引擎。
- TaskFlow - 一个 Python 库,有助于使任务执行变得简单、一致和可靠。
日志记录
用于生成和处理日志的库。
- logbook - Python 的日志替换。
- logging -(Python 标准库)Python 的日志记录工具。
- loguru - 旨在为 Python 带来愉快的日志记录的库。
- sentry-python - 适用于 Python 的 Sentry SDK。
- structlog - 结构化日志记录变得容易。
机器学习
机器学习库。另请参阅awesome-machine-learning 。
- gym - 用于开发和比较强化学习算法的工具包。
- H2O - 开源快速可扩展机器学习平台。
- Metrics - 机器学习评估指标。
- NuPIC - 智能计算的 Numenta 平台。
- scikit-learn - 最流行的机器学习 Python 库。
- Spark ML - Apache Spark的可扩展机器学习库。
- vowpal_porpoise - Vowpal Wabbit的轻量级 Python 包装器.
- xgboost - 一个可扩展、可移植和分布式的梯度提升库。
- MindsDB - MindsDB 是现有数据库的开源 AI 层,允许您使用标准查询轻松开发、训练和部署最先进的机器学习模型。
微软Windows
在 Microsoft Windows 上进行 Python 编程。
- Python(x,y) - 基于 Qt 和 Spyder 的面向科学应用的 Python 发行版。
- pythonlibs - Python 扩展包的非官方 Windows 二进制文件。
- PythonNet - Python 与 .NET 公共语言运行时(CLR)的集成。
- PyWin32 - Windows 的 Python 扩展。
- WinPython - 适用于 Windows 7/8 的便携式开发环境。
各种各样的
不属于上述类别的有用库或工具。
- blinker - 一个快速的 Python 进程内信号/事件调度系统。
- boltons - 一组纯 Python 实用程序。
- itsdangerous - 将可信数据传递到不可信环境的各种助手。
- magenta - 使用人工智能生成音乐和艺术的工具。
- pluginbase - 一个简单但灵活的 Python 插件系统。
- tryton - 通用业务框架。
自然语言处理
用于处理人类语言的库。
- 一般的
- 中国人
- funNLP - 中文 NLP 工具和数据集的集合。
- jieba - 最流行的中文分词库。
- pkuseg-python - 用于在各个领域进行中文分词的工具包。
- snownlp - 处理中文文本的库。
网络虚拟化
用于虚拟网络和 SDN(软件定义网络)的工具和库。
- mininet - 一个流行的网络模拟器和用 Python 编写的 API。
- napalm - 用于操作网络设备的跨供应商 API。
- pox - 基于 Python 的 SDN 控制应用程序,例如 OpenFlow SDN 控制器。
新闻提要
用于构建用户活动的库。
- django-activity-stream - 从您网站上的操作生成通用活动流。
- Stream Framework - 使用 Cassandra 和 Redis 构建新闻提要和通知系统。
甲骨文
实现对象关系映射或数据映射技术的库。
- 关系数据库
- NoSQL 数据库
- hot-redis - Redis 的丰富 Python 数据类型。
- mongoengine - 用于 MongoDB 的 Python 对象文档映射器。
- PynamoDB - Amazon DynamoDB的 Pythonic 接口。
- redisco - Redis 中持久的简单模型和容器的 Python 库。
包管理
用于包和依赖管理的库。
软件包存储库
本地 PyPI 存储库服务器和代理。
- bandersnatch - Python Packaging Authority (PyPA) 提供的 PyPI 镜像工具。
- devpi - PyPI 服务器和打包/测试/发布工具。
- localshop - 本地 PyPI 服务器(自定义包和 pypi 的自动镜像)。
- 仓库- 下一代 Python 包存储库(PyPI)。
渗透测试
渗透测试的框架和工具。
权限
允许或拒绝用户访问数据或功能的库。
- django-guardian - Django 1.2+ 的每个对象权限的实现
- django-rules - 一个小巧但功能强大的应用程序,为 Django 提供对象级权限,无需数据库。
流程
用于启动和与操作系统进程通信的库。
- delegator.py - 人类 2.0 的子流程。
- sarge - 子进程的另一个包装器。
- sh - Python 的成熟子进程替代品。
推荐系统
用于构建推荐系统的库。
- annoy - 针对内存使用优化的 C++/Python 中的近似最近邻居。
- fastFM - 分解机库。
- 隐式- 用于隐式数据集的协作过滤的快速 Python 实现。
- libffm - 场感知因子分解机 (FFM) 库。
- lightfm - 许多流行推荐算法的 Python 实现。
- Spotlight - 使用 PyTorch 的深度推荐模型。
- Surprise - 用于构建和分析推荐系统的 scikit。
- tensorrec -TensorFlow中的推荐引擎框架。
重构
用于 Python 的重构工具和库
- Bicycle Repair Man - 自行车修理工,Python 的重构工具.
- Bowler - 现代 Python 的安全代码重构。
- Rope - Rope 是一个 python 重构库。
RESTful API
用于构建 RESTful API 的库。
- 姜戈
- django-rest-framework - 一个强大而灵活的工具包,用于构建 Web API。
- django-tastypie - 为 Django 应用程序创建美味的 API。
- 烧瓶
- eve - 由 Flask、MongoDB 和良好意图提供支持的 REST API 框架。
- flask-api - Flask 的可浏览 Web API。
- flask-restful - 为 Flask 快速构建 REST API。
- 金字塔
- 檐口- Pyramid 的 RESTful 框架。
- 框架不可知论
机器人技术
机器人库。
- PythonRobotics - 这是各种具有可视化的机器人算法的汇编。
- rospy - 这是 ROS(机器人操作系统)的库。
RPC 服务器
RPC 兼容的服务器。
- RPyC (Remote Python Call) - 用于 Python 的透明且对称的 RPC 库
- zeroRPC - zerorpc 是基于ZeroMQ和MessagePack的灵活 RPC 实现。
科学
用于科学计算的库。另请参阅Python-for-Scientists 。
- astropy - 一个用于天文学的社区 Python 库。
- bcbio-nextgen - 为全自动高通量测序分析提供最佳实践管道。
- bccb - 收集与生物分析相关的有用代码。
- Biopython - Biopython 是一套免费的生物计算工具。
- cclib - 一个用于解析和解释计算化学包结果的库。
- 颜色- 实现大量颜色理论转换和算法。
- Karate Club - 用于图形结构化数据的无监督机器学习工具箱。
- NetworkX - 用于复杂网络的高生产力软件。
- NIPY - 一组神经影像工具包。
- NumPy - 使用 Python 进行科学计算的基础包。
- ObsPy - 用于地震学的 Python 工具箱。
- Open Babel - 一个化学工具箱,旨在使用多种语言的化学数据。
- PyDy - Python Dynamics 的缩写,用于协助动态运动建模的工作流程。
- PyMC - 马尔可夫链蒙特卡罗采样工具包。
- QuTiP - Python 中的量子工具箱。
- RDKit - 化学信息学和机器学习软件。
- SciPy - 基于 Python 的数学、科学和工程开源软件生态系统。
- SimPy - 基于过程的离散事件模拟框架。
- statsmodels - Python 中的统计建模和计量经济学。
- SymPy - 用于符号数学的 Python 库。
- Zipline - Pythonic 算法交易库。
搜索
用于对数据进行索引和执行搜索查询的库和软件。
- django-haystack - Django 的模块化搜索。
- elasticsearch-dsl-py - Elasticsearch 的官方高级 Python 客户端。
- elasticsearch-py - Elasticsearch的官方低级 Python 客户端。
- pysolr - Apache Solr的轻量级 Python 包装器。
- whoosh - 一个快速、纯 Python 搜索引擎库。
序列化
用于序列化复杂数据类型的库
- marshmallow - 一个轻量级库,用于将复杂对象与简单的 Python 数据类型相互转换。
- pysimdjson - 用于simdjson的 Python 绑定。
- python-rapidjson - RapidJSON周围的 Python 包装器。
- ultrajson - 用 C 语言编写的带有 Python 绑定的快速 JSON 解码器和编码器。
无服务器框架
用于开发无服务器 Python 代码的框架。
- python-lambda - 用于在 AWS Lambda 中开发和部署 Python 代码的工具包。
- Zappa - 用于在 AWS Lambda 和 API Gateway 上部署 WSGI 应用程序的工具。
贝壳
基于 Python 的 shell。
- xonsh - 一种基于 Python 的、跨平台的、面向 Unix 的 shell 语言和命令提示符。
特定格式处理
用于解析和操作特定文本格式的库。
- 一般的
- tablib - XLS、CSV、JSON、YAML 格式的表格数据集模块。
- 办公室
- 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格式
- 降价
- Mistune - 最快且功能齐全的 Markdown 纯 Python 解析器。
- Python-Markdown - John Gruber 的 Markdown 的 Python 实现.
- YAML
- PyYAML - Python 的 YAML 实现。
- CSV
- csvkit - 用于转换和使用 CSV 的实用程序。
- 档案
- unp - 一个可以轻松解压档案的命令行工具。
静态站点生成器
静态站点生成器是一种软件,它以一些文本 + 模板作为输入并在输出中生成 HTML 文件。
- lektor - 一个易于使用的静态 CMS 和博客引擎。
- mkdocs - Markdown 友好的文档生成器。
- makesite - 简单、轻量级且无魔法的静态站点/博客生成器(< 130 行)。
- nikola - 一个静态网站和博客生成器。
- pelican - 支持 Markdown 和 reST 语法的静态站点生成器。
标记
用于标记项目的库。
- django-taggit - Django 的简单标记。
任务队列
用于处理任务队列的库。
- celery - 基于分布式消息传递的异步任务队列/作业队列。
- Dramatiq - 一个快速可靠的 Python 3 后台任务处理库。
- huey - 小的多线程任务队列。
- mrq - Python 中使用 Redis 和 gevent 的分布式工作任务队列。
- rq - Python 的简单作业队列。
模板引擎
用于模板和词法分析的库和工具。
测试
用于测试代码库和生成测试数据的库。
- 测试框架
- Hypothesis -Hypothesis是一个先进的 Quickcheck 风格的基于属性的测试库。
- 鼻子2 -
nose
的继任者,基于`unittest2。 - pytest - 成熟的全功能 Python 测试工具。
- Robot Framework - 一个通用的测试自动化框架。
- unittest - (Python 标准库)单元测试框架。
- 试跑者
- 图形用户界面/网络测试
- 嘲笑
- 对象工厂
- factory_boy - Python 的测试夹具替代品。
- 混合器- 另一个固定装置更换。支持 Django、Flask、SQLAlchemy、Peewee 等。
- model_mommy - 在 Django 中创建用于测试的随机夹具。
- 代码覆盖率
- 覆盖率- 代码覆盖率测量。
- 假数据
文本处理
用于解析和操作纯文本的库。
- 一般的
- chardet - Python 2/3 兼容的字符编码检测器。
- difflib - (Python 标准库)计算增量的助手。
- ftfy - 自动减少 Unicode 文本的损坏和更一致。
- blurwuzzy - 模糊字符串匹配。
- Levenshtein - 快速计算 Levenshtein 距离和字符串相似度。
- pangu.py - 偏执的文本间距。
- pyfiglet - 用 Python 编写的 figlet 实现。
- pypinyin - 将中文汉字(汉字)转换为拼音(拼音)。
- textdistance - 使用 30 多种算法计算序列之间的距离。
- unidecode - Unicode 文本的 ASCII 音译。
- 化身
- awesome-slugify - 一个可以保留 unicode 的 Python slugify 库。
- python-slugify - 将 unicode 转换为 ASCII 的 Python slugify 库。
- unicode-slugify - 一个以 Django 作为依赖项生成 unicode slug 的 slugifier。
- 唯一标识符
- 解析器
- ply - 用于 Python 的 lex 和 yacc 解析工具的实现。
- pygments - 一个通用的语法高亮。
- pyparsing - 用于生成解析器的通用框架。
- python-nameparser - 将人名解析为各自的组成部分。
- python-phonenumbers - 解析、格式化、存储和验证国际电话号码。
- python-user-agents - 浏览器用户代理解析器。
- sqlparse - 一个非验证 SQL 解析器。
第三方 API
用于访问第三方服务 API 的库。另请参阅Python API 包装器和库列表。
- apache-libcloud - 一个适用于所有云的 Python 库。
- boto3 - 亚马逊网络服务的 Python 接口。
- django-wordpress - Django 的 WordPress 模型和视图。
- facebook-sdk -Facebook平台 Python SDK。
- google-api-python-client - 适用于 Python 的 Google API 客户端库。
- gspread - 谷歌电子表格 Python API。
- twython - Twitter API 的 Python 包装器。
网址操作
用于解析 URL 的库。
- furl - 一个小型 Python 库,可以轻松解析和操作 URL。
- purl - 一个简单的、不可变的 URL 类,具有用于询问和操作的干净 API。
- pyshorteners - 一个纯 Python URL 缩短库。
- webargs - 一个友好的库,用于解析 HTTP 请求参数,内置支持流行的 Web 框架。
视频
用于处理视频和 GIF 的库。
- moviepy - 一个基于脚本的电影编辑模块,具有多种格式,包括动画 GIF。
- scikit-video - SciPy 的视频处理例程。
- vidgear - 最强大的多线程视频处理框架。
网络资产管理
用于管理、压缩和缩小网站资产的工具。
- django-compressor - 将链接和内联 JavaScript 或 CSS 压缩到单个缓存文件中。
- django-pipeline - Django 的资产打包库。
- django-storages - Django 自定义存储后端的集合。
- fanstatic - 将静态文件依赖项打包、优化和提供为 Python 包。
- fileconveyor - 检测文件并将文件同步到 CDN、S3 和 FTP 的守护进程。
- flask-assets - 帮助您将 webassets 集成到您的 Flask 应用程序中。
- webassets - 捆绑、优化和管理静态资源的唯一缓存破坏 URL。
网页内容提取
用于提取 Web 内容的库。
- html2text - 将 HTML 转换为 Markdown 格式的文本。
- lassie - 人类的 Web 内容检索。
- micawber - 一个用于从 URL 中提取丰富内容的小型库。
- 报纸- Python 中的新闻提取、文章提取和内容管理。
- python- readability - arc90 可读性工具的快速 Python 端口。
- requests-html - 人类的 Pythonic HTML 解析。
- sumy - 用于自动汇总文本文档和 HTML 页面的模块。
- textract - 从任何文档、Word、PowerPoint、PDF 等中提取文本。
- toapi - 每个网站都提供 API。
网络爬行
用于自动抓取网页的库。
- cola - 分布式爬虫框架。
- feedparser - 通用提要解析器。
- 抓取- 网站抓取框架。
- MechanicalSoup - 用于自动与网站交互的 Python 库。
- portia - Scrapy 的视觉抓取。
- pyspider - 一个强大的蜘蛛系统。
- robobrowser - 一个简单的 Pythonic 库,用于在没有独立 Web 浏览器的情况下浏览 Web。
- scrapy - 一个快速的高级屏幕抓取和网络抓取框架。
网络框架
传统的全栈 Web 框架。另请参阅RESTful API 。
- 同步
- 异步
- Tornado - 一个 Web 框架和异步网络库。
网络套接字
用于使用 WebSocket 的库。
- autobahn-python - Twisted 和asyncio上用于 Python 的 WebSocket 和 WAMP。
- 频道- Django 的开发人员友好的异步。
- websockets - 一个用于构建 WebSocket 服务器和客户端的库,专注于正确性和简单性。
WSGI 服务器
WSGI 兼容的网络服务器。
- bjoern - 异步,非常快,用 C 编写。
- gunicorn - 预分叉,移植自 Ruby 的 Unicorn 项目.
- uWSGI - 一个项目旨在开发用于构建托管服务的完整堆栈,用 C 编写。
- waitress - 多线程,为 Pyramid 提供动力。
- werkzeug - 一个用于 Python 的 WSGI 实用程序库,它为 Flask 提供支持,并且可以轻松地嵌入到您自己的项目中。
资源
在哪里可以发现学习资源或新的 Python 库。
图书
网站
- 教程
- 图书馆
- 其他
时事通讯
播客
贡献
随时欢迎您的贡献!请先查看 贡献指南。
如果我不确定这些库是否很棒,我会保留一些拉取请求,您可以通过添加 :+1: 来为它们投票。当投票数达到20时,拉取请求将被合并。
如果您对这个自以为是的列表有任何疑问,请随时在 Twitter 上与我联系@VintaChen或在 GitHub 上打开问题。