Skip to content

Python

Awesome Python Awesome

精彩的 Python 框架、库、软件和资源的精选列表.

灵感来自 awesome-php.


Admin Panels

管理界面库.

  • ajenti - 您的服务器值得拥有的管理面板.
  • django-grappelli - Django 管理界面的爵士皮肤.
  • django-jet - Django 管理界面的现代响应式模板,具有改进的功能.
  • django-suit - 替代 Django 管理界面(仅免费用于非商业用途).
  • django-xadmin - Django admin 的直接替换带来了很多好处.
  • flask-admin - Flask 的简单且可扩展的管理界面框架.
  • flower - Celery 的实时监控和网络管理.
  • jet-bridge - 适用于任何具有良好 UI 的应用程序的管理面板框架(例如 Jet Django).
  • wooey - 一个 Django 应用程序,可为 Python 脚本创建自动 Web UI.

Algorithms and Design Patterns

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

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

ASGI Servers

ASGI-兼容的网络服务器.

  • daphne - 用于 ASGI 和 ASGI-HTTP 的 HTTP、HTTP2 和 WebSocket 协议服务器.
  • uvicorn - 使用 uvloop 和 httptools 实现闪电般快速的 ASGI 服务器.

Asynchronous Programming

  • asyncio -(Python 标准库)异步 I/O、事件循环、协程和任务.
  • trio - 用于异步并发和 I/O 的友好库.
  • Twisted - 事件驱动的网络引擎.
  • uvloop - 超快的异步事件循环.

Audio

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

  • 声音
    • audioread - 跨库(GStreamer + Core Audio + MAD + FFmpeg)音频解码.
    • audioFlux - 用于音频和音乐分析、特征提取的库.
    • dejavu - 音频指纹识别和识别.
    • kapre - Keras 音频预处理器.
    • librosa - 用于音频和音乐分析的 Python 库.
    • matchering - 用于自动参考音频母带制作的库.
    • mingus - 先进的音乐理论和乐谱包,支持 MIDI 文件和播放.
    • pyAudioAnalysis - 音频特征提取、分类、分割及应用.
    • pydub - 通过简单易用的高级界面来操作音频.
    • TimeSide - 开放的网络音频处理框架.
  • 元数据
    • beets - 音乐库管理员和 MusicBrainz 标签.
    • eyeD3 - 用于处理音频文件的工具,特别是包含 ID3 元数据的 MP3 文件.
    • mutagen - 用于处理音频元数据的 Python 模块.
    • tinytag - 用于读取 MP3、OGG、FLAC 和 Wave 文件的音乐元数据的库.

Authentication

用于实现身份验证方案的库.

  • OAuth
  • 智威汤逊
    • pyjwt - Python 中的 JSON Web 令牌实现.
    • python-jose - Python 中的 JOSE 实现.
    • python-jwt - 用于生成和验证 JSON Web 令牌的模块.

Build Tools

从源代码编译软件.

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

Built-in Classes Enhancement

用于增强Python内置类的库.

  • attrs - 替换类定义中的“init”、“eq”、“repr”等样板文件.
  • bidict - 高效、Pythonic 双向地图数据结构和相关功能.
  • Box - 具有高级点表示法访问的 Python 字典.
  • dataclasses -(Python 标准库)数据类.
  • DottedDict - 一个库,提供使用点路径表示法访问列表和字典的方法.

CMS

  • django-cms - 基于 Django 的开源企业 CMS.
  • indico - 功能丰富的事件管理系统,@ CERN.
  • Kotti - 一个基于 Pyramid 构建的高级 Pythonic Web 应用程序框架.
  • plone - 构建在开源应用程序服务器 Zope 之上的 CMS.
  • quokka - 由 Flask 和 MongoDB 提供支持的灵活、可扩展、小型 CMS.

Caching

用于缓存数据的库.

  • beaker - 用于会话和缓存的 WSGI 中间件.
  • django-cache-machine - Django 模型的自动缓存和失效.
  • django-cacheops - 灵活的 ORM 缓存,具有自动粒度事件驱动的失效功能.
  • dogpile.cache -dogpile.cache 是由同一作者制作的 Beaker 的下一代替代品.
  • HermesCache - Python 缓存库,具有基于标签的失效和狗堆效应预防功能.
  • pylibmc - 一个 Python 包装器 libmemcached 界面.
  • python-diskcache - SQLite 和文件支持的缓存后端具有比 memcached 和 redis 更快的查找速度.

ChatOps Tools

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

  • errbot - 实施 ChatOps 的最简单且最受欢迎的聊天机器人.

Code Analysis

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

  • 代码分析
    • coala - 独立于语言且易于扩展的代码分析应用程序.
    • code2flow - 将您的 Python 和 JavaScript 代码转换为 DOT 流程图.
    • prospector - 分析Python代码的工具.
    • pycallgraph - 一个可视化 Python 应用程序流程(调用图)的库.
    • vulture - 用于查找和分析无效 Python 代码的工具.
  • 代码检查器
  • 代码格式化程序
    • black - 毫不妥协的 Python 代码格式化程序.
    • isort - 用于对导入进行排序的 Python 实用程序/库.
    • yapf - 来自 Google 的另一个 Python 代码格式化程序.
  • 静态类型检查器,另请参阅 awesome-python-typing
    • mypy - 在编译时检查变量类型.
    • pyre-check - 高性能类型检查.
    • typeshed - Python 库存根集合,具有静态类型.
  • 静态类型注释生成器
    • MonkeyType - A system for Python that generates static type annotations by collecting runtime types.
    • pytype - Pytype 检查并推断 Python 代码的类型 - 无需类型注释.

Command-line Interface Development

用于构建命令行应用程序的库.

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

Command-line Tools

基于 CLI 的实用工具可提高生产力.

  • 生产力工具
    • copier - 用于渲染项目模板的库和命令行实用程序.
    • cookiecutter - 一个命令行实用程序,可从 cookiecutter(项目模板)创建项目.
    • doitlive - 在终端中进行现场演示的工具.
    • howdoi - 通过命令行即时编码答案.
    • Invoke - 用于管理面向 shell 的子进程并将可执行 Python 代码组织成 CLI 可调用任务的工具.
    • PathPicker - 从 bash 输出中选择文件.
    • percol - 为 UNIX 上的传统管道概念添加了交互式选择的风格.
    • thefuck - 更正您之前的控制台命令.
    • tmuxp - A tmux 会话管理器.
    • try - 一个非常简单的 CLI 来尝试 python 包 - 从未如此简单.
  • CLI 增强
    • httpie - 命令行 HTTP 客户端,用户友好的 cURL 替代品.
    • iredis - Redis CLI 具有自动完成和语法突出显示功能.
    • kube-shell - 用于使用 Kubernetes CLI 的集成 shell.
    • litecli - SQLite CLI 具有自动完成和语法突出显示功能.
    • mycli - MySQL CLI 具有自动完成和语法突出显示功能.
    • pgcli - 具有自动完成和语法突出显示功能的 PostgreSQL CLI.
    • saws - 增压 aws-cli.

Compatibility

用于从 Python 2 迁移到 3 的库.

  • python-future - Python 2 和 Python 3 之间缺少兼容性层.
  • modernize - 对 Python 代码进行现代化改造,以实现最终的 Python 3 迁移.
  • six - Python 2 和 3 兼容性实用程序.

Computer Vision

计算机视觉库.

Concurrency and Parallelism

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

  • concurrent.futures -(Python 标准库)用于异步执行可调用对象的高级接口.
  • eventlet - 具有 WSGI 支持的异步框架.
  • gevent - 基于协程的 Python 网络库,使用 greenlet.
  • multiprocessing -(Python 标准库)基于进程的并行性.
  • scoop - Python 中的可扩展并发操作.
  • uvloop - 在“libuv”之上超快速实现“asyncio”事件循环.

Configuration

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

  • configobj - 带验证的 INI 文件解析器.
  • configparser - (Python 标准库)INI 文件解析器.
  • hydra - Hydra 是一个用于优雅地配置复杂应用程序的框架.
  • profig - 通过值转换从多种格式进行配置.
  • python-decouple - 设置与代码严格分离.

Cryptography

  • cryptography - 旨在向 Python 开发人员公开加密原语和配方的包.
  • paramiko - 领先的原生 Python SSHv2 协议库.
  • passlib - 安全密码存储/哈希库,非常高水平.
  • pynacl - Python 绑定到网络和密码学 (NaCl) 库.

Data Analysis

用于数据分析的库.

  • AWS Data Wrangler - AWS 上的 Pandas.
  • Blaze - NumPy 和 Pandas 与大数据的接口.
  • Open Mining - Pandas 界面中的商业智能 (BI).
  • Optimus - 使用 PySpark 使敏捷数据科学工作流程变得简单.
  • Orange - 通过可视化编程或脚本进行数据挖掘、数据可视化、分析和机器学习.
  • Pandas - 提供高性能、易于使用的数据结构和数据分析工具的库.

Data Validation

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

  • Cerberus - 一个轻量级且可扩展的数据验证库.
  • colander - 验证和反序列化通过 XML、JSON、HTML 表单发布获得的数据.
  • jsonschema - 实施 JSON Schema 对于Python.
  • schema - 用于验证 Python 数据结构的库.
  • Schematics - 数据结构验证.
  • valideer - 轻量级可扩展数据验证和适应库.
  • voluptuous - Python 数据验证库.

Data Visualization

用于可视化数据的库. 另请参阅 awesome-javascript.

  • Altair - Python 的声明式统计可视化库.
  • Bokeh - Python 交互式网页绘图.
  • bqplot - Jupyter Notebook 的交互式绘图库.
  • Cartopy - 具有 matplotlib 支持的制图 Python 库.
  • Dash - 构建在 Flask、React 和 Plotly 之上,旨在分析 Web 应用程序.
  • diagrams - 图表即代码.
  • Matplotlib - Python 2D 绘图库.
  • plotnine - 基于 ggplot2 的 Python 图形语法.
  • Pygal - Python SVG 图表创建器.
  • PyGraphviz - Python 接口 Graphviz.
  • PyQtGraph - 交互式和实时 2D/3D/图像绘图和科学/工程小部件.
  • Seaborn - 使用 Matplotlib 进行统计数据可视化.
  • VisPy - 基于OpenGL的高性能科学可视化.

Database

用Python实现的数据库.

  • pickleDB - A simple and lightweight key-value store for Python.
  • tinydb - 一个小型的、面向文档的数据库.
  • ZODB - Python 的本机对象数据库. 键值和对象图数据库.

Database Drivers

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

  • MySQL - awesome-mysql
  • PostgreSQL - awesome-postgres
    • psycopg2 - 最流行的 Python PostgreSQL 适配器.
    • queries - 用于与 PostgreSQL 交互的 psycopg2 库的包装器.
  • SQlite - awesome-sqlite
    • sqlite3 - (Python标准库)SQlite接口符合DB-API 2.0
    • SuperSQLite - 一个强大的 SQLite 库构建在 apsw.
  • 其他关系数据库
    • 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 驱动程序.

Date and Time

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

  • Arrow - 一个 Python 库,提供了一种合理且人性化的方法来创建、操作、格式化和转换日期、时间和时间戳.
  • Chronyk - 用于解析人类编写的时间和日期的 Python 3 库.
  • dateutil - 标准 Python 的扩展 datetime 模块.
  • delorean - 一个用于澄清处理日期时间时出现的令人不快的事实的库.
  • maya - 人类的日期时间.
  • moment - 用于处理日期/时间的 Python 库. 灵感来自 Moment.js.
  • Pendulum - Python 日期时间变得简单.
  • PyTime - 一个易于使用的Python模块,旨在通过字符串操作日期/时间/日期时间.
  • pytz - 世界时区定义,现代和历史. 带来了 tz database 进入Python.
  • when.py - 提供用户友好的功能来帮助执行常见的日期和时间操作.

Debugging Tools

用于调试代码的库.

  • 类似pdb的调试器
    • ipdb - 支持 IPython pdb.
    • pdb++ - pdb 的另一个直接替代品.
    • pudb - 全屏、基于控制台的 Python 调试器.
    • wdb - 通过 WebSockets 实现的不可能的 Web 调试器.
  • 追踪
    • lptrace - strace 对于Python程序.
    • manhole - 调试 UNIX 套接字连接并显示所有线程的堆栈跟踪和交互式提示.
    • pyringe - 能够附加到 Python 进程并向其中注入代码的调试器.
    • python-hunter - 灵活的代码跟踪工具包.
  • 分析器
  • 其他

Deep Learning

神经网络和深度学习框架. 另请参阅 awesome-deep-learning.

  • caffe - 一个快速开放的深度学习框架..
  • keras - 高级神经网络库,能够在 TensorFlow 或 Theano 上运行.
  • mxnet - 专为提高效率和灵活性而设计的深度学习框架.
  • pytorch - Python 中的张量和动态神经网络,具有强大的 GPU 加速功能.
  • SerpentAI - 游戏代理框架. 使用任何视频游戏作为深度学习沙箱.
  • tensorflow - Google 创建的最受欢迎的深度学习框架.
  • Theano - 用于快速数值计算的库.
  • lightning - 深度学习框架,可快速训练、部署和交付人工智能产品.

DevOps Tools

用于 DevOps 的软件和库.

  • 配置管理
    • ansible - 一个极其简单的 IT 自动化平台.
    • cloudinit - 一个多分发包,用于处理云实例的早期初始化.
    • OpenStack - 用于构建私有云和公共云的开源软件.
    • pyinfra - 用于自动化基础设施的多功能 CLI 工具和 python 库.
  • SSH方式部署
    • cuisine - Fabric 的类似 Chef 的功能.
    • fabric - 一个简单的 Python 工具,用于远程执行和部署.
    • fabtools - 用于编写出色的 Fabric 文件的工具.
  • 流程管理
    • honcho - Python 克隆 Foreman,用于管理基于 Procfile 的应用程序.
    • supervisor - UNIX 的主管进程控制系统.
  • 监控
    • psutil - 跨平台进程和系统实用程序模块.
  • 备份
    • BorgBackup - 具有压缩和加密功能的重复数据删除归档程序.
  • 其他

Distributed Computing

分布式计算的框架和库.

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

Distribution

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

  • dh-virtualenv - 将 virtualenv 构建并分发为 Debian 软件包.
  • Nuitka - 将脚本、模块、包编译为可执行文件或扩展模块.
  • py2app - 冻结 Python 脚本 (Mac OS X).
  • py2exe - 冻结 Python 脚本 (Windows).
  • pyarmor - 用于混淆 python 脚本、将混淆脚本绑定到固定机器或使混淆脚本过期的工具.
  • PyInstaller - 将Python程序转换为独立的可执行文件(跨平台).
  • pynsist - 构建 Windows 安装程序的工具,安装程序捆绑 Python 本身.
  • shiv - 用于构建完全独立的 zipapps (PEP 441) 的命令行实用程序,但包含其所有依赖项.

Documentation

用于生成项目文档的库.

  • sphinx - Python 文档生成器.
  • pdoc - Epydoc 替换为自动生成 Python 库的 API 文档.
  • pycco - 文学编程风格的文档生成器.

Downloader

可供下载的库.

  • akshare - 一个金融数据接口库,为人类而建!
  • s3cmd - 用于管理 Amazon S3 和 CloudFront 的命令行工具.
  • s4cmd - 超级S3命令行工具,有利于更高的性能.
  • you-get - 用 Python 3 编写的 YouTube/Youku/Niconico 视频下载器.
  • youtube-dl - 一个用于从 YouTube 下载视频的小型命令行程序.

E-commerce

电子商务和支付的框架和库.

  • alipay - 适用于 Python 的非官方支付宝 API.
  • Cartridge - 使用 Mezzanine 构建的购物车应用程序.
  • django-oscar - Django 的开源电子商务框架.
  • django-shop - 基于 Django 的商店系统.
  • forex-python - 外汇汇率、比特币价格指数和货币兑换.
  • merchant - 一个 Django 应用程序,用于接受来自各种支付处理器的付款.
  • money - “Money”类,具有可选的 CLDR 支持的区域设置感知格式和可扩展的货币交换.
  • python-currencies - 显示货币格式及其肮脏的货币.
  • saleor - 无头开源电子商务平台.
  • shoop - 基于 Django 的开源电子商务平台.

Editor Plugins and IDEs

  • 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 - 官方 VSCode 扩展,对 Python 提供丰富的支持.
    • PyCharm - JetBrains 的商业 Python IDE. 有免费的社区版可用.
    • spyder - Open Source Python IDE.

Email

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

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

Enterprise Application Integrations

企业环境中系统集成的平台和工具

  • Zato - Python 中的 ESB、SOA、REST、API 和云集成.

Environment Management

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

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

File

用于文件操作和 MIME 类型检测的库.

  • mimetypes - (Python 标准库)将文件名映射到 MIME 类型.
  • path.py - 模块包装器 os.path.
  • pathlib -(Python 标准库)跨平台、面向对象的路径库.
  • PyFilesystem2 - Python 的文件系统抽象层.
  • python-magic - libmagic 文件类型识别库的 Python 接口.
  • Unipath - 文件/目录操作的面向对象方法.
  • watchdog - 用于监视文件系统事件的 API 和 shell 实用程序.

Foreign Function Interface

提供外部函数接口的库

  • cffi - Python 调用 C 代码的外部函数接口.
  • ctypes -(Python 标准库)Python 调用 C 代码的外部函数接口.
  • PyCUDA - Nvidia CUDA API 的 Python 包装器.
  • SWIG - 简化的包装器和接口生成器.

Forms

用于处理表单的库.

Functional Programming

使用Python进行函数式编程.

  • Coconut - Python 的一个变体,专为简单、优雅、Python 式的函数式编程而构建.
  • CyToolz - Toolz 的 Cython 实现:高性能功能实用程序.
  • fn.py - Python 中的函数式编程:实现缺失的功能以享受 FP.
  • funcy - 一款精美实用的功能工具.
  • more-itertools - 除了“itertools”之外,还有更多用于操作可迭代对象的例程.
  • returns - 一组类型安全的 monad、变压器和组合实用程序.
  • Toolz - 用于迭代器、函数和字典的功能实用程序的集合.

GUI Development

用于使用图形用户界面应用程序的库.

  • curses - 内置包装器 ncurses 用于创建终端 GUI 应用程序.
  • Eel - 用于制作简单的类似 Electron 的离线 HTML/JS GUI 应用程序的库.
  • enaml - 使用 QML 等声明性语法创建漂亮的用户界面.
  • Flexx - Flexx 是一个用于创建 GUI 的纯 Python 工具包,它使用 Web 技术进行渲染.
  • Gooey - 用一行将命令行程序变成一个完整的 GUI 应用程序.
  • kivy - 用于创建在 Windows、Linux、Mac OS X、Android 和 iOS 上运行的 NUI 应用程序的库.
  • pyglet - Python 的跨平台窗口和多媒体库.
  • PyGObject - GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定.
  • PyQt - Python 绑定 Qt 跨平台应用程序和 UI 框架.
  • 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 引擎实现.

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 - SDL2 库的基于 ctypes 的包装器.
  • RenPy - 视觉小说引擎.

Geolocation

用于对地址进行地理编码并处理纬度和经度的库.

  • django-countries - 一个 Django 应用程序,为模型和表单提供国家/地区字段.
  • GeoDjango - 世界一流的地理网络框架.
  • GeoIP - MaxMind GeoIP 遗留数据库的 Python API.
  • geojson - GeoJSON 的 Python 绑定和实用程序.
  • geopy - Python 地理编码工具箱.

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 Clients

用于使用 HTTP 的库.

  • grequests - requests + gevent 用于异步 HTTP 请求.
  • httplib2 - 综合 HTTP 客户端库.
  • httpx - Python 的下一代 HTTP 客户端.
  • requests - 人类的 HTTP 请求.
  • treq - Python 请求,例如构建在 Twisted 的 HTTP 客户端之上的 API.
  • urllib3 - 具有线程安全连接池、文件发布支持、理智友好的 HTTP 库.

Hardware

用于硬件编程的库.

  • ino - 用于使用的命令行工具包 Arduino.
  • keyboard - 在 Windows 和 Linux 上挂钩并模拟全局键盘事件.
  • mouse - 在 Windows 和 Linux 上挂钩并模拟全局鼠标事件.
  • Pingo - Pingo 为 Raspberry Pi、pcDuino、Intel Galileo 等设备提供统一的 API 编程.
  • PyUserInput - 用于跨平台控制鼠标和键盘的模块.
  • scapy - 一个出色的数据包操作库.

Image Processing

用于操作图像的库.

  • hmap - 图像直方图重新映射.
  • imgSeek - 使用视觉相似性搜索图像集合的项目.
  • nude.py - 裸体检测.
  • pagan - 基于输入字符串和散列的复古标识(头像)生成.
  • pillow - 枕头很友好 PIL 叉.
  • python-barcode - 在 Python 中创建条形码,无需额外的依赖项.
  • pygram - 类似 Instagram 的图像过滤器.
  • PyMatting - 用于 alpha 抠图的库.
  • python-qrcode - 纯Python QR 码生成器.
  • pywal - 从图像生成配色方案的工具.
  • pyvips - 内存需求低的快速图像处理库.
  • Quads - 基于四叉树的计算机艺术.
  • scikit-image - 用于(科学)图像处理的 Python 库.
  • thumbor - 智能影像服务. 它支持按需裁剪、调整图像大小和翻转图像.
  • wand - Python 绑定 MagickWand, ImageMagick 的 C API.

Implementations

Python 的实现.

  • CLPython - 用 Common Lisp 编写的 Python 编程语言的实现.
  • CPython - 默认、最广泛使用的用 C 编写的 Python 编程语言实现.
  • Cython - 优化 Python 静态编译器.
  • Grumpy - 更多的编译器而不是解释器,作为更强大的 CPython2.7 替代品(alpha).
  • IronPython - Implementation of the Python programming language written in C#.
  • 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 编程语言的增强版本.

Interactive Interpreter

交互式 Python 解释器 (REPL).

Internationalization

用于 i18n 的库.

  • Babel - Python 国际化库.
  • PyICU - Unicode C++ 库国际组件的包装器 (ICU).

Job Scheduler

用于调度作业的库.

  • Airflow - Airflow 是一个以编程方式创作、安排和监控工作流程的平台.
  • APScheduler - 一个轻量级但功能强大的进程内任务调度程序,可让您调度功能.
  • django-schedule - Django 的日历应用程序.
  • doit - 任务运行器和构建工具.
  • gunnery - 用于具有基于 Web 界面的分布式系统的多用途任务执行工具.
  • Joblib - 一组在 Python 中提供轻量级流水线的工具.
  • Plan - 用 Python 编写 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 - 一个轻量级的Python包装器 Vowpal Wabbit.
  • 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 ⅞ 的便携式开发环境.

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 Group 的官方 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 - ORM 提供面向生成器的 SQL 接口.
    • pydal - 纯Python数据库抽象层.
  • NoSQL 数据库

Package Management

用于包和依赖管理的库.

  • pip - Python 的包安装程序.
    • pip-tools - 一组工具,可让您固定的 Python 依赖项保持最新状态.
    • PyPI
  • conda - 跨平台、与 Python 无关的二进制包管理器.
  • poetry - Python 依赖管理和打包变得简单.

Package Repositories

本地 PyPI 存储库服务器和代理.

  • bandersnatch - Python Packaging Authority (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 的库.

  • 姜戈
  • 烧瓶
    • eve - 由 Flask、MongoDB 和良好意愿提供支持的 REST API 框架.
    • flask-api - Flask 的可浏览 Web API.
    • flask-restful - 快速构建 Flask 的 REST API.
  • 金字塔
    • cornice - Pyramid 的 RESTful 框架.
  • 框架不可知
    • apistar - 一个智能 Web API 框架,专为 Python 3 设计.
    • falcon - 用于构建云 API 和 Web 应用程序后端的高性能框架.
    • fastapi - 一个现代、快速的 Web 框架,用于基于标准 Python 类型提示使用 Python 3.6+ 构建 API.
    • hug - 用于干净地公开 API 的 Python 3 框架.
    • sandman2 - 适用于现有数据库驱动系统的自动化 REST API.
    • sanic - 专为快速运行而编写的 Python 3.6+ Web 服务器和 Web 框架.
    • vibora - 受 Flask 启发的快速、高效和异步 Web 框架.

Robotics

机器人图书馆.

  • PythonRobotics - 这是各种机器人算法与可视化的汇编.
  • rospy - 这是 ROS(机器人操作系统)的库.

RPC Servers

RPC兼容服务器.

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

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 格式的表格数据集模块.
  • 办公室
    • 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 - 从 PDF 文档中提取信息的工具.
    • PyPDF2 - 能够拆分、合并和转换 PDF 页面的库.
    • ReportLab - 允许快速创建丰富的 PDF 文档.
  • 降价
    • Mistune - 最快且功能齐全的 Markdown 纯 Python 解析器.
    • Python-Markdown - John Gruber 的 Markdown 的 Python 实现.
  • yaml
    • PyYAML - Python 的 YAML 实现.
  • CSV
    • csvkit - Utilities for converting to and working with 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 Testing
    • locust - 用 Python 编写的可扩展用户负载测试工具.
    • PyAutoGUI - PyAutoGUI 是一个面向人类的跨平台 GUI 自动化 Python 模块.
    • Schemathesis - 用于对使用 Open API / Swagger 规范构建的 Web 应用程序进行基于属性的自动测试的工具.
    • Selenium - Python 绑定 Selenium 网络驱动程序.
    • sixpack - 与语言无关的 A/B 测试框架.
    • splinter - 用于测试 Web 应用程序的开源工具.
  • 嘲笑
    • doublex - 强大的 Python 测试双打框架.
    • freezegun - 通过模拟日期时间模块来穿越时间.
    • 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 - 生成随机日期时间/时间.

Text Processing

用于解析和操作纯文本的库.

  • 一般
    • chardet - Python ⅔ 兼容的字符编码检测器.
    • difflib -(Python 标准库)用于计算增量的帮助程序.
    • ftfy - 自动减少 Unicode 文本的损坏并使其更加一致.
    • fuzzywuzzy - 模糊字符串匹配.
    • Levenshtein - 快速计算编辑距离和字符串相似度.
    • pangu.py - 偏执的文本间距.
    • pyfiglet - 用 Python 编写的Figlet 的实现.
    • pypinyin - Convert Chinese hanzi (汉字) to pinyin (拼音).
    • textdistance - 使用 30 多种算法计算序列之间的距离.
    • unidecode - ASCII transliterations of Unicode text.
  • 斯拉格化
    • awesome-slugify - 一个可以保留 unicode 的 Python slugify 库.
    • python-slugify - 一个将 unicode 转换为 ASCII 的 Python slugify 库.
    • unicode-slugify - 一个 slugifier,它以 Django 作为依赖项生成 unicode slugs.
  • 唯一标识符
  • 解析器

Third-party APIs

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

URL Manipulation

用于解析 URL 的库.

  • furl - 一个小型 Python 库,可以轻松解析和操作 URL.
  • purl - 一个简单、不可变的 URL 类,具有用于询问和操作的干净 API.
  • pyshorteners - 一个纯 Python URL 缩短库.
  • webargs - 一个友好的库,用于解析 HTTP 请求参数,并内置对流行 Web 框架的支持.

Video

用于操作视频和 GIF 的库.

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

Web Asset Management

用于管理、压缩和缩小网站资产的工具.

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

  • html2text - 将 HTML 转换为 Markdown 格式的文本.

  • python-readability - arc90 可读性工具的快速 Python 端口.
  • requests-html - 人类的 Pythonic HTML 解析.
  • sumy - 用于自动摘要文本文档和 HTML 页面的模块.
  • textract - 从任何文档、Word、PowerPoint、PDF 等中提取文本.
  • toapi - 每个网站都提供 API.

Web Crawling

自动化网页抓取的库.

  • cola - 分布式爬行框架.
  • feedparser - 通用提要解析器.
  • grab - 网站抓取框架.
  • MechanicalSoup - 用于自动与网站交互的 Python 库.
  • portia - Scrapy 的视觉抓取.
  • pyspider - 强大的蜘蛛系统.
  • robobrowser - 一个简单的 Python 库,无需独立的 Web 浏览器即可浏览 Web.
  • scrapy - 快速的高级屏幕抓取和网络爬行框架.

Web Frameworks

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

WebSocket

用于使用 WebSocket 的库.

  • autobahn-python - Twisted 上用于 Python 的 WebSocket 和 WAMP asyncio.
  • channels - Django 开发人员友好的异步.
  • websockets - 用于构建 WebSocket 服务器和客户端的库,重点关注正确性和简单性.

WSGI Servers

兼容 WSGI 的 Web 服务器.

  • bjoern - 异步,非常快,用 C 编写.
  • gunicorn - 预分叉,从 Ruby 的 Unicorn 项目移植.
  • uWSGI - 一个项目旨在开发用于构建托管服务的完整堆栈,用 C 编写.
  • waitress - 多线程,为 Pyramid 提供动力.
  • werkzeug - 用于 Python 的 WSGI 实用程序库,为 Flask 提供支持,并且可以轻松嵌入到您自己的项目中.

Resources

在哪里可以发现学习资源或新的 Python 库.

Books

Websites

Newsletters

Podcasts

Contributing

随时欢迎您的贡献! 请看一下 contribution guidelines 第一的.

如果我不确定这些库是否很棒,我会保留一些拉取请求,您可以 vote for them 通过添加 👍 给它们. 当投票达到 20 时,Pull 请求将被合并.


如果您对此固执己见的列表有任何疑问,请随时与我联系 @VintaChen 在 Twitter 上或在 GitHub 上提出问题.