跳转到主要内容

PPMd压缩/解压缩库

项目描述

https://badge.fury.io/py/pyppmd.svg https://img.shields.io/conda/vn/conda-forge/pyppmd https://readthedocs.org/projects/pyppmd/badge/?version=latest https://dev.azure.com/miurahr/CodeBerg/_apis/build/status%2FCodeBerg-pyppmd-CI?branchName=main

简介

pyppmd模块提供用于压缩和解压缩文本数据的类和函数,使用PPM(预测匹配)压缩算法,该算法有多种实现变体。PPMd是由Dmitry Shkarin实现的。PyPPMD使用7-zip中引入的Igor Pavlov的range coder。

API类似于Python的bz2/lzma/zlib模块。

代码的一些部分来源于7-zippyzstdppmd-cffi

开发状态

项目状态被视为稳定

额外的输入字节

PPMd 算法和实现旨在使用 Extra 输入字节。当最后一个字节为 b”0” 时,编码器将省略最后一个空字节(b”0”)。如果您没有获取到预期大小的提取数据,则需要提供额外的空字节。

您可以这样操作:

dec = pyppmd.Ppmd7Decoder(max_order=6, mem_size=16 << 10)
result = dec.decode(compressed, length)
if len(result) < length:
    if dec.needs_input:
        # ppmd need an extra null byte
        result += dec.decode(b"\0", length - len(result))
    else:
        result += dec.decode(b"", length - len(result))

项目详情


下载文件

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

源代码发行版

pyppmd-1.1.0.tar.gz (1.3 MB 查看哈希值)

上传时间 源代码

构建发行版

pyppmd-1.1.0-pp310-pypy310_pp73-win_amd64.whl (42.4 kB 查看哈希值)

上传时间 PyPy Windows x86-64

pyppmd-1.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (43.9 kB 查看哈希值)

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

pyppmd-1.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (43.6 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ i686

pyppmd-1.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (44.8 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

pyppmd-1.1.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (41.5 kB 查看哈希值)

上传时间 PyPy macOS 10.9+ x86-64

pyppmd-1.1.0-pp39-pypy39_pp73-win_amd64.whl (42.4 kB 查看哈希值)

上传时间 PyPy Windows x86-64

pyppmd-1.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (43.9 kB 查看哈希值)

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

pyppmd-1.1.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (43.6 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ i686

pyppmd-1.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (44.8 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

pyppmd-1.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (41.5 kB 查看哈希值)

上传时间 PyPy macOS 10.9+ x86-64

pyppmd-1.1.0-pp38-pypy38_pp73-win_amd64.whl (42.4 kB 查看哈希值)

上传时间 PyPy Windows x86-64

pyppmd-1.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (43.9 kB 查看哈希值)

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

pyppmd-1.1.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (43.6 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ i686

pyppmd-1.1.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (44.8 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

pyppmd-1.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (41.5 kB 查看哈希值)

上传时间 PyPy macOS 10.9+ x86-64

pyppmd-1.1.0-cp312-cp312-win_amd64.whl (46.2 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

pyppmd-1.1.0-cp312-cp312-win32.whl (41.3 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86

pyppmd-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl (146.5 kB 查看哈希值)

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

pyppmd-1.1.0-cp312-cp312-musllinux_1_1_i686.whl (135.0 kB 查看哈希值)

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

pyppmd-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl (142.7 kB 查看哈希值)

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

pyppmd-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (142.8 kB 查看哈希值)

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

pyppmd-1.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (136.6 kB 查看哈希值)

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

pyppmd-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (139.1 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARM64

pyppmd-1.1.0-cp312-cp312-macosx_11_0_arm64.whl (46.7 kB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

pyppmd-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl (47.6 kB 查看哈希值)

上传于 CPython 3.12 macOS 10.9+ x86-64

pyppmd-1.1.0-cp312-cp312-macosx_10_9_universal2.whl (76.1 kB 查看哈希值)

上传于 CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)

pyppmd-1.1.0-cp311-cp311-win_amd64.whl (46.1 kB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

pyppmd-1.1.0-cp311-cp311-win32.whl (41.3 kB 查看哈希值)

上传于 CPython 3.11 Windows x86

pyppmd-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl (145.2 kB 查看哈希值)

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

pyppmd-1.1.0-cp311-cp311-musllinux_1_1_i686.whl (133.9 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.1+ i686

pyppmd-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl (141.8 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.1+ ARM64

pyppmd-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (141.2 kB 查看哈希值)

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

pyppmd-1.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (135.5 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686

pyppmd-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (138.2 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

pyppmd-1.1.0-cp311-cp311-macosx_11_0_arm64.whl (46.6 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

pyppmd-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl (47.4 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

pyppmd-1.1.0-cp311-cp311-macosx_10_9_universal2.whl (75.8 kB 查看哈希值)

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

pyppmd-1.1.0-cp310-cp310-win_amd64.whl (46.1 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

pyppmd-1.1.0-cp310-cp310-win32.whl (41.3 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

pyppmd-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl (142.8 kB 查看哈希值)

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

pyppmd-1.1.0-cp310-cp310-musllinux_1_1_i686.whl (131.6 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ i686

pyppmd-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl (139.7 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ ARM64

pyppmd-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (138.9 kB 查看哈希值)

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

pyppmd-1.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (132.9 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ i686

pyppmd-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (135.7 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARM64

pyppmd-1.1.0-cp310-cp310-macosx_11_0_arm64.whl (46.6 kB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

pyppmd-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl (47.3 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

pyppmd-1.1.0-cp310-cp310-macosx_10_9_universal2.whl (75.8 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

pyppmd-1.1.0-cp39-cp39-win_amd64.whl (46.1 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

pyppmd-1.1.0-cp39-cp39-win32.whl (41.3 kB 查看哈希值)

上传于 CPython 3.9 Windows x86

pyppmd-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl (142.6 kB 查看哈希值)

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

pyppmd-1.1.0-cp39-cp39-musllinux_1_1_i686.whl (131.4 kB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ i686

pyppmd-1.1.0-cp39-cp39-musllinux_1_1_aarch64.whl (139.6 kB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ ARM64

pyppmd-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (138.8 kB 查看哈希值)

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

pyppmd-1.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (132.7 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ i686

pyppmd-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (135.5 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

pyppmd-1.1.0-cp39-cp39-macosx_11_0_arm64.whl (46.6 kB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

pyppmd-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl (47.3 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ x86-64

pyppmd-1.1.0-cp39-cp39-macosx_10_9_universal2.whl (75.8 kB 查看哈希值)

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

pyppmd-1.1.0-cp38-cp38-win_amd64.whl (46.2 kB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

pyppmd-1.1.0-cp38-cp38-win32.whl (41.3 kB 查看哈希值)

上传于 CPython 3.8 Windows x86

pyppmd-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl (143.6 kB 查看哈希值)

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

pyppmd-1.1.0-cp38-cp38-musllinux_1_1_i686.whl (132.4 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ i686

pyppmd-1.1.0-cp38-cp38-musllinux_1_1_aarch64.whl (140.3 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ ARM64

pyppmd-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (139.8 kB 查看哈希值)

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

pyppmd-1.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (134.2 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ i686

pyppmd-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (136.8 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARM64

pyppmd-1.1.0-cp38-cp38-macosx_11_0_arm64.whl (46.7 kB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

pyppmd-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl (47.4 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64

pyppmd-1.1.0-cp38-cp38-macosx_10_9_universal2.whl (75.9 kB 查看哈希值)

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

由以下支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误记录StatusPageStatusPage状态页面