Skip to content

Awesome Python Awesome

来源: https://github.com/vinta/awesome-python

一份精选的 Python 框架、库、软件和资源列表。

灵感来源于 awesome-php


管理面板 (Admin Panels)

用于管理界面的库。

  • ajenti - 你的服务器值得拥有的管理面板。
  • django-grappelli - Django Admin-Interface 的一个炫酷皮肤。
  • flask-admin - 用于 Flask 的简单且可扩展的管理界面框架。
  • flower - Celery 的实时监控和 Web 管理界面。
  • jet-bridge - 适用于任何具有漂亮 UI 的应用程序的管理面板框架 (例如 Jet Django)。
  • wooey - 一个能为 Python 脚本自动创建 Web UI 的 Django 应用。
  • streamlit - 一个能让你在几分钟内构建仪表盘、生成报告或创建聊天应用的框架。

算法与设计模式 (Algorithms and Design Patterns)

数据结构、算法和设计模式的 Python 实现。另请参阅 awesome-algorithms

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

ASGI 服务器 (ASGI Servers)

ASGI 兼容的 Web 服务器。

  • daphne - 一个用于 ASGI 和 ASGI-HTTP 的 HTTP、HTTP2 和 WebSocket 协议服务器。
  • uvicorn - 一个基于 uvloop 和 httptools 实现的闪电般快速的 ASGI 服务器。
  • hypercorn - 一个基于 Hyper 库并受 Gunicorn 启发的 ASGI 和 WSGI 服务器。

异步编程 (Asynchronous Programming)

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

  • asyncio - (Python 标准库) 异步 I/O、事件循环、协程和任务。
  • concurrent.futures - (Python 标准库) 一个用于异步执行可调用对象的高级接口。
  • multiprocessing - (Python 标准库) 基于进程的并行。
  • trio - 一个友好的异步并发和 I/O 库。
  • twisted - 一个事件驱动的网络引擎。
  • uvloop - 超快速的 asyncio 事件循环。
  • eventlet - 支持 WSGI 的异步框架。
  • gevent - 一个基于协程的 Python 网络库,使用 greenlet

音频 (Audio)

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

  • 音频
    • 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 文件音乐元数据的库。

认证 (Authentication)

用于实现认证方案的库。

  • OAuth
    • authlib - JavaScript 对象签名和加密草案的实现。
    • django-allauth - “开箱即用” 的 Django 认证应用。
    • django-oauth-toolkit - 用于 Django 的 OAuth 2 工具。
    • oauthlib - 一个通用且完整的 OAuth 请求签名逻辑实现。
  • JWT
    • pyjwt - Python 中的 JSON Web Token 实现。
    • python-jose - Python 中的 JOSE 实现。

构建工具 (Build Tools)

从源代码编译软件。

  • bitbake - 一个类似 make 的嵌入式 Linux 构建工具。
  • buildout - 用于从多个部分创建、组装和部署应用程序的构建系统。
  • platformio - 一个用于通过不同开发平台构建代码的控制台工具。
  • pybuilder - 一个用纯 Python 编写的持续构建工具。
  • scons - 一款软件构建工具。

内置类增强 (Built-in Classes Enhancement)

用于增强 Python 内置类的库。

  • attrs - 替代类定义中 __init____eq____repr__ 等的样板代码。
  • bidict - 高效、Pythonic 的双向映射数据结构和相关功能。
  • box - 支持高级点符号访问的 Python 字典。
  • dataclasses - (Python 标准库) 数据类。
  • dotteddict - 一个提供通过点路径表示法访问列表和字典的库。

内容管理系统 (CMS)

内容管理系统。

  • feincms - 基于 Django 构建的最先进的内容管理系统之一。
  • indico - 一个功能丰富的事件管理系统,由 CERN 制作。
  • wagtail - 一个 Django 内容管理系统。

缓存 (Caching)

用于缓存数据的库。

  • 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 工具 (ChatOps Tools)

用于聊天机器人开发的库。

  • errbot - 最简单且最流行的聊天机器人,用于实现 ChatOps。

代码分析 (Code Analysis)

静态分析、linter 和代码质量检查工具。另请参阅 awesome-static-analysis

  • 代码分析
    • code2flow - 将你的 Python 和 JavaScript 代码转换为 DOT 流程图。
    • prospector - 一个分析 Python 代码的工具。
    • vulture - 一个用于查找和分析无用 Python 代码的工具。
  • 代码 Linter
    • flake8 - 对 pycodestylepyflakes 和 McCabe 的封装。
    • pylint - 一个完全可定制的源代码分析器。
    • ruff - 一个极速的 Python linter 和代码格式化工具。
  • 代码格式化
    • black - 不妥协的 Python 代码格式化工具。
    • isort - 一个用于排序导入的 Python 工具/库。
    • yapf - 来自 Google 的又一个 Python 代码格式化工具。
  • 静态类型检查,另请参阅 awesome-python-typing
    • mypy - 在编译时检查变量类型。
    • pyre-check - 高性能的类型检查。
    • typeshed - 带有静态类型的 Python 库 stub 集合。
  • 静态类型注解生成器
    • monkeytype - 一个通过收集运行时类型来为 Python 生成静态类型注解的系统。
    • pytype - Pytype 可以在不需要类型注解的情况下,为 Python 代码检查并推断类型。

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

用于构建命令行应用的库。

  • 命令行应用开发
    • cement - Python 的 CLI 应用框架。
    • click - 一个以可组合方式创建优美命令行界面的包。
    • cliff - 一个用于创建多级命令的命令行程序的框架。
    • python-fire - 一个可以从任何 Python 对象创建命令行界面的库。
    • python-prompt-toolkit - 一个用于构建强大交互式命令行的库。
  • 终端渲染
    • alive-progress - 一种新型的进度条,具有实时吞吐量、预计完成时间和非常酷的动画。
    • asciimatics - 一个创建全屏文本 UI 的包(从交互式表单到 ASCII 动画)。
    • bashplotlib - 在终端中制作基本绘图。
    • colorama - 跨平台的彩色终端文本。
    • rich - 用于在终端中显示富文本和优美格式的 Python 库。还提供了一个出色的 RichHandler 日志处理器。
    • tqdm - 用于循环和 CLI 的快速、可扩展的进度条。

命令行工具 (Command-line Tools)

用于提高生产力的有用 CLI 工具。

  • 生产力工具
    • copier - 一个用于渲染项目模板的库和命令行工具。
    • cookiecutter - 一个从 cookiecutters (项目模板) 创建项目的命令行工具。
    • doitlive - 一个用于在终端中进行现场演示的工具。
    • howdoi - 通过命令行即时获得编码答案。
    • invoke - 一个用于管理面向 shell 的子进程并将可执行 Python 代码组织成 CLI 可调用任务的工具。
    • pathpicker - 从 bash 输出中选择文件。
    • thefuck - 修正你上一条控制台命令。
    • tmuxp - 一个 tmux 会话管理器。
    • try - 一个极其简单的 CLI,用于尝试 Python 包——从未如此简单。
  • CLI 增强
    • httpie - 一个命令行 HTTP 客户端,是 cURL 的用户友好型替代品。
    • iredis - 具有自动补全和语法高亮的 Redis CLI。
    • litecli - 具有自动补全和语法高亮的 SQLite CLI。
    • mycli - 具有自动补全和语法高亮的 MySQL CLI。
    • pgcli - 具有自动补全和语法高亮的 PostgreSQL CLI。

计算机视觉 (Computer Vision)

用于计算机视觉的库。

  • easyocr - 开箱即用的 OCR,支持 40 多种语言。
  • kornia - 用于 PyTorch 的开源可微分计算机视觉库。
  • opencv - 开源计算机视觉库。
  • pytesseract - Google Tesseract OCR 的一个封装。
  • tesserocr - 另一个简单、对 Pillow 友好的 tesseract-ocr API 封装,用于 OCR。

配置文件 (Configuration Files)

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

  • configparser - (Python 标准库) INI 文件解析器。
  • configobj - 带验证的 INI 文件解析器。
  • hydra - Hydra 是一个用于优雅配置复杂应用程序的框架。
  • python-decouple - 将设置与代码严格分离。

密码学 (Cryptography)

  • cryptography - 一个旨在向 Python 开发者公开加密原语和配方的包。
  • paramiko - 领先的原生 Python SSHv2 协议库。
  • pynacl - 网络和密码学 (NaCl) 库的 Python 绑定。

数据分析 (Data Analysis)

用于数据分析的库。

  • pandas - 提供高性能、易于使用的数据结构和数据分析工具的库。
  • aws-sdk-pandas - AWS 上的 Pandas。
  • datasette - 一个用于探索和发布数据的开源多功能工具。
  • optimus - 使用 PySpark 轻松实现敏捷数据科学工作流。

数据验证 (Data Validation)

用于验证数据的库。在许多情况下用于表单验证。

  • cerberus - 一个轻量级且可扩展的数据验证库。
  • colander - 验证和反序列化通过 XML、JSON、HTML 表单 post 获得的数据。
  • jsonschema - JSON Schema 的 Python 实现。
  • schema - 一个用于验证 Python 数据结构的库。
  • schematics - 数据结构验证。
  • voluptuous - 一个 Python 数据验证库。
  • pydantic - 使用 Python 类型提示进行数据验证。

数据可视化 (Data Visualization)

用于数据可视化的库。另请参阅 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 的高性能科学可视化。

数据库 (Database)

用 Python 实现的数据库。

  • pickleDB - 一个简单轻量级的 Python 键值存储。
  • tinydb - 一个微型的、面向文档的数据库。
  • zodb - Python 的原生对象数据库。一个键值和对象图数据库。

数据库驱动 (Database Drivers)

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

日期和时间 (Date and Time)

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

  • arrow - 一个 Python 库,提供了一种明智且人性化的方法来创建、操作、格式化和转换日期、时间和时间戳。
  • dateutil - 标准 Python datetime 模块的扩展。
  • pendulum - 让 Python 的 datetimes 变得简单。
  • pytz - 世界时区定义,现代和历史的。将 tz database 引入 Python。

调试工具 (Debugging Tools)

用于调试代码的库。

  • pdb-like 调试器
    • ipdb - 支持 IPython 的 pdb
    • pudb - 一个全屏、基于控制台的 Python 调试器。
  • Tracing (追踪)
    • manhole - 调试 UNIX 套接字连接,并为所有线程呈现堆栈跟踪和一个交互式提示符。
    • python-hunter - 一个灵活的代码追踪工具包。
  • Profiler (性能分析器)
    • py-spy - Python 程序的采样性能分析器。用 Rust 编写。
    • vprof - 可视化 Python 性能分析器。
  • 其他
    • django-debug-toolbar - 为 Django 显示各种调试信息。
    • flask-debugtoolbar - django-debug-toolbar 的 flask 移植版。
    • icecream - 通过一个简单的函数调用来检查变量、表达式和程序执行。
    • pyelftools - 解析和分析 ELF 文件和 DWARF 调试信息。

深度学习 (Deep Learning)

用于神经网络和深度学习的框架。另请参阅 awesome-deep-learning

  • keras - 一个高级神经网络库,能够运行在 TensorFlow 或 Theano 之上。
  • pytorch - Python 中的张量和动态神经网络,具有强大的 GPU 加速功能。
  • pytorch-lightning - 深度学习框架,用于快速训练、部署和交付 AI 产品。
  • stable-baselines3 - Stable Baselines (深度) 强化学习算法的 PyTorch 实现。
  • tensorflow - 由 Google 创建的最受欢迎的深度学习框架。
  • theano - 一个用于快速数值计算的库。

DevOps 工具 (DevOps Tools)

用于 DevOps 的软件和库。

  • 配置管理
    • ansible - 一个极其简单的 IT 自动化平台。
    • cloudinit - 一个处理云实例早期初始化的多发行版包。
    • openstack - 用于构建私有云和公有云的开源软件。
    • pyinfra - 一个多功能的 CLI 工具和 Python 库,用于自动化基础设施。
    • saltstack - 基础设施自动化和管理系统。
  • SSH-style 部署
    • cuisine - Fabric 的类 Chef 功能。
    • fabric - 一个简单、Pythonic 的远程执行和部署工具。
  • 进程管理
    • supervisor - 用于 UNIX 的 Supervisor 进程控制系统。
  • 监控
    • psutil - 一个跨平台的进程和系统实用程序模块。
  • 备份
    • borg - 一个带压缩和加密的去重归档器。

分布式计算 (Distributed Computing)

用于分布式计算的框架和库。

  • 批处理
    • dask - 一个用于分析计算的灵活并行计算库。
    • luigi - 一个帮助你构建复杂批处理作业管道的模块。
    • PySpark - Apache Spark Python API。
    • Ray - 一个用于并行和分布式 Python 的系统,统一了机器学习的生态系统。
  • 流处理

分发 (Distribution)

创建用于发布分发的打包可执行文件的库。

  • py2app - 冻结 Python 脚本 (Mac OS X)。
  • py2exe - 冻结 Python 脚本 (Windows)。
  • pyarmor - 一个用于混淆 python 脚本、将混淆后的脚本绑定到固定机器或使混淆后的脚本过期的工具。
  • pyinstaller - 将 Python 程序转换为独立的可执行文件 (跨平台)。
  • shiv - 一个命令行工具,用于构建完全自包含的 zipapps (PEP 441),但包含其所有依赖项。

文档 (Documentation)

用于生成项目文档的库。

下载器 (Downloader)

用于下载的库。

  • akshare - 一个为人类构建的金融数据接口库!
  • s3cmd - 一个用于管理 Amazon S3 和 CloudFront 的命令行工具。
  • youtube-dl - 一个用于从 YouTube 和其他视频网站下载视频的命令行程序。

编辑器插件和 IDE (Editor Plugins and IDEs)

  • Emacs
    • elpy - Emacs Python 开发环境。
  • Vim
  • Visual Studio
    • PTVS - Visual Studio 的 Python 工具。
  • Visual Studio Code
    • Python - 官方 VSCode 扩展,对 Python 提供丰富的支持。
  • IDE
    • PyCharm - JetBrains 出品的商业 Python IDE。有免费社区版。
    • spyder - 开源 Python IDE。

电子邮件 (Email)

用于发送和解析电子邮件的库。

  • 邮件服务器
    • modoboa - 一个邮件托管和管理平台,包括一个现代化的 Web UI。
    • salmon - 一个 Python 邮件服务器。
  • 客户端
    • imbox - 为人类设计的 Python IMAP。
    • yagmail - 又一个 Gmail/SMTP 客户端。
  • 其他
    • flanker - 一个电子邮件地址和 Mime 解析库。
    • mailer - 高性能可扩展的邮件投递框架。

环境管理 (Environment Management)

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

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

文件处理 (File Manipulation)

用于文件处理的库。

  • mimetypes - (Python 标准库) 将文件名映射到 MIME 类型。
  • pathlib - (Python 标准库) 一个跨平台、面向对象的路径库。
  • path.py - os.path 的模块封装。
  • python-magic - libmagic 文件类型识别库的 Python 接口。
  • watchdog - 用于监控文件系统事件的 API 和 shell 工具。

函数式编程 (Functional Programming)

用 Python 进行函数式编程。

  • coconut - 为简单、优雅、Pythonic 的函数式编程而构建的 Python 变体。
  • funcy - 一个酷炫实用的函数式工具。
  • more-itertools - itertools 之外更多用于操作可迭代对象的例程。
  • returns - 一组类型安全的 monad、transformer 和组合工具。
  • cytoolz - Toolz 的 Cython 实现:高性能的函数式工具。
  • toolz - 用于迭代器、函数和字典的函数式工具集合。

GUI 开发 (GUI Development)

用于图形用户界面应用的库。

  • curses - 内置的 ncurses 封装,用于创建终端 GUI 应用。
  • Eel - 用于制作类似 Electron 的简单离线 HTML/JS GUI 应用的库。
  • enaml - 用类似 QML 的声明式语法创建漂亮的用户界面。
  • 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 原生、操作系统原生的 GUI 工具包。
  • urwid - 一个用于创建终端 GUI 应用的库,对小部件、事件、丰富色彩等有强大支持。
  • wxPython - wxWidgets C++ 类库与 Python 的融合。
  • DearPyGui - 一个简单的 GPU 加速 Python GUI 框架。

GraphQL

用于处理 GraphQL 的库。

  • graphene - Python 的 GraphQL 框架。

游戏开发 (Game Development)

优秀的游戏开发库。

  • 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 - 基于 ctypes 的 SDL2 库封装。
  • RenPy - 一个视觉小说引擎。

地理定位 (Geolocation)

用于地理编码地址和处理经纬度的库。

  • django-countries - 一个为模型和表单提供国家字段的 Django 应用。
  • geodjango - 一个世界级的地理 Web 框架。
  • geojson - 用于 GeoJSON 的 Python 绑定和工具。
  • geopy - Python 地理编码工具箱。

HTML 处理 (HTML Manipulation)

用于处理 HTML 和 XML 的库。

  • beautifulsoup - 为迭代、搜索和修改 HTML 或 XML 提供 Pythonic 的习惯用法。
  • bleach - 一个基于白名单的 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 Clients)

用于处理 HTTP 的库。

  • httpx - 下一代 Python HTTP 客户端。
  • requests - 为人类设计的 HTTP 请求库。
  • treq - 基于 Twisted 的 HTTP 客户端构建的类似 requests 的 API。
  • urllib3 - 一个具有线程安全连接池、文件 post 支持、易于使用的 HTTP 库。

硬件 (Hardware)

用于硬件编程的库。

  • keyboard - 在 Windows 和 Linux 上挂钩和模拟全局键盘事件。
  • mouse - 在 Windows 和 Linux 上挂钩和模拟全局鼠标事件。
  • pynput - 一个控制和监控输入设备的库。
  • scapy - 一个出色的数据包处理库。

图像处理 (Image Processing)

用于处理图像的库。

  • pillow - Pillow 是友好的 PIL fork。
  • python-barcode - 在 Python 中创建条形码,无需额外依赖。
  • pymatting - 一个用于 alpha matting (抠图) 的库。
  • python-qrcode - 一个纯 Python QR 码生成器。
  • pywal - 一个从图像生成配色方案的工具。
  • pyvips - 一个内存需求低、速度快的图像处理库。
  • quads - 基于四叉树的计算机艺术。
  • scikit-image - 一个用于 (科学) 图像处理的 Python 库。
  • thumbor - 一个智能图像服务。它能按需裁剪、调整大小和翻转图像。
  • wand - MagickWand (ImageMagick 的 C API) 的 Python 绑定。

Python 实现 (Implementations)

Python 的各种实现。

  • cpython - 默认、使用最广泛的用 C 语言编写的 Python 编程语言实现。
  • cython - Python 的优化静态编译器。
  • clpython - 用 Common Lisp 编写的 Python 编程语言实现。
  • ironpython - 用 C# 编写的 Python 编程语言实现。
  • micropython - 一个精简高效的 Python 编程语言实现。
  • numba - 面向科学 Python 的 LLVM JIT 编译器。
  • peachpy - 嵌入在 Python 中的 x86-64 汇编器。
  • pypy - 一个非常快速且兼容的 Python 语言实现。
  • pyston - 一个使用 JIT 技术的 Python 实现。

交互式解释器 (Interactive Interpreter)

交互式 Python 解释器 (REPL)。

国际化 (Internationalization)

用于处理 i18n 的库。

  • Babel - Python 的国际化库。
  • PyICU - International Components for Unicode C++ 库 (ICU) 的一个封装。

任务调度 (Job Scheduler)

用于调度任务的库。

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

日志 (Logging)

用于生成和处理日志的库。

  • logbook - Python 日志的替代品。
  • logging - (Python 标准库) Python 的日志工具。
  • loguru - 旨在为 Python 带来愉快日志体验的库。
  • sentry-python - 用于 Python 的 Sentry SDK。
  • structlog - 结构化日志,变得简单。

机器学习 (Machine Learning)

用于机器学习的库。另请参阅 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

在 Microsoft Windows 上进行 Python 编程。

  • Python(x,y) - 基于 Qt 和 Spyder 的面向科学应用的 Python 发行版。
  • pythonlibs - Python 扩展包的非官方 Windows 二进制文件。
  • PythonNet - Python 与 .NET 公共语言运行时 (CLR) 的集成。
  • PyWin32 - 用于 Windows 的 Python 扩展。
  • WinPython - 用于 Windows 7/8 的便携式开发环境。

杂项 (Miscellaneous)

不适合上述类别的有用库或工具。

  • blinker - 一个快速的 Python 进程内信号/事件分发系统。
  • boltons - 一组纯 Python 工具。
  • itsdangerous - 将受信任数据传递到不受信任环境的各种辅助工具。
  • magenta - 一个利用人工智能生成音乐和艺术的工具。
  • pluginbase - 一个简单但灵活的 Python 插件系统。
  • tryton - 一个通用的商业框架。

自然语言处理 (Natural Language Processing)

用于处理人类语言的库。

  • 通用
    • gensim - 为人类设计的主题建模。
    • langid.py - 独立的语言识别系统。
    • nltk - 一个领先的平台,用于构建处理人类语言数据的 Python 程序。
    • pattern - 一个网络挖掘模块。
    • polyglot - 支持数百种语言的自然语言处理管道。
    • pytext - 一个基于 PyTorch 的自然语言建模框架。
    • PyTorch-NLP - 一个支持快速进行深度学习 NLP 研究原型设计的工具包。
    • spacy - 一个用于 Python 和 Cython 的工业级自然语言处理库。
    • Stanza - 斯坦福 NLP 小组的官方 Python 库,支持 60 多种语言。
  • 中文
    • funNLP - 一个中文 NLP 工具和数据集的集合。
    • jieba - 最流行的中文文本分割库。
    • pkuseg-python - 一个用于各种领域中文分词的工具包。
    • snownlp - 一个处理中文文本的库。

网络虚拟化 (Network Virtualization)

用于虚拟网络和 SDN (软件定义网络) 的工具和库。

  • mininet - 一个用 Python 编写的流行网络模拟器和 API。
  • napalm - 用于操作网络设备的跨厂商 API。
  • pox - 一个基于 Python 的 SDN 控制应用,如 OpenFlow SDN 控制器。

新闻订阅 (News Feed)

用于构建用户动态的库。

ORM

实现对象关系映射或数据映射技术的库。

  • 关系型数据库
    • 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 库。

包管理 (Package Management)

用于包和依赖管理的库。

  • pip - Python 的包安装器。
    • pip-tools - 一套用于保持你固定的 Python 依赖更新的工具。
    • PyPI
  • conda - 跨平台、与 Python 无关的二进制包管理器。
  • poetry - Python 依赖管理和打包变得简单。

包仓库 (Package Repositories)

本地 PyPI 仓库服务器和代理。

  • bandersnatch - Python 打包管理局 (PyPA) 提供的 PyPI 镜像工具。
  • devpi - PyPI 服务器和打包/测试/发布工具。
  • localshop - 本地 PyPI 服务器 (自定义包和 pypi 自动镜像)。
  • warehouse - 下一代 Python 包仓库 (PyPI)。

渗透测试 (Penetration Testing)

用于渗透测试的框架和工具。

  • fsociety - 一个渗透测试框架。
  • setoolkit - 一个社会工程学工具包。
  • sqlmap - 自动 SQL 注入和数据库接管工具。

权限 (Permissions)

允许或拒绝用户访问数据或功能的库。

  • django-guardian - 为 Django 1.2+ 实现的对象级权限。
  • django-rules - 一个小巧但强大的应用,为 Django 提供对象级权限,无需数据库。

进程 (Processes)

用于启动和与操作系统进程通信的库。

推荐系统 (Recommender Systems)

用于构建推荐系统的库。

  • annoy - C++/Python 的近似最近邻,为内存使用优化。
  • fastFM - 一个用于因子分解机的库。
  • implicit - 针对隐式数据集的协同过滤的快速 Python 实现。
  • libffm - 一个用于场感知因子分解机 (FFM) 的库。
  • lightfm - 多种流行推荐算法的 Python 实现。
  • spotlight - 使用 PyTorch 的深度推荐模型。
  • Surprise - 一个用于构建和分析推荐系统的 scikit。
  • tensorrec - TensorFlow 中的一个推荐引擎框架。

代码重构 (Refactoring)

Python 的代码重构工具和库

  • Bicycle Repair Man - Bicycle Repair Man,一个 Python 的重构工具。
  • Bowler - 现代 Python 的安全代码重构。
  • Rope - Rope 是一个 python 重构库。

RESTful API

用于构建 RESTful API 的库。

  • Django
  • Flask
    • eve - 由 Flask、MongoDB 和良好意图驱动的 REST API 框架。
    • flask-api - 用于 Flask 的可浏览 Web API。
    • flask-restful - 快速为 Flask 构建 REST API。
  • Pyramid
    • cornice - Pyramid 的 RESTful 框架。
  • 框架无关
    • falcon - 一个用于构建云 API 和 Web 应用后端的高性能框架。
    • fastapi - 一个现代、快速的 Web 框架,用于基于标准 Python 3.6+ 类型提示构建 API。
    • hug - 一个用于清晰地暴露 API 的 Python 3 框架。
    • sandman2 - 为现有数据库驱动系统自动生成 REST API。
    • sanic - 一个为速度而生的 Python 3.6+ Web 服务器和 Web 框架。

机器人 (Robotics)

用于机器人学的库。

  • PythonRobotics - 这是各种机器人算法及其可视化的汇编。
  • rospy - 这是 ROS (机器人操作系统) 的一个库。

RPC 服务器 (RPC Servers)

兼容 RPC 的服务器。

  • RPyC (Remote Python Call) - 一个透明且对称的 Python RPC 库。
  • zeroRPC - zerorpc 是一个基于 ZeroMQMessagePack 的灵活 RPC 实现。

科学计算 (Science)

用于科学计算的库。另请参阅 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 的算法交易库。

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

序列化 (Serialization)

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

无服务器框架 (Serverless Frameworks)

用于开发无服务器 Python 代码的框架。

  • python-lambda - 一个用于在 AWS Lambda 中开发和部署 Python 代码的工具包。
  • Zappa - 一个用于在 AWS Lambda 和 API Gateway 上部署 WSGI 应用的工具。

Shell

基于 Python 的 Shell。

  • xonsh - 一个由 Python 驱动、跨平台、面向 Unix 的 shell 语言和命令提示符。

特定格式处理 (Specific Formats Processing)

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

  • 通用
    • 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's Markdown 的 Python 实现。
  • YAML
    • PyYAML - Python 的 YAML 实现。
  • CSV
    • csvkit - 用于转换和处理 CSV 的工具。
  • 归档
    • unp - 一个可以轻松解压归档文件的命令行工具。

静态网站生成器 (Static Site Generator)

静态网站生成器是一种将一些文本+模板作为输入并产生 HTML 文件作为输出的软件。

  • lektor - 一个易于使用的静态 CMS 和博客引擎。
  • mkdocs - 对 Markdown 友好的文档生成器。
  • makesite - 简单、轻量且无魔法的静态网站/博客生成器 (< 130 行)。
  • nikola - 一个静态网站和博客生成器。
  • pelican - 支持 Markdown 和 reST 语法的静态网站生成器。

标签 (Tagging)

用于为项目添加标签的库。

任务队列 (Task Queues)

用于处理任务队列的库。

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

模板引擎 (Template Engine)

用于模板和词法分析的库和工具。

  • Genshi - 用于生成 Web 感知输出的 Python 模板工具包。
  • Jinja2 - 一个现代且对设计师友好的模板语言。
  • Mako - 用于 Python 平台的超快速和轻量级模板。

测试 (Testing)

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

  • 测试框架
    • hypothesis - 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 测试替身框架。
    • freezegun - 通过 mock datetime 模块来穿越时空。
    • httmock - 用于 Python 2.6+ 和 3.2+ 的 requests mock 库。
    • httpretty - Python 的 HTTP 请求 mock 工具。
    • mock - (Python 标准库) 一个 mock 和 patching 库。
    • mocket - 一个支持 gevent/asyncio/SSL 的 socket mock 框架。
    • responses - 一个用于 mock requests Python 库的工具库。
    • VCR.py - 在你的测试中记录和回放 HTTP 交互。
  • 对象工厂
    • factory_boy - Python 的测试数据生成器替代品。
    • mixer - 另一个测试数据生成器替代品。支持 Django、Flask、SQLAlchemy、Peewee 等。
    • model_mommy - 在 Django 中创建用于测试的随机数据。
  • 代码覆盖率
  • 伪造数据
    • fake2db - 伪造数据库生成器。
    • faker - 一个生成伪造数据的 Python 包。
    • mimesis - 一个帮助你生成伪造数据的 Python 库。
    • radar - 生成随机的日期/时间。

文本处理 (Text Processing)

用于解析和处理纯文本的库。

  • 通用
    • 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。
  • 唯一标识符
    • hashids - hashids 的 Python 实现。
    • shortuuid - 一个用于生成简洁、明确且 URL 安全的 UUID 的库。
  • 解析器
    • ply - lex 和 yacc 解析工具的 Python 实现。
    • pygments - 一个通用的语法高亮器。
    • pyparsing - 一个用于生成解析器的通用框架。
    • python-nameparser - 将人名解析为其各个组成部分。
    • python-phonenumbers - 解析、格式化、存储和验证国际电话号码。
    • python-user-agents - 浏览器用户代理字符串解析器。
    • sqlparse - 一个非验证的 SQL 解析器。

第三方 API (Third-party APIs)

用于访问第三方服务 API 的库。另请参阅 List of Python API Wrappers and Libraries

URL 处理 (URL Manipulation)

用于解析 URL 的库。

  • furl - 一个使解析和操作 URL 变得简单的小型 Python 库。
  • purl - 一个简单的、不可变的 URL 类,具有用于查询和操作的清晰 API。
  • pyshorteners - 一个纯 Python URL 缩短库。
  • webargs - 一个友好的库,用于解析 HTTP 请求参数,内置对流行 Web 框架的支持。

视频 (Video)

用于处理视频和 GIF 的库。

  • moviepy - 一个用于基于脚本进行电影编辑的模块,支持多种格式,包括动画 GIF。
  • scikit-video - 用于 SciPy 的视频处理例程。
  • vidgear - 最强大的多线程视频处理框架。

Web 资源管理 (Web Asset Management)

用于管理、压缩和最小化网站资源的工具。

  • django-compressor - 将链接和内联的 JavaScript 或 CSS 压缩成单个缓存文件。
  • django-pipeline - Django 的资源打包库。
  • django-storages - Django 的自定义存储后端集合。
  • fanstatic - 将静态文件依赖打包、优化并作为 Python 包提供。
  • fileconveyor - 一个检测文件并将其同步到 CDN、S3 和 FTP 的守护进程。
  • flask-assets - 帮助你将 webassets 集成到 Flask 应用中。
  • webassets - 为静态资源打包、优化并管理唯一的缓存清除 URL。

Web 内容提取 (Web Content Extracting)

用于提取 Web 内容的库。

  • html2text - 将 HTML 转换为 Markdown 格式的文本。
  • lassie - 为人类设计的 Web 内容检索。
  • micawber - 一个用于从 URL 提取富内容的小型库。
  • newspaper - Python 中的新闻提取、文章提取和内容策展。
  • python-readability - arc90's readability 工具的快速 Python 移植。
  • requests-html - 为人类设计的 Pythonic HTML 解析。
  • sumy - 一个用于自动摘要文本文档和 HTML 页面的模块。
  • textract - 从任何文档(Word、PowerPoint、PDF 等)中提取文本。
  • toapi - 每个网站都提供 API。

Web 爬虫 (Web Crawling)

用于自动化网页抓取的库。

  • feedparser - 通用 feed 解析器。
  • grab - 网站抓取框架。
  • mechanicalsoup - 一个用于自动化与网站交互的 Python 库。
  • scrapy - 一个快速的高级屏幕抓取和 Web 爬虫框架。

Web 框架 (Web Frameworks)

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

WebSocket

用于处理 WebSocket 的库。

  • autobahn-python - 用于 Twisted 和 asyncio 的 Python WebSocket 和 WAMP。
  • channels - 为 Django 提供对开发者友好的异步功能。
  • websockets - 一个用于构建 WebSocket 服务器和客户端的库,注重正确性和简单性。

WSGI 服务器 (WSGI Servers)

兼容 WSGI 的 Web 服务器。

  • gunicorn - 预分叉 (Pre-forked),从 Ruby 的 Unicorn 项目移植而来。
  • uwsgi - 一个旨在开发用于构建托管服务的完整技术栈的项目,用 C 编写。
  • waitress - 多线程,为 Pyramid 提供支持。
  • werkzeug - 一个 Python 的 WSGI 工具库,为 Flask 提供支持,并可以轻松嵌入到你自己的项目中。

资源 (Resources)

在哪里发现学习资源或新的 Python 库。

新闻资讯 (Newsletters)

播客 (Podcasts)

贡献 (Contributing)

我们随时欢迎你的贡献!请先查看 贡献指南


如果你对这个精选列表有任何疑问,请随时在 Twitter 上联系我 @VintaChen 或在 GitHub 上提交 issue。

Comments