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.3-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df824afcaed5486a1f72fe4b8c93b6966f1dac45dbc231c76502636cd8c447c2 |
|
MD5 | 1eb1f2c54b47db0f026ba9305061eb03 |
|
BLAKE2b-256 | 170689202329835dd4d4be6489f8e8abbb927d79cb62e360cb7b87d508a36bd9 |
Hashes for ppmd_cffi-0.2.3-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29ad56c3cf441879716b0a1cf2a39e832a884a622ec7b114139eaf85a56716fb |
|
MD5 | 6c52f4d5d62af6293d5a7f4f2cbf9954 |
|
BLAKE2b-256 | f9e81bb49a71c36553fb6d18230383fa474221aa4013a07a8762b4d1d72a85cd |
Hashes for ppmd_cffi-0.2.3-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29bc1a8d8fe050b5219b04a95ee25679feda286dfb2c16e214083a21d0fd0e16 |
|
MD5 | 6ce5cc1fc1ece1c048a158340fb4b62a |
|
BLAKE2b-256 | 85922b67da02bc9d6778646577982b24581c63f8cd51b0fdbac7b30304e26fb7 |
Hashes for ppmd_cffi-0.2.3-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fb0630909135629dae90c7868dff96d3f6d644a50cb14bb561cbb97b84d6226 |
|
MD5 | 5020db6decd0592d831147a086eba419 |
|
BLAKE2b-256 | e55a544a085a3d791e7a54831a97d5943f2516b0fa92db701015881071565ccb |
Hashes for ppmd_cffi-0.2.3-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b1c800a51c9de480f91aecaa508ca5086513630045cae9fe487d2a071b7bf3f |
|
MD5 | 2ba9d369aa57d70db77cfc7496531129 |
|
BLAKE2b-256 | dad9112a3f1de05a7c8f63134ee46e9d76d4859fc3f92d2d856f25a984569ac3 |
Hashes for ppmd_cffi-0.2.3-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0248e3a723b0d300d57ab6bde5c8fa688f06063f87c232369a03bdaa1f8bc217 |
|
MD5 | 02006802684448e3fb1c00022c1f34db |
|
BLAKE2b-256 | e048a87b1beeee698c0042ab519110173575b964064c6681439cf0901a1a9401 |
Hashes for ppmd_cffi-0.2.3-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2310883d5d26ab6444a0a0b1235cc1f538c0a2e998ec6ab156c49aa583b1b6d |
|
MD5 | 6aa70137d1fad6936202d72493dce9ee |
|
BLAKE2b-256 | b9ec4e56fd112b59679b46a3e09220e64f9a511a00e71f4949872d5da9641eef |
Hashes for ppmd_cffi-0.2.3-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1f35434b1d2031d8018e5e505b2cbfd326e55798a9b4fe3d6ed219943371e42 |
|
MD5 | c765cb89d167b53f3589523736ecfe88 |
|
BLAKE2b-256 | 86728b30c30c68b6ce2af399547e363ba52fecd1423d3c3db684eb4ae95dc4b3 |
Hashes for ppmd_cffi-0.2.3-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5eb21a1a4767d48630244b9c99cba50e73564868af09a922f043e6c9c35e53c6 |
|
MD5 | 680311b8264da3005d7d47a4b5bc09c3 |
|
BLAKE2b-256 | 6e0a451e720ea8dd64cd43d624707630ba32c96299356600f0696267fa1fa0a7 |