PPMd compression/decompression library
Project description
PPM(Prediction by partial matching) is a compression algorithm which has several variations of implementations. PPMd is the implementation by Dmitry Shkarin. It is used in the RAR by default and by 7-Zip as one of several possible methods.
ppmd, aka. ppmd-cffi, is a python bindings with PPMd implementation by C language. Core codes are derived from p7zip, portable 7-zip implementation, and now only consist of Ppmd7, PPMd ver.H.
Since 7-zip uses PPMd ver.H and RAR uses PPMd ver.I, the ppmd-cffi is considered compatible with 7-zip’s implementation.
Installation
As usual, you can install ppmd-cffi using python standard pip command. CAUTION: Since it is a bindings with C source code, C compiler should be installed on your operating system.
` pip install ppmd-cffi `
All C source codes are bundled with ppmd-cffi package.
Usage
ppmd-cffi provide two classes. Both class supports context manager, ie. with … as .. syntax.
Encoder
Encoder class provide PPMd encoder. It has encode(), flush() and close() methos.
Decoder
Decoder class pvoride PPMd decoder. It has decode() and close() methods.
Please see test code for a detailed usage.
License
Copyright (C) 2020 Hiroshi Miura
7-Zip Copyright (C) 1999-2010 Igor Pavlov
LZMA SDK Copyright (C) 1999-2010 Igor Pavlov
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for ppmd_cffi-0.2.5-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b97e7edcbdaaed9fec5ba98db3e6165d3594843410240e0c991a1587cb51c60 |
|
MD5 | 18cf1c3a56b73f96fe99d35b4e1c1984 |
|
BLAKE2b-256 | 573f9a6bf24518a5d73f805cf3dbf84ffebfde2e0bcae793e1eb2cdc14062367 |
Hashes for ppmd_cffi-0.2.5-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a683b15c330b0fe761426cb2d8fb345cb95b87ad5574c3d8b8b5ad548db00b75 |
|
MD5 | c574612bdfba517df4709809f3e9fb81 |
|
BLAKE2b-256 | 7782819d68eef7688169fee387ff662f2cfe1fd0c3ac29874963b5c6481e4f4d |
Hashes for ppmd_cffi-0.2.5-cp39-cp39-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d30f2f2c3c113a1dfbe4322d8b747b08f7b5a11f103fe0578a0dca0176add86 |
|
MD5 | e235650d06f5454aa3abaea43dcddd36 |
|
BLAKE2b-256 | a079c1690f50563a17d98fc29032d6fec57561f8befcb7e000b80359a30d22d6 |
Hashes for ppmd_cffi-0.2.5-cp39-cp39-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cbc4c36b24ee677acb1934cd53a88cd8f0d432d28578e773f9151c9d3cac439 |
|
MD5 | 2e651d030e5f75f139d125c002ffb4ba |
|
BLAKE2b-256 | 5419d1124491fd23c87009b1f89f2bbb272a96035e835ad386dbbedbf1e68776 |
Hashes for ppmd_cffi-0.2.5-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee54aeaba63c3862ee55b2367352f26e78821b73cdc60f311f69a9115066650e |
|
MD5 | 0d20a4f69434064a32454e9bfc70ada3 |
|
BLAKE2b-256 | 02120de781b11c8c917dac4e3434b92e6b8047ca31d8638df9cff55c99ca6631 |
Hashes for ppmd_cffi-0.2.5-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba6bc9814954abfec364b16b161128b70bb20e84ca28eac8a5cb4ebfe97608ab |
|
MD5 | 17c9b2ba6aad4bb6f6b5610d41b10120 |
|
BLAKE2b-256 | 5c1b6540737a427fbbed0abc5aea0a65356faa7301ad8d9ed639835638d0f7aa |
Hashes for ppmd_cffi-0.2.5-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72c149cd64c92e2c3ceb7d68d3f66c157631ea598c3b6c86e522d09bb8f8d69b |
|
MD5 | 542a5dc8dbab94aaa991398ec60682fd |
|
BLAKE2b-256 | 65988e2c8e7bad381db6c032915fe2b7893b91c2d4aaf4614eb731f5ad276e5a |
Hashes for ppmd_cffi-0.2.5-cp38-cp38-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ba2d7f0568d0bf3ef2b8955e9a4f15dd16995f48692466d557001c107f5f572 |
|
MD5 | 68eddaded364be6534ac8e5ea504768b |
|
BLAKE2b-256 | d64f0bd2625db282f39f2a0f19d46bdf417f7ffbe9ae2ee5f9aefeadee285f80 |
Hashes for ppmd_cffi-0.2.5-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc5f161aba23e338057efc9b4f157cd41d2a5f69ddd1ed78274e0ad20a350b48 |
|
MD5 | 76d55d0b3ee17b85ecccef71da8144c3 |
|
BLAKE2b-256 | 5c85993feabe602742e0c2cad5bed387ef8604284f91943a9e0f6a99493e8822 |
Hashes for ppmd_cffi-0.2.5-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1019c0273e4367c6b89c40043a04cbe602c093d590044f0895cfff47ad641f15 |
|
MD5 | 326c3c38e1a1fe684a52073f48f0f223 |
|
BLAKE2b-256 | a4d6fd73cb5588e174a167da994a3b4344715e951ba80627626d130c4085f934 |
Hashes for ppmd_cffi-0.2.5-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e27828924b3dd827b0af8e6b6aa2b9e0a3e92e7f102582dc1dafe88cbd505cc9 |
|
MD5 | 67d7d948c70dc120aa82326f90eb6948 |
|
BLAKE2b-256 | 506458b47884a350119ad2d5bed7d1192b9e430ca00510d590b0afdc59afd3de |
Hashes for ppmd_cffi-0.2.5-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bb23b923fd596349870bbeba5ed5c460ee9d9fedeba27c22805112604df83c5 |
|
MD5 | e6d7d479e3edc13ea969f95168ed4444 |
|
BLAKE2b-256 | ed75afb7550cb0ad6824bed594328b3e3bc2a2eb2baecc9b71482efdf11a59c7 |
Hashes for ppmd_cffi-0.2.5-cp37-cp37m-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea2e2dd68115443b8d7b4f55ab9bf5599e1fb42357db89ec21a1b7f77e00fcd8 |
|
MD5 | 14bd62bd7e1b04c56a579b3377d5cafd |
|
BLAKE2b-256 | 8eb4e9faf29385e2bdde09ffb97804a95753eb4b753aa890708c7a4bebfbd49c |
Hashes for ppmd_cffi-0.2.5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55285c0030ee4f899bcfa0d3b32aa1665991b5b402aef0144639267b2e4292e7 |
|
MD5 | 82d01e89a38e5eccbe22dd8c7aa57f35 |
|
BLAKE2b-256 | deb83119763b9855e79d2db203033de21127380035da7b0f9af230d78f8494da |
Hashes for ppmd_cffi-0.2.5-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 969b0b6053babd1fc1f66f654d89853bd2453516e806746ceadae474df45098f |
|
MD5 | 4932c429e641782372e1d3c1c60b8695 |
|
BLAKE2b-256 | c4127913f0fbfc948d9e49d4c25f1a55d1b9eaf7e16195715f334a31f8a18e40 |
Hashes for ppmd_cffi-0.2.5-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc6aaa1b4706b948833575a5e5a1a3b5d270537cda83fa5dcd4cd49538f3f49d |
|
MD5 | 5e6ca5507121343a7b6ce39b58f7f058 |
|
BLAKE2b-256 | 500e36a0aaa74582f7e2e115fa6d223d40b8fd025a6c38a34ce94c3101a3e234 |
Hashes for ppmd_cffi-0.2.5-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf33dea003d79687053edb54e8385d129d1c14e9d2dfcca8664997b66c7dc3f1 |
|
MD5 | c25ba4d94eb58758cdf830d9ef41a410 |
|
BLAKE2b-256 | 81798dcb23cdacedaa81bb6ad1a054812c9df2a963ec608af0ceb275ffbe36a8 |
Hashes for ppmd_cffi-0.2.5-cp36-cp36m-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d38f53ada06b93d21e3120a9f64d5f7922c03f9d763652e423fe55433993ff8 |
|
MD5 | a5e2686d26b284439ff4fdba5e3cb871 |
|
BLAKE2b-256 | 2f54ae05c87a3eee89c265f143aed551f44cb9ac11404d2093bd5406474382ed |
Hashes for ppmd_cffi-0.2.5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b1d3643b686e0775ddf6cc25616139396e41afa1c0a63dde50827ab76502c6c |
|
MD5 | aef28e3974c6cb6d3ceeefc3f10251dd |
|
BLAKE2b-256 | 9bcf4d98534953ac27d2d1e223d26465ff8ab9301f294ac32cd28b16d1c298fb |
Hashes for ppmd_cffi-0.2.5-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e714cbb9b261863a886bc85202f45ceb207dec04e6d9c54b72d9e237da2368a3 |
|
MD5 | cdcf9793d7736393a110a0bf3633ae97 |
|
BLAKE2b-256 | 18be1cc53a5f2c9afdb6dc2dd3054497b5c7df608b4f573bbd0d85fde5b7b033 |
Hashes for ppmd_cffi-0.2.5-cp35-cp35m-manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae117e8588c8cd94675ae2249b9ab1fb539e684a3d5d0879665005cc4698470d |
|
MD5 | a9f8ea9f1bc3e4578986dd14511ef6da |
|
BLAKE2b-256 | d199f9e80cf935403236bf2b4e8ea2aeb17b71dcd76f8b4e423a99bb6219f21e |