跳转到主要内容

基于协程的网络库

项目描述

gevent

https://github.com/gevent/gevent/workflows/gevent%20testing/badge.svg https://ci.appveyor.com/api/projects/status/bqxl88yhpho223jg?svg=true https://coveralls.io/repos/gevent/gevent/badge.svg?branch=master&service=github

gevent是一个基于协程Python网络库,它使用greenletlibevlibuv事件循环之上提供高级同步API。

特性包括

gevent 受 eventlet 启发,但具有更一致的 API、更简单的实现和更好的性能。了解为什么其他人 使用 gevent,并查看基于 gevent 的开源项目列表

gevent 由 Denis Bilenko 编写。

自版本 1.1 以来,gevent 由 Jason Madden 代表 NextThought(通过 gevent 21)和 机构股东服务 维护,并得到 贡献者 的帮助,许可协议为 MIT 许可。

查看最新主要版本中的 新功能

查看此版本的详细 变更日志

在线阅读文档 http://www.gevent.org

问题跟踪器 上发布问题,在 邮件列表 上讨论,并在 博客twitter (@gevent) 上查找公告和信息。

安装和需求

支持的平台

此版本的 gevent 在 Python 3.8 及以上版本上运行(有关测试版本的详细信息,请参阅 PyPI 页面上的分类器或 setup.py)。gevent 需要 greenlet 库,并在 Windows 上默认安装 cffi 库。在未来版本的 gevent 中,cffi 库将成为所有平台上的默认库。

此版本的 gevent 还在 PyPy 3.10(7.3.12)上进行了测试;它应该能在 PyPy 3.9 及以上版本上运行。在 PyPy 上,没有外部依赖。

gevent 在 Windows、macOS 和 Linux 上进行了测试,并应在大多数其他类 Unix 操作系统(例如,FreeBSD、Solaris 等)上运行

较旧的 Python 版本

Python 2 或 Python 3 的较旧版本用户可以安装较旧的 gevent 版本。请注意,这些版本通常不受支持。

Python 版本

gevent 版本

2.5

1.0.x

2.6

1.1.x

<= 2.7.8

1.2.x

3.3

1.2.x

3.4.0 - 3.4.2

1.3.x

3.4.3

1.4.x

3.5.x

20.9.0

2.7.9 - 2.7.18, 3.6, 3.7

22.10

安装

gevent 和 greenlet 都可以使用 pip 进行安装,例如 pip install gevent。也支持使用 buildout 进行安装。

在 Windows、macOS 和 Linux 上,gevent 和 greenlet 都以二进制 wheel 的形式分发。

从源代码安装

如果您无法使用二进制 wheel(对于没有提供预构建 wheel 的平台或如果禁用了 wheel 安装),您可以从源代码构建 gevent。如果没有可用的二进制 wheel,则正常的 pip install 将回退到这样做。有关更多信息,包括常见安装问题,请参阅 从源代码安装

额外依赖项

有一些库可以扩展 gevent 的功能,并且如果它们可用,将会使用。所有这些都可以使用 setuptools extras 进行安装,如下所示,例如 pip install gevent[events]

events

在 gevent 20.5.0 及之前的版本中,这提供了使用 zope.event 的可配置事件支持,并强烈推荐。

在那之后的版本中,此额外库为空且不执行任何操作。它将在 gevent 21.0 中被移除。

dnspython

启用基于 dnspython 的纯 Python 解析器。在 Python 2 中,这还包括 idna。它们可以使用 dnspython 额外库安装。

monitor

增强了 gevent 的自监控能力。这包括用于监控内存使用的 psutil 库。(注意,这可能在所有平台上都无法构建。)

recommended

安装建议的额外库的快捷方式。这包括这里定义的非测试额外库,以及改进 gevent 在某些平台上运行的添加(例如,过去,它包括较新 API 的回端口)。

test

运行完整的 gevent 测试套件所需的所有内容。

项目详情


发布历史 发布通知 | RSS订阅

下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

gevent-24.2.1.tar.gz (6.1 MB 查看哈希值)

上传时间

构建版本

gevent-24.2.1-pp310-pypy310_pp73-macosx_11_0_universal2.whl (1.2 MB 查看哈希)

上传时间 PyPy macOS 11.0+ universal2 (ARM64, x86-64)

gevent-24.2.1-cp312-cp312-win_amd64.whl (1.5 MB 查看哈希)

上传时间 CPython 3.12 Windows x86-64

gevent-24.2.1-cp312-cp312-musllinux_1_1_x86_64.whl (6.8 MB 查看哈希)

上传时间 CPython 3.12 musllinux: musl 1.1+ x86-64

gevent-24.2.1-cp312-cp312-musllinux_1_1_aarch64.whl (5.5 MB 查看哈希)

上传时间 CPython 3.12 musllinux: musl 1.1+ ARM64

gevent-24.2.1-cp312-cp312-manylinux_2_28_x86_64.whl (6.7 MB 查看哈希)

上传时间 CPython 3.12 manylinux: glibc 2.28+ x86-64

gevent-24.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.7 MB 查看哈希)

上传时间 CPython 3.12 manylinux: glibc 2.17+ x86-64

gevent-24.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (5.4 MB 查看哈希)

上传时间 CPython 3.12 manylinux: glibc 2.17+ s390x

gevent-24.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.3 MB 查看哈希)

上传时间 CPython 3.12 manylinux: glibc 2.17+ ppc64le

gevent-24.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.1 MB 查看哈希)

上传时间 CPython 3.12 manylinux: glibc 2.17+ ARM64

gevent-24.2.1-cp312-cp312-macosx_11_0_universal2.whl (3.0 MB 查看哈希)

上传时间 CPython 3.12 macOS 11.0+ universal2 (ARM64, x86-64)

gevent-24.2.1-cp311-cp311-win_amd64.whl (1.5 MB 查看哈希)

上传于 CPython 3.11 Windows x86-64

gevent-24.2.1-cp311-cp311-musllinux_1_1_x86_64.whl (6.8 MB 查看哈希)

上传于 CPython 3.11 musllinux: musl 1.1+ x86-64

gevent-24.2.1-cp311-cp311-musllinux_1_1_aarch64.whl (5.4 MB 查看哈希)

上传于 CPython 3.11 musllinux: musl 1.1+ ARM64

gevent-24.2.1-cp311-cp311-manylinux_2_28_x86_64.whl (6.7 MB 查看哈希)

上传于 CPython 3.11 manylinux: glibc 2.28+ x86-64

gevent-24.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.7 MB 查看哈希)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

gevent-24.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (5.1 MB 查看哈希)

上传于 CPython 3.11 manylinux: glibc 2.17+ s390x

gevent-24.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.0 MB 查看哈希)

上传于 CPython 3.11 manylinux: glibc 2.17+ ppc64le

gevent-24.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.9 MB 查看哈希)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

gevent-24.2.1-cp311-cp311-macosx_11_0_universal2.whl (3.0 MB 查看哈希)

上传于 CPython 3.11 macOS 11.0+ universal2 (ARM64, x86-64)

gevent-24.2.1-cp310-cp310-win_amd64.whl (1.5 MB 查看哈希)

上传于 CPython 3.10 Windows x86-64

gevent-24.2.1-cp310-cp310-musllinux_1_1_x86_64.whl (6.7 MB 查看哈希)

上传于 CPython 3.10 musllinux: musl 1.1+ x86-64

gevent-24.2.1-cp310-cp310-musllinux_1_1_aarch64.whl (5.2 MB 查看哈希值)

上传时间 CPython 3.10 musllinux: musl 1.1+ ARM64

gevent-24.2.1-cp310-cp310-manylinux_2_28_x86_64.whl (6.5 MB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.28+ x86-64

gevent-24.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.6 MB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ x86-64

gevent-24.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (5.0 MB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ s390x

gevent-24.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.9 MB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ ppc64le

gevent-24.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ ARM64

gevent-24.2.1-cp310-cp310-macosx_11_0_universal2.whl (3.0 MB 查看哈希值)

上传时间 CPython 3.10 macOS 11.0+ universal2 (ARM64, x86-64)

gevent-24.2.1-cp39-cp39-win_amd64.whl (1.5 MB 查看哈希值)

上传时间 CPython 3.9 Windows x86-64

gevent-24.2.1-cp39-cp39-win32.whl (1.5 MB 查看哈希值)

上传时间 CPython 3.9 Windows x86

gevent-24.2.1-cp39-cp39-musllinux_1_1_x86_64.whl (6.7 MB 查看哈希值)

上传时间 CPython 3.9 musllinux: musl 1.1+ x86-64

gevent-24.2.1-cp39-cp39-manylinux_2_28_x86_64.whl (6.5 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.28+ x86-64

gevent-24.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.6 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

gevent-24.2.1-cp39-cp39-macosx_11_0_universal2.whl (3.0 MB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ universal2 (ARM64, x86-64)

gevent-24.2.1-cp38-cp38-win_amd64.whl (1.5 MB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

gevent-24.2.1-cp38-cp38-win32.whl (1.5 MB 查看哈希值)

上传于 CPython 3.8 Windows x86

gevent-24.2.1-cp38-cp38-musllinux_1_1_x86_64.whl (7.1 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ x86-64

gevent-24.2.1-cp38-cp38-manylinux_2_28_x86_64.whl (6.7 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.28+ x86-64

gevent-24.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.7 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

gevent-24.2.1-cp38-cp38-macosx_11_0_universal2.whl (3.0 MB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ universal2 (ARM64, x86-64)

由以下支持