Awesome Python (精选的 Python 资源) Awesome
本项目是 vinta/awesome-python 的中文翻译版,旨在为中文开发者提供一份精选的 Python 框架、库、软件和资源列表。
- 原始项目: vinta/awesome-python
- 项目发起人: Vinta Chen
- 翻译状态: 本项目会尽力与原始项目保持同步。如果发现翻译不当或有待更新之处,欢迎提交 Issue 或 Pull Request。
一份精选的 Python 框架、库、软件和资源列表。
灵感来自 awesome-php。
- Awesome Python (精选的 Python 资源)
- 管理面板
- 算法和设计模式
- ASGI 服务器
- 异步编程
- 音频
- 认证
- 构建工具
- 内建类增强
- 缓存
- 聊天运维工具
- CMS
- 代码分析
- 命令行界面开发
- 命令行工具
- 计算机视觉
- 配置文件
- 密码学
- 数据分析
- 数据验证
- 数据可视化
- 数据库驱动
- 数据库
- 日期和时间
- 调试工具
- 深度学习
- DevOps 工具
- 分布式计算
- 分发
- 文档
- 下载器
- 编辑器插件和 IDE
- 电子邮件
- 环境管理
- 文件处理
- 函数式编程
- 游戏开发
- 地理位置
- GUI 开发
- 硬件
- HTML 处理
- HTTP 客户端
- 图像处理
- 实现
- 交互式解析器
- 国际化
- 任务调度
- 日志
- 机器学习
- 杂项
- 自然语言处理
- 网络虚拟化
- 新闻 Feed
- ORM
- 包管理
- 包仓库
- 渗透测试
- 权限
- 进程
- 推荐系统
- 重构
- RESTful API
- 机器人
- RPC 服务器
- 科学
- 搜索
- 序列化
- 无服务器框架
- Shell
- 特定格式处理
- 静态站点生成器
- 标注
- 任务队列
- 模板引擎
- 测试
- 文本处理
- 第三方 API
- URL 处理
- 视频
- Web 资源管理
- Web 内容提取
- Web 爬虫
- Web 框架
- WebSocket
- WSGI 服务器
- 资源
- 贡献
用于管理界面的库。
- ajenti - 你的服务器应得的管理面板。
- django-grappelli - Django Admin 界面的一个时髦皮肤。
- flask-admin - Flask 的一个简单且可扩展的管理界面框架。
- flower - Celery 的实时监控和 Web 管理界面。
- jet-bridge - 适用于任何应用程序的管理面板框架,拥有漂亮的 UI(例如 Jet Django)。
- wooey - 一个 Django 应用,可为 Python 脚本创建自动的 Web UI。
- streamlit - 一个让你在几分钟内构建仪表板、生成报告或创建聊天应用的框架。
数据结构、算法和设计模式的 Python 实现。另见 awesome-algorithms。
- 算法
- algorithms - 数据结构和算法的最小示例。
- python-ds - 用于编码面试的数据结构和算法集合。
- sortedcontainers - 快速、纯 Python 实现的有序集合。
- thealgorithms - 所有用 Python 实现的算法。
- 设计模式
- pypattyrn - 一个简单而有效的库,用于实现常见的设计模式。
- python-patterns - Python 中的设计模式集合。
- transitions - 一个轻量级、面向对象的有限状态机实现。
兼容 ASGI 的 Web 服务器。
- daphne - 用于 ASGI 和 ASGI-HTTP 的 HTTP、HTTP2 和 WebSocket 协议服务器。
- uvicorn - 一个快如闪电的 ASGI 服务器实现,基于 uvloop 和 httptools。
- hypercorn - 一个基于 Hyper 库并受 Gunicorn 启发的 ASGI 和 WSGI 服务器。
用于异步、并发和并行执行的库。另见 awesome-asyncio。
- asyncio - (Python 标准库) 异步 I/O、事件循环、协程和任务。
- concurrent.futures - (Python 标准库) 用于异步执行可调用对象的高级接口。
- multiprocessing - (Python 标准库) 基于进程的并行。
- trio - 一个友好的异步并发和 I/O 库。
- twisted - 一个事件驱动的网络引擎。
- uvloop - 超快速的 asyncio 事件循环。
- eventlet - 支持 WSGI 的异步框架。
- gevent - 一个基于协程的 Python 网络库,使用 greenlet。
用于处理音频及其元数据的库。
- 音频
- audioread - 跨库(GStreamer + Core Audio + MAD + FFmpeg)音频解码。
- audioFlux - 一个用于音频和音乐分析、特征提取的库。
- dejavu - 音频指纹识别。
- kapre - Keras 音频预处理器。
- librosa - 用于音频和音乐分析的 Python 库。
- matchering - 一个用于自动参考音频母带处理的库。
- mingus - 一个高级音乐理论和记谱包,支持 MIDI 文件和播放。
- pyaudioanalysis - 音频特征提取、分类、分割和应用。
- pydub - 通过简单易用的高级接口处理音频。
- timeside - 开放的 Web 音频处理框架。
- 元数据
- beets - 音乐库管理器和 MusicBrainz 标签器。
- eyed3 - 一个处理音频文件(特别是包含 ID3 元数据的 MP3 文件)的工具。
- mutagen - 一个处理音频元数据的 Python 模块。
- tinytag - 一个用于读取 MP3、OGG、FLAC 和 Wave 文件元数据的库。
用于实现认证方案的库。
- OAuth
- authlib - JavaScript 对象签名和加密草案的实现。
- django-allauth - Django 的认证应用,"即插即用"。
- django-oauth-toolkit - 用于 Django 的 OAuth 2 工具。
- oauthlib - OAuth 请求签名逻辑的通用、完整实现。
- JWT
- pyjwt - Python 中的 JSON Web Token 实现。
- python-jose - Python 中的 JOSE 实现。
从源代码编译软件。
- bitbake - 用于嵌入式 Linux 的类似 make 的构建工具。
- buildout - 一个用于从多个部分创建、组装和部署应用程序的构建系统。
- platformio - 一个使用不同开发平台构建代码的控制台工具。
- pybuilder - 一个用纯 Python 编写的持续构建工具。
- scons - 一个软件构建工具。
用于增强 Python 内建类的库。
- attrs - 替换类定义中的
__init__、__eq__、__repr__等样板代码。 - bidict - 高效、Pythonic 的双向映射数据结构和相关功能。
- box - 具有高级点符号访问的 Python 字典。
- dataclasses - (Python 标准库) 数据类。
- dotteddict - 一个提供用点路径表示法访问列表和字典的库。
内容管理系统。
用于缓存数据的库。
- beaker - 用于会话和缓存的 WSGI 中间件。
- django-cache-machine - Django 模型的自动缓存和失效。
- django-cacheops - 具有自动粒度事件驱动失效功能的 slick ORM 缓存。
- dogpile.cache - dogpile.cache 是由 Beaker 的同一作者创建的下一代替代品。
- hermescache - 具有基于标签的失效和 dogpile 效应预防功能的 Python 缓存库。
- pylibmc - libmemcached 接口的 Python 包装器。
- python-diskcache - SQLite 和文件支持的缓存后端,查找速度比 memcached 和 redis 更快。
用于聊天机器人开发的库。
- errbot - 实现 ChatOps 的最简单、最流行的聊天机器人。
静态分析、linter 和代码质量检查工具。另见 awesome-static-analysis。
- 代码分析
- code2flow - 将你的 Python 和 JavaScript 代码转换为 DOT 流程图。
- prospector - 一个分析 Python 代码的工具。
- vulture - 一个用于查找和分析死代码的工具。
- 代码 Linter
- 代码格式化器
- 静态类型检查器,另见 awesome-python-typing
- mypy - 在编译时检查变量类型。
- pyre-check - 高性能的类型检查。
- typeshed - Python 库的存根集合,带有静态类型。
- 静态类型注解生成器
- monkeytype - 一个通过收集运行时类型来生成静态类型注解的 Python 系统。
- pytype - Pytype 检查并推断 Python 代码的类型 - 无需类型注解。
用于构建命令行应用程序的库。
- 命令行应用开发
- cement - Python 的 CLI 应用框架。
- click - 一个用于以可组合方式创建漂亮命令行界面的包。
- cliff - 一个用于创建具有多级命令的命令行程序的框架。
- 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 输出中选择文件。
- thefuck - 纠正你之前的控制台命令。
- tmuxp - 一个 tmux 会话管理器。
- try - 一个极其简单的 CLI,用于尝试 python 包 - 从未如此简单。
- CLI 增强
用于计算机视觉的库。
- easyocr - 支持 40 多种语言的即用型 OCR。
- kornia - 用于 PyTorch 的开源可微计算机视觉库。
- opencv - 开源计算机视觉库。
- pytesseract - Google Tesseract OCR 的包装器。
- tesserocr - 另一个简单、Pillow 友好的
tesseract-ocrAPI 包装器,用于 OCR。
用于存储和解析配置选项的库。
- configparser - (Python 标准库) INI 文件解析器。
- configobj - 具有验证功能的 INI 文件解析器。
- hydra - Hydra 是一个用于优雅配置复杂应用程序的框架。
- python-decouple - 将设置与代码严格分离。
- cryptography - 一个旨在向 Python 开发人员公开加密原语和配方的包。
- paramiko - 领先的本地 Python SSHv2 协议库。
- pynacl - 网络和密码学 (NaCl) 库的 Python 绑定。
用于数据分析的库。
- pandas - 一个提供高性能、易于使用的数据结构和数据分析工具的库。
- aws-sdk-pandas - AWS 上的 Pandas。
- datasette - 一个用于探索和发布数据的开源多功能工具。
- optimus - 使用 PySpark 简化敏捷数据科学工作流。
用于验证数据的库。在许多情况下用于表单。
- cerberus - 一个轻量级且可扩展的数据验证库。
- colander - 验证和反序列化通过 XML、JSON、HTML 表单 post 获取的数据。
- jsonschema - JSON Schema 的 Python 实现。
- schema - 一个用于验证 Python 数据结构的库。
- schematics - 数据结构验证。
- voluptuous - 一个 Python 数据验证库。
- pydantic - 使用 Python 类型提示进行数据验证。
用于可视化数据的库。另见 awesome-javascript。
- altair - Python 的声明式统计可视化库。
- bokeh - Python 的交互式 Web 绘图。
- bqplot - Jupyter Notebook 的交互式绘图库。
- cartopy - 支持 matplotlib 的制图 Python 库。
- diagrams - 代码即图表。
- matplotlib - 一个 Python 2D 绘图库。
- plotnine - 基于 ggplot2 的 Python 图形语法。
- pygal - 一个 Python SVG 图表创建器。
- pygraphviz - Graphviz 的 Python 接口。
- pyqtgraph - 交互式和实时 2D/3D/图像绘图和科学/工程小部件。
- seaborn - 使用 Matplotlib 进行统计数据可视化。
- vispy - 基于 OpenGL 的高性能科学可视化。
用 Python 实现的数据库。
用于连接和操作数据库的库。
- MySQL - awesome-mysql
- mysqlclient - 支持 Python 3 的 MySQL 连接器 (mysql-python 的分支)。
- pymysql - 与 mysql-python 兼容的纯 Python MySQL 驱动程序。
- PostgreSQL - awesome-postgres
- psycopg - Python 最流行的 PostgreSQL 适配器。
- SQlite - awesome-sqlite
- sqlite3 - (Python 标准库) 符合 DB-API 2.0 的 SQlite 接口。
- sqlite-utils - 用于操作 SQLite 数据库的 Python CLI 工具和库。
- 其他关系型数据库
- pymssql - Microsoft SQL Server 的简单数据库接口。
- clickhouse-driver - 具有 ClickHouse 本机接口的 Python 驱动程序。
- NoSQL 数据库
- cassandra-driver - Apache Cassandra 的 Python 驱动程序。
- happybase - 一个对开发人员友好的 Apache HBase 库。
- kafka-python - Apache Kafka 的 Python 客户端。
- pymongo - MongoDB 的官方 Python 客户端。
- motor - MongoDB 的异步 Python 驱动程序。
- redis-py - Redis 的 Python 客户端。
用于处理日期和时间的库。
- arrow - 一个 Python 库,提供了一种明智且人性化的方法来创建、操作、格式化和转换日期、时间和时间戳。
- dateutil - 标准 Python datetime 模块的扩展。
- pendulum - Python 日期时间变得简单。
- pytz - 世界时区定义,现代和历史。将 tz database 引入 Python。
用于调试代码的库。
- pdb 类调试器
- 跟踪
- manhole - 调试 UNIX 套接字连接,并显示所有线程的堆栈跟踪和交互式提示。
- python-hunter - 一个灵活的代码跟踪工具包。
- 分析器
- 其他
- django-debug-toolbar - 显示 Django 的各种调试信息。
- flask-debugtoolbar - django-debug-toolbar 到 flask 的移植。
- icecream - 通过一个简单的函数调用检查变量、表达式和程序执行。
- pyelftools - 解析和分析 ELF 文件和 DWARF 调试信息。
神经网络和深度学习框架。另见 awesome-deep-learning。
- keras - 一个高级神经网络库,能够运行在 TensorFlow 或 Theano 之上。
- pytorch - Python 中的张量和动态神经网络,具有强大的 GPU 加速。
- pytorch-lightning - 深度学习框架,用于快速训练、部署和交付 AI 产品。
- stable-baselines3 - PyTorch 实现的 Stable Baselines(深度)强化学习算法。
- tensorflow - Google 创建的最流行的深度学习框架。
- theano - 一个用于快速数值计算的库。
用于 DevOps 的软件和库。
- 配置管理
- SSH-style 部署
- 进程管理
- supervisor - UNIX 的 Supervisor 进程控制系统。
- 监控
- psutil - 一个跨平台的进程和系统实用程序模块。
- 备份
- borg - 一个具有压缩和加密功能的重复数据删除归档器。
用于分布式计算的框架和库。
- 批处理
- dask - 一个用于分析计算的灵活并行计算库。
- luigi - 一个帮助您构建复杂批处理作业管道的模块。
- PySpark - Apache Spark Python API。
- Ray - 一个用于并行和分布式 Python 的系统,统一了机器学习生态系统。
- 流处理
- faust - 一个流处理库,将 Kafka Streams 的思想移植到 Python。
- streamparse - 通过 Apache Storm 对实时数据流运行 Python 代码。
用于创建打包可执行文件以进行发布分发的库。
- py2app - 冻结 Python 脚本 (Mac OS X)。
- py2exe - 冻结 Python 脚本 (Windows)。
- pyarmor - 一个用于混淆 Python 脚本、将混淆脚本绑定到固定机器或使混淆脚本过期的工具。
- pyinstaller - 将 Python 程序转换为独立可执行文件(跨平台)。
- shiv - 一个用于构建完全自包含的 zipapps (PEP 441) 的命令行工具,但包含所有依赖项。
用于生成项目文档的库。
用于下载的库。
- akshare - 一个金融数据接口库,为人而生!
- s3cmd - 一个用于管理 Amazon S3 和 CloudFront 的命令行工具。
- youtube-dl - 一个用于从 YouTube 和其他视频网站下载视频的命令行程序。
- Emacs
- elpy - Emacs Python 开发环境。
- Vim
- jedi-vim - Python 的 Jedi 自动补全库的 Vim 绑定。
- python-mode - 一个将 Vim 转换为 Python IDE 的一体化插件。
- YouCompleteMe - 包含基于 Jedi 的 Python 补全引擎。
- Visual Studio
- PTVS - Visual Studio 的 Python 工具。
- Visual Studio Code
- Python - 官方 VSCode 扩展,对 Python 提供丰富的支持。
- IDE
用于发送和解析电子邮件的库。
- 邮件服务器
- 客户端
- 其他
用于 Python 版本和虚拟环境管理的库。
- pyenv - 简单的 Python 版本管理。
- virtualenv - 一个创建隔离 Python 环境的工具。
用于文件操作的库。
- mimetypes - (Python 标准库) 将文件名映射到 MIME 类型。
- pathlib - (Python 标准库) 一个跨平台、面向对象的路径库。
- path.py - os.path 的模块包装器。
- python-magic - libmagic 文件类型识别库的 Python 接口。
- watchdog - 监视文件系统事件的 API 和 shell 实用程序。
Python 的函数式编程。
- coconut - Python 的一个变体,专为简单、优雅、Pythonic 的函数式编程而构建。
- funcy - 一组精巧实用的函数式工具。
- more-itertools - 更多用于操作可迭代对象的例程,超越
itertools。 - returns - 一组类型安全的单子、转换器和组合实用程序。
- cytoolz -
Toolz的 Cython 实现:高性能函数式实用程序。 - toolz - 迭代器、函数和字典的函数式实用程序集合。
用于 GUI 应用程序开发的库。
- curses - 用于创建终端 GUI 应用程序的内置 ncurses 包装器。
- Eel - 一个用于制作简单的类似 Electron 的离线 HTML/JS GUI 应用程序的库。
- enaml - 使用类似 QML 的声明性语法创建漂亮的 UI。
- Flexx - Flexx 是一个纯 Python 工具包,用于创建 GUI,它使用 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 框架。
用于处理 GraphQL 的库。
- graphene - Python 的 GraphQL 框架。
优秀的游戏开发库。
- 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 - 一个视觉小说引擎。
用于地理编码地址和处理纬度和经度的库。
- django-countries - 一个为模型和表单提供国家/地区字段的 Django 应用程序。
- geodjango - 一个世界级的地理 Web 框架。
- geojson - GeoJSON 的 Python 绑定和实用程序。
- geopy - Python 地理编码工具箱。
用于处理 HTML 和 XML 的库。
-
beautifulsoup - 为 HTML 或 XML 的迭代、搜索和修改提供 Pythonic 习语。
-
bleach - 一个基于白名单的 HTML 清理和文本链接库。
-
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 的库。
- httpx - Python 的下一代 HTTP 客户端。
- requests - 面向人类的 HTTP 请求。
- treq - 基于 Twisted 的 HTTP 客户端构建的类似 Python requests 的 API。
- urllib3 - 一个带有线程安全连接池、文件上传支持、易于使用的 HTTP 库。
用于硬件编程的库。
- keyboard - 在 Windows 和 Linux 上挂钩和模拟全局键盘事件。
- mouse - 在 Windows 和 Linux 上挂钩和模拟全局鼠标事件。
- pynput - 一个控制和监视输入设备的库。
- scapy - 一个出色的数据包操作库。
用于处理图像的库。
- pillow - Pillow 是友好的 PIL 分支。
- python-barcode - 在 Python 中创建条形码,无需额外依赖。
- pymatting - 一个用于 alpha matting 的库。
- python-qrcode - 一个纯 Python 二维码生成器。
- pywal - 一个从图像生成配色方案的工具。
- pyvips - 一个快速图像处理库,内存需求低。
- quads - 基于四叉树的计算机艺术。
- scikit-image - 一个用于(科学)图像处理的 Python 库。
- thumbor - 一个智能图像服务。它支持按需裁剪、调整大小和翻转图像。
- wand - MagickWand 的 Python 绑定,ImageMagick 的 C API。
Python 的实现。
- cpython - 用 C 编写的 Python 编程语言的默认、最广泛使用的实现。
- cython - Python 的优化静态编译器。
- clpython - 用 Common Lisp 编写的 Python 编程语言实现。
- ironpython - 用 C# 编写的 Python 编程语言实现。
- micropython - 一个精简高效的 Python 编程语言实现。
- numba - 面向科学 Python 的 LLVM Python JIT 编译器。
- peachpy - 嵌入在 Python 中的 x86-64 汇编器。
- pypy - 一个非常快速且符合标准的 Python 语言实现。
- pyston - 一个使用 JIT 技术的 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 中提供轻量级流水线的工具。
- Plan - 用 Python 编写 crontab 文件,如鱼得水。
- Prefect - 一个现代化的工作流编排框架,可以轻松构建、安排和监控健壮的数据管道。
- schedule - Python 人性化任务调度。
- Spiff - 一个用纯 Python 实现的强大的工作流引擎。
- TaskFlow - 一个帮助使任务执行变得简单、一致和可靠的 Python 库。
用于生成和处理日志的库。
- logbook - Python 的日志记录替代品。
- logging - (Python 标准库) Python 的日志记录工具。
- loguru - 旨在为 Python 带来愉快的日志记录体验的库。
- sentry-python - Sentry SDK for Python。
- 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 层,可让您使用标准查询轻松开发、训练和部署最先进的机器学习模型。
在 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 构建新闻 Feed 和通知系统。
实现对象关系映射或数据映射技术的库。
- 关系型数据库
- Django Models - Django ORM。
- SQLAlchemy - Python SQL 工具包和对象关系映射器。
- dataset - 将 Python 字典存储在数据库中 - 适用于 SQLite、MySQL 和 PostgreSQL。
- orator - Orator ORM 提供了一个简单而优美的 ActiveRecord 实现。
- orm - 一个异步 ORM。
- peewee - 一个小巧、富有表现力的 ORM。
- pony - 提供面向生成器的 SQL 接口的 ORM。
- pydal - 一个纯 Python 数据库抽象层。
- NoSQL 数据库
- hot-redis - 用于 Redis 的丰富 Python 数据类型。
- mongoengine - 用于处理 MongoDB 的 Python 对象文档映射器。
- PynamoDB - Amazon DynamoDB 的 Pythonic 接口。
- redisco - 用于持久化在 Redis 中的简单模型和容器的 Python 库。
用于包和依赖管理的库。
本地 PyPI 仓库服务器和代理。
- bandersnatch - Python 打包管理局 (PyPA) 提供的 PyPI 镜像工具。
- devpi - PyPI 服务器和打包/测试/发布工具。
- localshop - 本地 PyPI 服务器(自定义包和 pypi 的自动镜像)。
- warehouse - 下一代 Python 包仓库 (PyPI)。
用于渗透测试的框架和工具。
允许或拒绝用户访问数据或功能的库。
- django-guardian - Django 1.2+ 的每个对象权限的实现。
- django-rules - 一个小巧但功能强大的应用程序,为 Django 提供对象级权限,无需数据库。
用于启动和与 OS 进程通信的库。
- delegator.py - 面向人类的 Subprocesses 2.0。
- sarge - 子进程的又一个包装器。
- sh - Python 的一个功能齐全的子进程替代品。
用于构建推荐系统的库。
- annoy - C++/Python 中的近似最近邻,针对内存使用进行了优化。
- fastFM - 一个用于分解机的库。
- implicit - 用于隐式数据集的协同过滤的快速 Python 实现。
- libffm - 一个用于字段感知分解机 (FFM) 的库。
- lightfm - 多种流行推荐算法的 Python 实现。
- spotlight - 使用 PyTorch 的深度推荐模型。
- Surprise - 一个用于构建和分析推荐系统的 scikit。
- tensorrec - TensorFlow 中的推荐引擎框架。
Python 的重构工具和库
- Bicycle Repair Man - Bicycle Repair Man,一个 Python 的重构工具。
- Bowler - 现代 Python 的安全代码重构。
- Rope - Rope 是一个 python 重构库。
用于构建 RESTful API 的库。
- Django
- django-rest-framework - 一个强大而灵活的构建 Web API 的工具包。
- django-tastypie - 为 Django 应用程序创建美味的 API。
- Flask
- eve - 由 Flask、MongoDB 和良好意图驱动的 REST API 框架。
- flask-api - 用于 Flask 的可浏览 Web API。
- flask-restful - 为 Flask 快速构建 REST API。
- Pyramid
- cornice - Pyramid 的 RESTful 框架。
- 框架无关
用于机器人的库。
- PythonRobotics - 这是各种机器人算法及其可视化的汇编。
- rospy - 这是 ROS(机器人操作系统)的库。
兼容 RPC 的服务器。
- RPyC (Remote Python Call) - 一个用于 Python 的透明、对称的 RPC 库。
- zeroRPC - zerorpc 是一个基于 ZeroMQ 和 MessagePack 的灵活 RPC 实现。
用于科学计算的库。另见 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 中的量子工具箱。
- 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 编写的快速 JSON 解码器和编码器,带有 Python 绑定。
用于开发无服务器 Python 代码的框架。
- python-lambda - 用于在 AWS Lambda 中开发和部署 Python 代码的工具包。
- Zappa - 一个用于在 AWS Lambda 和 API Gateway 上部署 WSGI 应用程序的工具。
基于 Python 的 Shell。
- xonsh - 一个由 Python 驱动的、跨平台的、类 Unix 的 shell 语言和命令提示符。
用于解析和操作特定文本格式的库。
- 通用
- tablib - 一个用于 XLS、CSV、JSON、YAML 中表格数据集的模块。
- Office
- docxtpl - 通过 jinja2 模板编辑 docx 文档。
- openpyxl - 一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。
- pyexcel - 提供一个 API 用于读取、操作和写入 csv、ods、xls、xlsx 和 xlsm 文件。
- 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.six - Pdfminer.six 是原始 PDFMiner 的社区维护分支。
- PyPDF2 - 一个能够拆分、合并和转换 PDF 页面的库。
- ReportLab - 允许快速创建丰富的 PDF 文档。
- Markdown
- Mistune - 最快、功能最全的纯 Python Markdown 解析器。
- 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 - 一个使用 Redis 和 gevent 在 Python 中实现的分布式工作任务队列。
- rq - Python 的简单作业队列。
用于模板和词法分析的库和工具。
用于测试代码库和生成测试数据的库。
- 测试框架
- hypothesis - Hypothesis 是一个高级的 Quickcheck 风格的基于属性的测试库。
- nose2 -
nose的继任者,基于unittest2。 - pytest - 一个成熟、功能齐全的 Python 测试工具。
- Robot Framework - 一个通用的测试自动化框架。
- unittest - (Python 标准库) 单元测试框架。
- 测试运行器
- GUI / Web 测试
- Mock
- doublex - 强大的 Python 测试替身框架。
- freezegun - 通过 mock datetime 模块来穿越时空。
- httmock - 用于 Python 2.6+ 和 3.2+ 的 requests 的 mock 库。
- httpretty - Python 的 HTTP 请求 mock 工具。
- mock - (Python 标准库) 一个 mock 和 patching 库。
- mocket - 支持 gevent/asyncio/SSL 的套接字 mock 框架。
- responses - 一个用于 mock requests Python 库的实用程序库。
- VCR.py - 在您的测试中记录和重播 HTTP 交互。
- 对象工厂
- factory_boy - Python 的测试固件替代品。
- mixer - 另一个固件替代品。支持 Django、Flask、SQLAlchemy、Peewee 等。
- model_mommy - 在 Django 中为测试创建随机固件。
- 代码覆盖率
- coverage - 代码覆盖率测量。
- 伪数据
用于解析和操作纯文本的库。
- 通用
- chardet - 兼容 Python 2/3 的字符编码检测器。
- difflib - (Python 标准库) 用于计算增量的辅助工具。
- ftfy - 自动使 Unicode 文本减少损坏并更加一致。
- fuzzywuzzy - 模糊字符串匹配。
- Levenshtein - 快速计算 Levenshtein 距离和字符串相似度。
- pangu.py - 偏执的文本间距。
- pyfiglet - 用 Python 编写的 figlet 实现。
- pypinyin - 将汉字转换为拼音。
- textdistance - 使用 30 多种算法计算序列之间的距离。
- unidecode - Unicode 文本的 ASCII 音译。
- Slugify
- 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 的库。另见 List of Python API Wrappers and Libraries。
- apache-libcloud - 一个适用于所有云的 Python 库。
- boto3 - 亚马逊网络服务的 Python 接口。
- django-wordpress - Django 的 WordPress 模型和视图。
- facebook-sdk - Facebook Platform Python SDK。
- google-api-python-client - 用于 Python 的 Google API 客户端库。
- gspread - Google Spreadsheets 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 中提取丰富内容的小型库。
- newspaper - Python 中的新闻提取、文章提取和内容策划。
- python-readability - arc90 的 readability 工具的快速 Python 移植。
- requests-html - 面向人类的 Pythonic HTML 解析。
- sumy - 一个用于自动摘要文本文档和 HTML 页面的模块。
- textract - 从任何文档(Word、PowerPoint、PDF 等)中提取文本。
- toapi - 每个网站都提供 API。
用于自动化 Web 抓取的库。
- feedparser - 通用 feed 解析器。
- grab - 网站抓取框架。
- mechanicalsoup - 一个用于自动化与网站交互的 Python 库。
- scrapy - 一个快速的高级屏幕抓取和 Web 爬虫框架。
传统的全栈 Web 框架。另见 RESTful API。
- 同步
- 异步
- tornado - 一个 Web 框架和异步网络库。
用于处理 WebSocket 的库。
- autobahn-python - 用于 Twisted 和 asyncio 上的 Python 的 WebSocket 和 WAMP。
- channels - Django 的开发人员友好的异步。
- websockets - 一个用于构建 WebSocket 服务器和客户端的库,注重正确性和简单性。
兼容 WSGI 的 Web 服务器。
- gunicorn - 预分叉,从 Ruby 的 Unicorn 项目移植而来。
- uwsgi - 一个旨在开发用于构建托管服务的完整堆栈的项目,用 C 编写。
- waitress - 多线程,为 Pyramid 提供支持。
- werkzeug - Python 的 WSGI 实用程序库,为 Flask 提供支持,并且可以轻松嵌入到您自己的项目中。
发现学习资源或新的 Python 库的地方。
随时欢迎您的贡献!请先阅读本项目的贡献指南。
如果您对此列表有任何疑问,请随时在 Twitter 上联系我 @VintaChen 或在 GitHub 上提出问题。