跳转到主要内容

使用zlib-ng库的zlib和gzip模块的替代品

项目描述

python-zlib-ng

通过为zlib-ng库提供Python绑定,提供更快zlib和gzip兼容的压缩和解压缩。

此软件包为zlib-ng库提供Python绑定。

python-zlib-ng通过提供三个模块提供绑定

  • zlib_ng:使用 zlib-ng 加速性能的 zlib 模块的替代品。

  • gzip_ng:使用 zlib_ng 而不是 zlib 来执行其压缩和校验任务,从而提高性能的 gzip 模块的替代品。

  • gzip_ng_threaded 提供了一个 open 函数,该函数返回可用来读取和写入大文件的缓冲读取或写入流,同时使用一个或多个线程来绕过 GIL。此功能仅适用于流式传输,不支持查找。

zlib_nggzip_ng 几乎与 Python 标准库中的 zlibgzip 完全兼容。有一些细微的差异,请参阅:[与 zlib 和 gzip 模块的差异](#differences-with-zlib-and-gzip-modules)。

快速入门

可以使用以下方式导入 python-zlib-ng 模块:

from zlib_ng import zlib_ng
from zlib_ng import gzip_ng
from zlib_ng import gzip_ng_threaded

zlib_nggzip_ng 被设计为作为替代品使用,因此它们的 API 和函数与 stdlib 的模块相同。

完整的 API 文档可以在 [我们的 readthedocs 页面](https://python-zlib-ng.readthedocs.io) 上找到。

python -m zlib_ng.gzip_ng 实现了一个功能齐全的类似 gzip 的命令行应用程序(就像 python -m gzip,但更好)。完整的用法文档可以在 [我们的 readthedocs 页面](https://python-zlib-ng.readthedocs.io) 上找到。

安装

  • 使用 pip:pip install zlib-ng

  • 使用 conda:conda install python-zlib-ng

安装支持 Linux、Windows 和 MacOS。有关更高级的安装选项,请参阅 [文档](https://python-zlib-ng.readthedocs.io/en/stable/index.html#installation)。

在项目中作为依赖项安装 python-zlib-ng

zlib-ng 支持许多平台,但并非所有这些平台都有预构建的 wheel 文件。为了避免您的用户在安装项目时遇到问题,请按照以下方式列出 python-zlib-ng 依赖项。

setup.cfg:

install_requires =
    zlib-ng; platform.machine == "x86_64" or platform.machine == "AMD64"

setup.py:

extras_require={
    ":platform.machine == 'x86_64' or platform.machine == 'AMD64'": ['zlib-ng']
},

与 zlib 和 gzip 模块的差异

  • 压缩级别 1 zlib_ng 的压缩率比 zlib 差。对于其他压缩级别,zlib_ng 压缩效果更好。

  • gzip_ng.open 返回一个 GzipNGFile 类,而不是 GzipFile。由于不同级别之间的压缩率不同,因此选择在命名上有所区别以反映这一点。gzip_ng.GzipFile 作为 gzip_ng.GzipNGFile 的别名存在,以保持兼容性。

贡献

如果您觉得有任何地方可以改进,请提出 PR 或 issue。欢迎提交错误报告。请在此 [github issue tracker](https://github.com/rhpvorderman/python-zlib-ng/issues) 上报告。

鸣谢

本项目建立在许多软件和经验的基础上。感谢以下人员:

  • zlib-ng 贡献者 为制作 zlib-ng 库。

  • CPython 贡献者。Python-zlib-ng 模仿标准库中的 zlibmodule.cgzip.py,以便 Python 用户更容易采用它。

  • github actions 团队 为创建 actions CI 服务,该服务可在所有三个主要操作系统上构建和测试。

项目详情


下载文件

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

源代码分发

zlib_ng-0.5.1.tar.gz (2.4 MB 查看哈希值)

上传时间 源代码

构建分发

zlib_ng-0.5.1-pp310-pypy310_pp73-win_amd64.whl (88.9 kB 查看哈希值)

上传时间 PyPy Windows x86-64

zlib_ng-0.5.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (105.2 kB 查看哈希值)

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

zlib_ng-0.5.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (96.2 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

zlib_ng-0.5.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl (91.1 kB 查看哈希值)

上传时间 PyPy macOS 11.0+ ARM64

zlib_ng-0.5.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (99.4 kB 查看哈希值)

上传时间 PyPy macOS 10.15+ x86-64

zlib_ng-0.5.1-pp39-pypy39_pp73-win_amd64.whl (88.9 kB 查看哈希值)

上传时间 PyPy Windows x86-64

zlib_ng-0.5.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (105.2 kB 查看哈希值)

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

zlib_ng-0.5.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (96.2 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

zlib_ng-0.5.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl (91.1 kB 查看哈希值)

上传时间: PyPy macOS 11.0+ ARM64

zlib_ng-0.5.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (99.4 kB 查看哈希值)

上传时间: PyPy macOS 10.15+ x86-64

zlib_ng-0.5.1-pp38-pypy38_pp73-win_amd64.whl (89.0 kB 查看哈希值)

上传时间: PyPy Windows x86-64

zlib_ng-0.5.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (105.2 kB 查看哈希值)

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

zlib_ng-0.5.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (96.3 kB 查看哈希值)

上传时间: PyPy manylinux: glibc 2.17+ ARM64

zlib_ng-0.5.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl (91.1 kB 查看哈希值)

上传时间: PyPy macOS 11.0+ ARM64

zlib_ng-0.5.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (99.0 kB 查看哈希值)

上传时间: PyPy macOS 10.9+ x86-64

zlib_ng-0.5.1-cp313-cp313-win_amd64.whl (88.7 kB 查看哈希值)

上传时间: CPython 3.13 Windows x86-64

zlib_ng-0.5.1-cp313-cp313-musllinux_1_2_x86_64.whl (109.8 kB 查看哈希值)

上传时间: CPython 3.13 musllinux: musl 1.2+ x86-64

zlib_ng-0.5.1-cp313-cp313-musllinux_1_2_aarch64.whl (99.9 kB 查看哈希值)

上传时间: CPython 3.13 musllinux: musl 1.2+ ARM64

zlib_ng-0.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (108.3 kB 查看哈希值)

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

zlib_ng-0.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (98.7 kB 查看哈希值)

上传于 CPython 3.13 manylinux: glibc 2.17+ ARM64

zlib_ng-0.5.1-cp313-cp313-macosx_11_0_arm64.whl (91.4 kB 查看哈希值)

上传于 CPython 3.13 macOS 11.0+ ARM64

zlib_ng-0.5.1-cp313-cp313-macosx_10_13_x86_64.whl (99.4 kB 查看哈希值)

上传于 CPython 3.13 macOS 10.13+ x86-64

zlib_ng-0.5.1-cp312-cp312-win_amd64.whl (88.7 kB 查看哈希值)

上传于 CPython 3.12 Windows x86-64

zlib_ng-0.5.1-cp312-cp312-musllinux_1_2_x86_64.whl (109.8 kB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.2+ x86-64

zlib_ng-0.5.1-cp312-cp312-musllinux_1_2_aarch64.whl (100.0 kB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.2+ ARM64

zlib_ng-0.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (108.3 kB 查看哈希值)

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

zlib_ng-0.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (98.8 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARM64

zlib_ng-0.5.1-cp312-cp312-macosx_11_0_arm64.whl (91.4 kB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

zlib_ng-0.5.1-cp312-cp312-macosx_10_13_x86_64.whl (99.4 kB 查看哈希值)

上传于 CPython 3.12 macOS 10.13+ x86-64

zlib_ng-0.5.1-cp311-cp311-win_amd64.whl (88.5 kB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

zlib_ng-0.5.1-cp311-cp311-musllinux_1_2_x86_64.whl (109.5 kB 查看哈希)

上传时间: CPython 3.11 musllinux: musl 1.2+ x86-64

zlib_ng-0.5.1-cp311-cp311-musllinux_1_2_aarch64.whl (99.8 kB 查看哈希)

上传时间: CPython 3.11 musllinux: musl 1.2+ ARM64

zlib_ng-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (108.2 kB 查看哈希)

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

zlib_ng-0.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (98.7 kB 查看哈希)

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

zlib_ng-0.5.1-cp311-cp311-macosx_11_0_arm64.whl (91.2 kB 查看哈希)

上传时间: CPython 3.11 macOS 11.0+ ARM64

zlib_ng-0.5.1-cp311-cp311-macosx_10_9_x86_64.whl (99.1 kB 查看哈希)

上传时间: CPython 3.11 macOS 10.9+ x86-64

zlib_ng-0.5.1-cp310-cp310-win_amd64.whl (88.5 kB 查看哈希)

上传时间: CPython 3.10 Windows x86-64

zlib_ng-0.5.1-cp310-cp310-musllinux_1_2_x86_64.whl (109.5 kB 查看哈希)

上传时间: CPython 3.10 musllinux: musl 1.2+ x86-64

zlib_ng-0.5.1-cp310-cp310-musllinux_1_2_aarch64.whl (99.8 kB 查看哈希)

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

zlib_ng-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (108.1 kB 查看哈希)

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

zlib_ng-0.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (98.7 kB 查看哈希)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARM64

zlib_ng-0.5.1-cp310-cp310-macosx_11_0_arm64.whl (91.2 kB 查看哈希)

上传于 CPython 3.10 macOS 11.0+ ARM64

zlib_ng-0.5.1-cp310-cp310-macosx_10_9_x86_64.whl (99.1 kB 查看哈希)

上传于 CPython 3.10 macOS 10.9+ x86-64

zlib_ng-0.5.1-cp39-cp39-win_amd64.whl (88.6 kB 查看哈希)

上传于 CPython 3.9 Windows x86-64

zlib_ng-0.5.1-cp39-cp39-musllinux_1_2_x86_64.whl (109.5 kB 查看哈希)

上传于 CPython 3.9 musllinux: musl 1.2+ x86-64

zlib_ng-0.5.1-cp39-cp39-musllinux_1_2_aarch64.whl (99.8 kB 查看哈希)

上传于 CPython 3.9 musllinux: musl 1.2+ ARM64

zlib_ng-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (108.2 kB 查看哈希)

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

zlib_ng-0.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (98.7 kB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

zlib_ng-0.5.1-cp39-cp39-macosx_11_0_arm64.whl (91.2 kB 查看哈希)

上传于 CPython 3.9 macOS 11.0+ ARM64

zlib_ng-0.5.1-cp39-cp39-macosx_10_9_x86_64.whl (99.1 kB 查看哈希)

上传于 CPython 3.9 macOS 10.9+ x86-64

zlib_ng-0.5.1-cp38-cp38-win_amd64.whl (88.6 kB 查看哈希)

上传于 CPython 3.8 Windows x86-64

zlib_ng-0.5.1-cp38-cp38-musllinux_1_2_x86_64.whl (109.5 kB 查看哈希)

上传于 CPython 3.8 musllinux: musl 1.2+ x86_64

zlib_ng-0.5.1-cp38-cp38-musllinux_1_2_aarch64.whl (99.9 kB 查看哈希)

上传于 CPython 3.8 musllinux: musl 1.2+ ARM64

zlib_ng-0.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (108.2 kB 查看哈希)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86_64

zlib_ng-0.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (98.8 kB 查看哈希)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARM64

zlib_ng-0.5.1-cp38-cp38-macosx_10_9_x86_64.whl (99.2 kB 查看哈希)

上传于 CPython 3.8 macOS 10.9+ x86_64

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面