awesome-python - 很棒的 Python 框架、库、软件和资源的精选列表

Created at: 2014-06-28 05:00:06
Language: Python
License: NOASSERTION

令人敬畏的Python棒

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

灵感来自awesome-php


管理面板

用于管理界面的库。

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

算法和设计模式

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

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

ASGI 服务器

ASGI 兼容的 Web 服务器。

  • 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)音频解码.
    • 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 请求签名逻辑的通用且彻底的实现。
    • python-oauth2 -经过全面测试的抽象接口,用于创建OAuth客户端和服务器.
    • python-social-auth - 一种易于设置的社交身份验证机制。
  • 智威汤逊
    • pyjwt - Python 中的 JSON Web 令牌实现.
    • python-jose - Python 中的 JOSE 实现.
    • python-jwt - 用于生成和验证 JSON Web 令牌的模块。

构建工具

从源代码编译软件。

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

内置类增强功能

用于增强 Python 内置类的库。

  • attrs - 替换类定义中 、 、 等样板。
    __init__
    __eq__
    __repr__
  • bidict - 高效的 Pythonic 双向 map数据结构和相关功能.
  • 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 流程图.
    • prospector -分析Python代码的工具.
    • pycallgraph - 可视化 Python 应用程序的流程(调用图)的库。
    • vulture - 用于查找和分析死 Python 代码的工具.
  • 代码 linter
  • 代码格式化程序
    • black - 不妥协的 Python 代码格式化程序。
    • isort - 用于对导入进行排序的 Python 实用程序/库。
    • yapf - 来自 Google 的另一个 Python 代码格式化程序.
  • 静态类型检查器,另请参阅 awesome-python-typing
    • mypy - 在编译时检查变量类型。
    • pyre-check - 高性能类型检查。
    • typeshed - Python 库存根的集合,具有静态类型.
  • 静态类型批注生成器
    • MonkeyType - 一个 Python 系统,通过收集运行时类型来生成静态类型注释。
    • pytype - Pytype 检查和推断 Python 代码的类型 - 不需要类型注释.

命令行界面开发

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

  • 命令行应用程序开发
    • 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 的快速、可扩展的进度条.

命令行工具

基于 CLI 的有用工具,可提高工作效率。

  • 生产力工具
    • copier - 用于渲染项目模板的库和命令行实用程序。
    • cookiecutter - 从 cookiecutters(项目模板)创建项目的命令行实用程序。
    • doitlive - 用于在终端中进行实时演示的工具。
    • howdoi - 通过命令行即时编码答案。
    • Invoke - 一种工具,用于管理面向 shell 的子进程并将可执行的 Python 代码组织到 CLI 可调用的任务中。
    • PathPicker - 从 bash 输出中选择文件。
    • percol -为UNIX上的传统管道概念添加交互式选择的风味.
    • thefuck - 更正你之前的控制台命令。
    • tmuxp - 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

兼容性

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

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

计算机视觉

计算机视觉库。

并发性和并行性

用于并发和并行执行的库。另请参阅 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 与大数据的接口.
  • 在 Pandas 界面中打开 Mining - Business Intelligence (BI)。
  • Optimus -使用PySpark轻松实现敏捷数据科学工作流.
  • Orange - 通过可视化编程或脚本进行数据挖掘、数据可视化、分析和机器学习.
  • Pandas - 一个提供高性能、易于使用的数据结构和数据分析工具的库.

数据验证

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

  • Cerberus -轻量级且可扩展的数据验证库.
  • colander -验证和反序列化通过XML,JSON,HTML表单帖子获得的数据.
  • jsonschema - Python 的 JSON 架构实现.
  • schema - 用于验证 Python 数据结构的库。
  • 原理图 - 数据结构验证。
  • valideer -轻量级可扩展的数据验证和适配库.
  • voluptuous - Python 数据验证库.

数据可视化

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

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

数据库

用 Python 实现的数据库。

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

数据库驱动程序

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

  • MySQL的 - awesome-mysql
  • PostgreSQL - awesome-postgres
    • psycopg2 - 最流行的 Python PostgreSQL 适配器。
    • queries - 用于与 PostgreSQL 交互的 psycopg2 库的包装器.
  • SQlite - awesome-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 datetime 模块的扩展.
  • delorean - 一个库,用于清除处理日期时间时出现的不便事实.
  • maya - 人类的日期时间。
  • moment - 用于处理日期/时间的 Python 库。灵感来自 Moment.js
  • Pendulum - Python 日期时间变得简单.
  • PyTime - 一个易于使用的 Python 模块,旨在通过字符串操作日期/时间/日期时间.
  • pytz - 世界时区定义,现代和历史。将 tz 数据库引入 Python。
  • when.py - 提供用户友好的功能,以帮助执行常见的日期和时间操作。

调试工具

用于调试代码的库。

  • 类 pdb 调试器
    • ipdb - 启用了 IPython 的 pdb
    • pdb++ - pdb 的另一个直接替代品。
    • pudb - 基于控制台的全屏 Python 调试器.
    • wdb - 通过 WebSockets 的不可能的 Web 调试器。
  • 描图
    • lptrace - Python 程序的 strace
    • manhole - 调试 UNIX 套接字连接并显示所有线程的堆栈跟踪和交互式提示。
    • pyringe -能够附加到Python进程并将代码注入Python进程的调试器.
    • python-hunter - 一个灵活的代码跟踪工具包.
  • 分析器
    • line_profiler - 逐行分析。
    • memory_profiler - 监视 Python 代码的内存使用情况。
    • py-spy - Python 程序的采样分析器.用 Rust 编写。
    • pyflame - Python 的 ptracing 分析器.
    • vprof -可视化Python分析器.
  • 别人

深度学习

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

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

DevOps工具

DevOps 软件和库。

  • 配置管理
    • ansible -一个非常简单的IT自动化平台.
    • cloudinit - 一个多分发包,用于处理云实例的早期初始化。
    • OpenStack -用于构建私有云和公共云的开源软件.
    • pyinfra - 用于自动化基础架构的多功能 CLI 工具和 python 库.
    • saltstack -基础架构自动化和管理系统.
  • SSH 样式部署
    • cuisine - Fabric 的类似厨师的功能。
    • fabric - 用于远程执行和部署的简单 Pythonic 工具.
    • fabtools - 用于编写令人敬畏的 Fabric 文件的工具。
  • 流程管理
  • 监测
    • psutil - 跨平台进程和系统实用程序模块。
  • 备份
    • BorgBackup - 具有压缩和加密功能的重复数据删除存档器。
  • 别人

分布式计算

分布式计算的框架和库。

  • 批处理
    • dask -用于分析计算的灵活并行计算库.
    • luigi -一个模块,可帮助你构建批处理作业的复杂管道.
    • mrjob - 在 Hadoop 或 Amazon Web Services 上运行 MapReduce 作业。
    • PySpark -Apache Spark Python API.
    • Ray -并行和分布式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/Youku/Niconico 视频下载器.
  • youtube-dl - 一个小型命令行程序,用于从 YouTube 下载视频.

电子商务

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

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

编辑器插件和 IDE

  • Emacs的
    • elpy - Emacs Python 开发环境.
  • 崇高的文字
    • anaconda - Anaconda 将你的 Sublime Text 3 变成一个功能齐全的 Python 开发 IDE.
    • SublimeJEDI - 令人敬畏的自动完成库 Jedi 的 Sublime Text 插件.
  • Vim的
    • jedi-vim - Python 的 Jedi 自动完成库的 Vim 绑定.
    • python-mode - 用于将 Vim 转换为 Python IDE 的多合一插件.
    • YouCompleteMe - 包括基于 Jedi 的 Python 完成引擎.
  • Visual Studio的
    • PTVS - 适用于 Visual Studio 的 Python 工具。
  • Visual Studio 代码
    • Python - 官方 VSCode 扩展,对 Python 提供丰富的支持.
  • 集成开发环境
    • PyCharm - JetBrains 的商业 Python IDE.提供免费的社区版。
    • spyder -开源Python IDE.

电子邮件

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

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

企业应用程序集成

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

  • 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 - 用于调用 C 代码的 Python 的外部函数接口。
  • ctypes -(Python标准库)用于Python调用C代码的外部函数接口.
  • PyCUDA - Nvidia 的 CUDA API 的 Python 包装器.
  • SWIG - 简化的包装器和接口生成器。

形式

用于处理表单的库。

函数式编程

使用 Python 进行函数式编程。

  • Coconut - Python 的变体,专为简单、优雅的 Python 函数式编程而构建.
  • CyToolz -Cython实现:高性能功能实用程序.
    Toolz
  • fn.py - Python 中的函数式编程:实现缺少的功能以享受 FP.
  • funcy - 一个花哨而实用的功能工具。
  • more-itertools - 用于对可迭代对象进行操作的更多例程,除了 .
    itertools
  • returns - 一组类型安全的 monads、transformer 和组合实用程序。
  • Toolz - 用于迭代器、函数和字典的功能实用程序的集合。

GUI开发

用于处理图形用户界面应用程序的库。

  • 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 原生、OS 原生 GUI 工具包.
  • urwid - 用于创建终端 GUI 应用程序的库,对小部件、事件、丰富的颜色等提供强大支持.
  • wxPython - wxWidgets C++ 类库与 Python 的混合。
  • DearPyGui - 一个简单的 GPU 加速 Python GUI 框架

图形QL

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

地理位置

用于对地址进行地理编码以及处理纬度和经度的库。

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

HTML 操作

用于处理 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 客户端

用于处理 HTTP 的库。

  • grequests - 异步 HTTP 请求的请求 + gevent。
  • 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 - 使用视觉相似性搜索图像集合的项目.
  • nude.py - 裸露检测。
  • pagan - 基于输入字符串和哈希的复古身份(头像)生成.
  • pillow - Pillow 是友好的 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 -用Java为JVM编写的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)。

国际化

用于处理 i18n 的库。

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

作业计划程序

用于调度作业的库。

  • 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 - 适用于 Python 的 Sentry SDK.
  • structlog -使结构化日志记录变得容易.

机器学习

机器学习库。另请参阅 awesome-machine-learning

  • gym -用于开发和比较强化学习算法的工具包.
  • H2O -开源,快速,可扩展的机器学习平台。
  • 指标 - 机器学习评估指标。
  • 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的可移植开发环境.

杂项

不属于上述类别的有用库或工具。

  • blinker - 一个快速的 Python 进程内信号/事件调度系统.
  • boltons -一组纯Python实用程序.
  • itsdangerous - 将受信任的数据传递到不受信任的环境的各种帮助程序。
  • 洋红色 - 使用人工智能生成音乐和艺术的工具。
  • pluginbase - 一个简单但灵活的 Python 插件系统.
  • tryton -通用业务框架.

自然语言处理

用于处理人类语言的库。

  • 常规
    • gensim -人类主题建模.
    • langid.py - 独立的语言识别系统。
    • nltk -用于构建Python程序以处理人类语言数据的领先平台.
    • pattern - 一个 Web 挖掘模块。
    • polyglot -支持数百种语言的自然语言管道.
    • pytext -基于PyTorch的自然语言建模框架.
    • PyTorch-NLP - 一个工具包,支持快速深度学习 NLP 原型设计以进行研究.
    • spacy - 用于 Python 和 Cython 中工业级自然语言处理的库.
    • Stanza - 斯坦福 NLP 小组的官方 Python 库,支持 60+ 种语言.
  • 中文

网络虚拟化

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

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

新闻提要

用于构建用户活动的库。

ORM的

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

  • 关系数据库
    • Django 模型 - Django ORM。
    • SQLAlchemy -Python SQL工具包和对象关系映射器.
    • dataset - 将 Python 字典存储在数据库中 - 适用于 SQLite、MySQL 和 PostgreSQL。
    • orator - Orator ORM 提供了一个简单而美观的 ActiveRecord 实现.
    • orm - 异步 ORM。
    • peewee - 一个小的、富有表现力的 ORM。
    • pony -为SQL提供面向生成器的接口的ORM.
    • pydal - 一个纯 Python 数据库抽象层.
  • NoSQL 数据库

软件包管理

用于包和依赖项管理的库。

  • pip - Python 的包安装程序。
    • pip-tools - 一组工具,用于使固定的 Python 依赖项保持最新。
    • 皮皮
  • conda - 跨平台、与 Python 无关的二进制包管理器.
  • poetry - Python 依赖管理和打包变得容易.

软件包存储库

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

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

渗透测试

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

权限

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

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

过程

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

推荐系统

用于构建推荐系统的库。

  • 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

用于构建 RESTful API 的库。

  • 姜戈
    • eve - 由 Flask、MongoDB 和良好意图提供支持的 REST API 框架.
    • flask-api - Flask 的可浏览 Web API.
    • flask-restful - 为 Flask 快速构建 REST API.
  • 金字塔
    • cornice - 金字塔的 RESTful 框架.
  • 与框架无关
    • apistar - 专为 Python 3 设计的智能 Web API 框架.
    • 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 框架.

机器人

机器人库。

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

RPC 服务器

与 RPC 兼容的服务器。

  • RPyC (Remote Python Call) - 一个透明且对称的 Python RPC 库
  • zeroRPC - zerorpc 是基于 ZeroMQMessagePack 的灵活 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 算法交易库.

搜索

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

序列化

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

无服务器框架

用于开发无服务器 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格式
    • PDFMiner - 用于从 PDF 文档中提取信息的工具。
    • PyPDF2 - 能够拆分、合并和转换 PDF 页面的库。
    • ReportLab - 允许快速创建丰富的 PDF 文档。
  • 降价
  • YAML的
    • PyYAML - Python 的 YAML 实现.
  • CSV 格式
    • csvkit -用于转换为CSV和使用CSV的实用程序.
  • 档案
    • unp - 一个命令行工具,可以轻松解压缩档案。

静态站点生成器

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

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

标记

用于标记项目的库。

任务队列

用于处理任务队列的库。

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

模板引擎

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

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

测试

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

  • 测试框架
    • hypothesis -Hypothesis是一个基于Quickcheck样式属性的高级测试库.
    • nose2 - 基于 'unittest2.
      nose
    • pytest - 一个成熟的全功能 Python 测试工具.
    • 机器人框架 - 一个通用的测试自动化框架。
    • 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应用程序的开源工具.
  • 模拟
    • doublex - 强大的 Python 测试加倍框架.
    • freezegun - 通过模拟 datetime 模块来穿越时空.
    • 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 - 生成随机日期时间/时间。

文本处理

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

  • 常规
    • chardet - Python 2/3 兼容的字符编码检测器.
    • difflib -(Python 标准库)用于计算增量的帮助程序。
    • ftfy - 使 Unicode 文本不那么破碎,并且自动更加一致.
    • fuzzywuzzy - 模糊字符串匹配.
    • 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 slugs 的 slugifier。
  • 唯一标识符
  • 解析 器

第三方 API

用于访问第三方服务 API 的库。另请参阅 Python API 包装器和库列表

URL 操作

用于解析 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 - 帮助你将 Web 资产集成到 Flask 应用程序中.
  • webassets -捆绑,优化和管理静态资源的唯一缓存无效化URL.

Web 内容提取

用于提取 Web 内容的库。

  • html2text - 将 HTML 转换为 Markdown 格式的文本。
  • lassie -人类的Web内容检索.
  • micawber -用于从URL中提取丰富内容的小型库.
  • newspaper - Python 中的新闻提取、文章提取和内容管理.
  • python-readability - arc90 可读性工具的快速 Python 移植。
  • requests-html - 人类的 Python HTML 解析.
  • sumy -用于自动汇总文本文档和HTML页面的模块.
  • textract - 从任何文档、Word、PowerPoint、PDF 等中提取文本。
  • toapi - 每个网站都提供 API。

网络爬虫

用于自动执行 Web 抓取的库。

  • cola -分布式爬取框架.
  • feedparser - 通用源解析器。
  • grab -网站抓取框架.
  • MechanicalSoup - 用于自动与网站交互的 Python 库。
  • portia - Scrapy 的视觉抓取.
  • pyspider - 一个强大的蜘蛛系统。
  • robobrowser - 一个简单的 Pythonic 库,用于在没有独立 Web 浏览器的情况下浏览 Web.
  • scrapy - A fast high-level screen scraping and web crawling framework.

Web Frameworks

Traditional full stack web frameworks. Also see RESTful API.

WebSocket

Libraries for working with WebSocket.

  • autobahn-python - WebSocket & WAMP for Python on Twisted and asyncio.
  • channels - Developer-friendly asynchrony for Django.
  • websockets - A library for building WebSocket servers and clients with a focus on correctness and simplicity.

WSGI Servers

WSGI-compatible web servers.

  • bjoern - Asynchronous, very fast and written in C.
  • gunicorn - Pre-forked, ported from Ruby's Unicorn project.
  • uWSGI - A project aims at developing a full stack for building hosting services, written in C.
  • waitress - Multi-threaded, powers Pyramid.
  • werkzeug - A WSGI utility library for Python that powers Flask and can easily be embedded into your own projects.

Resources

Where to discover learning resources or new Python libraries.

Books

网站链接

通讯

播客

贡献

随时欢迎你的贡献!请先看一下贡献指南

如果我不确定这些库是否很棒,我会保持一些拉取请求的开放状态,你可以通过添加👍它们来投票支持它们。当拉取请求的票数达到 20 票时,将合并。


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