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 and by 7-Zip as one of several possible methods.
ppmd-cffi is a python bindings with PPMd implementation by C language. The C codes are derived from p7zip, portable 7-zip implementation. ppmd-cffi supports PPMd var.H and PPMd var.I.
PyPPMd is a brother project that use python buffer protocol for interface. It supports PPMd var.H, and PPMd var. I on posix platforms(mac and linux). It supports CPython and PyPy.
Manuals
You can find a manual at the readthedocs
Installation
As usual, you can install ppmd-cffi using python standard pip command.
pip install ppmd-cffi
Command
ppmd-cffi provide small utility compress/decompress files.
$ ppmd target.txt
$ ppmd -x target.txt.ppmd
License
Copyright (C) 2020,2021 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.5.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e77a2629b0205539e5820391807490aa1e8159efcb58246caaffc7bb40b9b744 |
|
MD5 | 20688961cf662f494cfc8daf01e73a96 |
|
BLAKE2b-256 | 5b82010542432de9beb052028e52d8432a3a879f5960c8c61635fa7c6fb2298e |
Hashes for ppmd_cffi-0.5.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13f4451732987b8febe17f592d029005435fcb828b92052ecf35ceead0399856 |
|
MD5 | 7c7e84a216fc65e79b0d495132d11311 |
|
BLAKE2b-256 | 5869d4554a98063618612c9cc437584ed3d34b2b0de422d9c90c2f067b98cf64 |
Hashes for ppmd_cffi-0.5.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af2a468930d9cc393a5594f5cf0e4a95d7494f836a30a838293069f7c7f9a3ce |
|
MD5 | b2acd327aec43d132add32b2c66834ea |
|
BLAKE2b-256 | e73b7c577f2fb757f06f50613fdf1029d65451d754642a1b016da777c08033e9 |
Hashes for ppmd_cffi-0.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df2a4eea43e3fd17726973466e8b69945b96dcf5d286dc215a24aa957a599776 |
|
MD5 | 25913baa2230b5b4a4fdf9e7cc4a1b95 |
|
BLAKE2b-256 | dfdbac433fdac8469e5fd20f1853b341e72c4652525f2ea6b9ee177eac6804b0 |
Hashes for ppmd_cffi-0.5.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 920c8692818791b478032d15b438e5669b7b2c0fd9fc6f3edcdea4053ed93c2b |
|
MD5 | f069d9ec27f8a936c700cd4fbe7d0ba4 |
|
BLAKE2b-256 | 134541e1dfee9eae48c79d8ba6f07600b3f27cdd50187b0a60944fdaccab5ec7 |
Hashes for ppmd_cffi-0.5.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc0ffebc277598f5e59e55badba3a32c7f2d8f3af595212af0cbd257054203d3 |
|
MD5 | c7726da634b7df0b4c35ed24a5fd58ac |
|
BLAKE2b-256 | b33052ed46a0aaaa17d77941b2b8115ca6b6b17a7a9a61e7e5fd88dd9720f8ac |
Hashes for ppmd_cffi-0.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c063c700b04dbca196421f3cf4ae8b17d6cc193c81714dcaa6c4626b9ec4d74a |
|
MD5 | e59532c5a52baa7162dd397db6a41330 |
|
BLAKE2b-256 | b3af2646ec506bdc5e1747826ba1e98ff67ef8580dca42947dee813cacc8bf14 |
Hashes for ppmd_cffi-0.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e95f15a6e1e94a6059e726299a5e446ec03686230038c9c330f255eefbb235cd |
|
MD5 | 43ff518814955bb90f9013efecb34b18 |
|
BLAKE2b-256 | c992defad508f454ccc229a8013569b67b93d76dcb0578eede37501eca7a9661 |
Hashes for ppmd_cffi-0.5.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a4f1dec4c8f33c247d1aaf6ea77789142ae49e34eecba63379e12491ef0e463 |
|
MD5 | cfbc2195275b9f4f5ffcb82f64f8ff3d |
|
BLAKE2b-256 | c07bedbaf4b0ea99259d3497fda5fafe600d900db5500eec08613251feb83455 |
Hashes for ppmd_cffi-0.5.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 412486004763aef3e866585b562f5a7619847ed4f5bb00cf7fd770de48980115 |
|
MD5 | 8fd47eb0aa0cd8c243fe0e6af3ca83b7 |
|
BLAKE2b-256 | afa2421ad4f116f68cb6ad62ef0bba7967bf6d1c9b0a71deca49c543a3df5346 |
Hashes for ppmd_cffi-0.5.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a37292f3dcef8cb9504c2af8024997277589f55d72cf0c434533e612151e7c71 |
|
MD5 | bdc01f8b61ff7d7eb3ac8cfb824e74b1 |
|
BLAKE2b-256 | 679df090d05a70879016f2ebffcb02c466371fba4f0ce9c6ca1ad6df1e452c63 |
Hashes for ppmd_cffi-0.5.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee901ef6efdfb72a718402e2f858c517c117169626e9e409e3b14845491b8e44 |
|
MD5 | 2e4d86d2fa2a9cdf06615c4b0f2cf1f9 |
|
BLAKE2b-256 | b30e86fbdae5233a38d348d7d8f77953a0357ca15a121437a3d0ce00528ebb97 |
Hashes for ppmd_cffi-0.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c490c45b8787a8dc1ed1bae402c8985ff0c398d5e60f81badc86559d527201c7 |
|
MD5 | b053749819d9c1cad1e72bedae010ab7 |
|
BLAKE2b-256 | 2abff8dcf2b51f108f30b0bdf17def67d5dfcca93a14a24897eca117e6ce9fd7 |
Hashes for ppmd_cffi-0.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1596d70f3750f34bf6ee55b4a6101ce28f842d817811bcc4c700c3013fccd1df |
|
MD5 | cced47906a8ad8f11f99c1774558bcc5 |
|
BLAKE2b-256 | 493bbe1db417f3689e8c0d9bc65dee1fd129eb3bb01efca0fc7747e2a05ea17f |
Hashes for ppmd_cffi-0.5.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f882dd652b5b51220e731c7ad8a5b18fb6df18bf3079963c6fa10c0e1591fa78 |
|
MD5 | 9f334ec74a4b8f567364c1f5b12cd25c |
|
BLAKE2b-256 | a2033c0a5af8f86d0396eab5f9ee90a6c5d7229e5b4d53c9a5c78aab8f856e6f |
Hashes for ppmd_cffi-0.5.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6362c1e43a246f5778837471899f39636282cb68eba6369aa611a6986156df9b |
|
MD5 | c9ae3854aa375d3aca1b481294d4ad74 |
|
BLAKE2b-256 | e8b38384518aba2006044260ba66b19a2a31c200d9d0dc54228762baebee1867 |
Hashes for ppmd_cffi-0.5.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e3e724ac25e7b106be22edbdb2d529405385292ca73c19e83a8b76aa470dafd |
|
MD5 | a0de72cfa95365b4fa65700d12f74e61 |
|
BLAKE2b-256 | 46aa2b5fe0b58993d181f3af07f17a27b7a96454d45bc90a3994397269395919 |
Hashes for ppmd_cffi-0.5.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4428a2c3c912b1023bb85b3d3f01227b707ebd5f90ded886e31624eeeddeecd |
|
MD5 | 36962f6aa9e09db966454b31e3999f19 |
|
BLAKE2b-256 | 6418ac36a0aacc0a7ecd158055aee4f23783aa5e286165ef30d1b1e26db3ae7e |
Hashes for ppmd_cffi-0.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f53bd5d40cd11c5ad634e85b9659bf85acf0277f202a1a77501bc61112270e0e |
|
MD5 | 8a25e8540075e8a1f9f9171cba354856 |
|
BLAKE2b-256 | f1ce19fa91fe873fa8b857277312d9d48ac434e9c1f2aac10a780b9ed7f052c6 |
Hashes for ppmd_cffi-0.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c0a3f0c830292707afda2ff786ba0cc0b68247e7e1adb8a55979c07ac4bde84 |
|
MD5 | 40623c7ceb9ca40f0c49dda8d5e126cc |
|
BLAKE2b-256 | 42664cab5f6e2638789b89ce37dd07ea7df282fc297d4e18d14ff156cdaa4c80 |
Hashes for ppmd_cffi-0.5.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5df572d810ece53cb31e1b502b9ea72138eeddcfa0658b47df6e783bd37eface |
|
MD5 | 51f77ccbe7a3e65e2bd4cdd46dce744b |
|
BLAKE2b-256 | 1db10b4866ca6e958607249f905eec7108453e33659b85acc581e68fa12474de |
Hashes for ppmd_cffi-0.5.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 710c3e14be3f8d97bb508805612aed025c76441821f452c3f954f06e641ffa3a |
|
MD5 | c4eba7ffedb6bac6fce9530556d1ff68 |
|
BLAKE2b-256 | 86638760b74c04f63e9c0dec7bf9fb0872ff3a3ce7135f7723a8e552f0f81fad |
Hashes for ppmd_cffi-0.5.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdc3f3722dcff6efb7819cd922d5bb12660a00479d6e61f2a26993caae474fc6 |
|
MD5 | 5ac5934c4611b5d73fe118c7af24cccf |
|
BLAKE2b-256 | f220409c0f4f2c76b72a8444872bced0fb4128b18f2685b7d60d814c78401d20 |
Hashes for ppmd_cffi-0.5.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9e61a68bea577d910a7422c2f76b907df4c11c1e78d258590b4df3d712960ea |
|
MD5 | 4fa2a31e09a048078cb49775604068e4 |
|
BLAKE2b-256 | b26f41a9d169c5c5e2fb2a68af4749efea4cd3c20e21dd203bc6775c0598027a |
Hashes for ppmd_cffi-0.5.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f680116e1966c18aa7f2a7332eaeb6a1078e8d33289342d95dff8b01261a4e7 |
|
MD5 | 193a9998ca060f2aba7f847f4bf18fbb |
|
BLAKE2b-256 | 5df2089699634aaa463af369f0ea078e17e0f94a775a2a24b48486a63894e4ff |
Hashes for ppmd_cffi-0.5.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34501dbded93e362a9daa9a51be4ed589d05685ac0b8966c6167d73797f1ef2f |
|
MD5 | 1ff0ef5b4021eac1ea185c6131dcd1a4 |
|
BLAKE2b-256 | 0109f9e899eff48c9ff6da43f9e88793e11371fae377dae9f517082d0c92ba45 |