Python wrapper for libdeflate.
Project description
deflate API
This is a very thin Python wrapper Eric Biggers' excellent libdeflate.
Currently, it only handles:
Compression and decompression of gzip data, with a very basic API
import deflate
level = 6 # The default; may be 1-12 for libdeflate.
compressed = deflate.gzip_compress(b"hello world!" * 1000, level)
original = deflate.gzip_decompress(compressed)
Compression and decompression of raw DEFLATE or zlib data
The size of the decompressed file needs to be kept through additional logic. Ditto for checksums.
import deflate
level = 6 # The default; may be 1-12 for libdeflate.
data = b"hello world!" * 1000
# DEFLATE
compressed = deflate.deflate_compress(data, level)
original = deflate.deflate_decompress(compressed, len(data))
# zlib
compressed = deflate.zlib_compress(data, level)
original = deflate.zlib_decompress(compressed, len(data))
CRC32 computation
import deflate
crc32 = deflate.crc32(b"hello world! ") # initial
crc32 = deflate.crc32(b"hello universe!", crc32) # continued
Adler-32 computation
import deflate
adler32 = deflate.adler32(b"hello world! ") # initial
adler32 = deflate.adler32(b"hello universe!", adler32) # continued
Installation
Installing deflate
will either link to or compile libdeflate
, depending on the
following:
- If a
LIBDEFLATE_PREFIX
environment variable is set, it will always be used to look for a system-installedlibdeflate
. - If the
pkgconfig
package is installed, it will be used to automatically find (and link to) a system-installedlibdeflate
if available. - Falls back to compiling the bundled libdeflate code. This behavior can be triggered
manually by setting
USE_BUNDLED_DEFLATE=1
.
export USE_BUNDLED_DEFLATE=no # default is no
export LIBDEFLATE_PREFIX=/path/to/lib/deflate # default: no path given
pip install pkgconfig # optional, you also need pkg-config cli tool
pip install deflate
Testing
pip install pytest
pip install pytest-benchmark
pytest
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
deflate-0.6.1.tar.gz
(203.8 kB
view hashes)
Built Distributions
deflate-0.6.1-cp39-cp39-win32.whl
(44.4 kB
view hashes)
deflate-0.6.1-cp38-cp38-win32.whl
(44.4 kB
view hashes)
Close
Hashes for deflate-0.6.1-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 143429c70222ef6901d115f5b0400ba1a33fd9dfb307cb14f203e39c28119729 |
|
MD5 | 5c4699c74c2e5da1b77f247a1cdb5ad6 |
|
BLAKE2b-256 | 5042ad90733a6695fb965cd28bba3bf0637432df9a08ea55628ee2108f660f81 |
Close
Hashes for deflate-0.6.1-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb21dea6a731a58db221d866e79ff87dabf3443dd20e15c6b5d85d2dcedc4b2b |
|
MD5 | 7c0d458566d198d9cdb9f8c56b2aae22 |
|
BLAKE2b-256 | aced7d28b8fbd5a0e7df946954872b590bea0e10fd84858f329496dcf6f7188c |
Close
Hashes for deflate-0.6.1-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b54d8ef667e1f663f178bc1bd060a777f316efca0ea7a6a01af8c4c0b9ff216 |
|
MD5 | 33a77d2b80e6e469c86d763c658496c1 |
|
BLAKE2b-256 | e7f377ef42f2b7e4dc6089a778c12c6bbc7afe58258048b900549d435aa8f8e2 |
Close
Hashes for deflate-0.6.1-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97bc4a27a57d76ece2ed7069ab22074bf08006b6c1a4f3136de02dbc7001c8f6 |
|
MD5 | 7747143d757c5678aa509a3812a7e3cc |
|
BLAKE2b-256 | 277c8c0004b65b99000bbb3ee93c32f737c324d1ff94bcc703fcd26022f75e68 |
Close
Hashes for deflate-0.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eccaa0c08418b1589176a757593326a19d8542d4eac730c99439092385d9d966 |
|
MD5 | fe0c63b74e867132fb61c6fd27a2c1fd |
|
BLAKE2b-256 | 998064e488251689a82e55068f46c8e6cef57f2c7f0691c075f12e7718132da9 |
Close
Hashes for deflate-0.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1625ae6837f1a04d65923ce3562ae79190e2ad15141e026afa574c1750a1d290 |
|
MD5 | de00fa46b13fd892904d9e4c9cee2c75 |
|
BLAKE2b-256 | 5c7a5d90a2e47546fcb405bd3c8a618ad38475b91dd51aa939e47fb269358884 |
Close
Hashes for deflate-0.6.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dd4092263abb153928b5d9110534343c2c6158ed8df9b652225b2defa7e5617 |
|
MD5 | 2361a46094526893fa75c9ac88297b8d |
|
BLAKE2b-256 | eeb83c4b2c48f8abc060f5099ae5fdbd7b41e32e77e88dc94e6193a20c9ab2ea |
Close
Hashes for deflate-0.6.1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9a0325ea5881c9976b0da4157bd09f62505db9e091bece71edc0a7efd52fdb4 |
|
MD5 | cc4a7f8070ab23c891516130d2bc8e36 |
|
BLAKE2b-256 | fe8177d122b5a8283371ef5197fa2e57fc3e509c42458f2726dd9c6a85ebb138 |
Close
Hashes for deflate-0.6.1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9796dea85c930ea594f70764188a113ce5e67589f3814814b82141ca008a0f8e |
|
MD5 | 914692dc291361dd182f08e5bfa83697 |
|
BLAKE2b-256 | 1f783d000e99e3a05b62e9bf16b1c83501918fe9933bb530fac1ae90e220209d |
Close
Hashes for deflate-0.6.1-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 546873769d395bb1676e598dfd8ada88abc4d07f436a1902f3b157a321699a53 |
|
MD5 | 03dd1c418dfaf69189d897237a0ad5e0 |
|
BLAKE2b-256 | 1394fdda71005cc0a5a2ee7f5592809f655db80ff868d445ebb06b54954b4a6b |
Close
Hashes for deflate-0.6.1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc1cdcdfb9878874719d43f8e1f2de22b36ec02d46ec2963e8d756993c355a95 |
|
MD5 | 5a6bf234796136fd90292f7509d122cd |
|
BLAKE2b-256 | 41c742636d1d668080936b87552f383e34587552ca613ace34c02c640c3b446d |
Close
Hashes for deflate-0.6.1-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ba8c85711b9cec6145fe5ea13217bb4e4da3864bba7a73171dc8efa0960f4dc |
|
MD5 | 52cf3b6aaf7da6d34cb20358880321dd |
|
BLAKE2b-256 | e960e28599278b46374ecc23d42f66bbc28e60954296a1a3aedc12c0adad49ad |
Close
Hashes for deflate-0.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e340857e4deb31d6ccc85463b4815204b03c2ce494936bd0efe3d3395be4f833 |
|
MD5 | b273a57071c91fa42fdd9a5eface4574 |
|
BLAKE2b-256 | a8e420710a2683aeaf52590506435ae4f84716c5e1e7997184c26525ce5cee41 |
Close
Hashes for deflate-0.6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb710316dddd59f84e2378e1ea13bbce6390b090e1c2496e224605fb8ea95693 |
|
MD5 | 65d4eb404fc619c3e33e8e3655a24a05 |
|
BLAKE2b-256 | a59590efdd6c6fb63186c0a2efb403d209cdc8913a78ea7e7cf5f14dfe3f4372 |
Close
Hashes for deflate-0.6.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2f948942e63b2b1d92ca266004dfaa4c1ea5d6aca4fdccee3d160c933567469 |
|
MD5 | f3c1d4c5a17abc37c44f4f9ef6f02563 |
|
BLAKE2b-256 | fde3c0fb9415820287957b6f41883e3a5e7ead3377763fc4b0d852ee529bfcf2 |
Close
Hashes for deflate-0.6.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b4c80cadd250476119cf980e82bffe67e7521e8946a78a9613c05ebac456551 |
|
MD5 | 34bad37cae638f26549b664b1f705b90 |
|
BLAKE2b-256 | 5f548e59c3352e1c2f7d138e24c58f969b3e2ba17c417e3bbead25d291e04dc5 |
Close
Hashes for deflate-0.6.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7de33b78e0d4f9269fbbd3a834424fea732fe4605174090632ffa64275efff9 |
|
MD5 | 9bee8aef14885edf995c227689e91b74 |
|
BLAKE2b-256 | a20caa38679addf036318cca5203bac2b2fa59bc8840bda2199fe71c9bb78ce2 |
Close
Hashes for deflate-0.6.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10188c9308b80ea555de84148e4131ebd0c0fe63bd1ec0a5b93fc73e9b31060c |
|
MD5 | fd6a1c59f2f4adac516b2a117b8ee4f5 |
|
BLAKE2b-256 | cf21bcbb2c88f269ab9df6fd7268b7fdb00678dfdc95a87a09e8c7ad929b02fc |
Close
Hashes for deflate-0.6.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8a55a6a0889a5178883c9c895483fbced86232595c609effa42aa26ec0589cd |
|
MD5 | d7d59250a7cba7b8506ac8c2d866191c |
|
BLAKE2b-256 | 5e720e925814d78d2bda1fd65c3b56f46e10f22ec9774ae378715640689e066a |
Close
Hashes for deflate-0.6.1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f0665eb866268171c202686a18a3d079e928157b9ae5bb9836b5b391b66331b |
|
MD5 | 20c25bfdee0d8dcc8dd34a6ce35db467 |
|
BLAKE2b-256 | 894b7a8c4516eb4080bdd5682b934a847cfdca80a248ed0da7ef84a5c262c5b9 |
Close
Hashes for deflate-0.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f711d539c32f7dec8d82c1db871da272d6c89bf1ef22f2878d105f43faaaed1b |
|
MD5 | 5ce405071d41d1a2719aa6743cb1e144 |
|
BLAKE2b-256 | acd154b44d59e7c0b6a88eadbb74c7bd0cd9e70cd9245498ce480afee0ff7b35 |
Close
Hashes for deflate-0.6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bde8f758ab5ae1c90dd6ede822f5f93546c6b85eef3a8430f15685ed428cac8 |
|
MD5 | cfd9bda51e5ab5eeddcea812c7201a66 |
|
BLAKE2b-256 | ca6ad1f9a2c61aacd8433d78d3054f9e24e89b45badf6ec7b286ff11f9dbf265 |
Close
Hashes for deflate-0.6.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03c6b2f7a1814785c989d5357d9eaa534d5164e4434c625cf83c87ebec0137af |
|
MD5 | 32a0217d0c5b7425ebb8a3b46ab89133 |
|
BLAKE2b-256 | c5ac30cd24503ba297b37e4178a85a6426d222a421773eeb0b7bb7b743b9058b |
Close
Hashes for deflate-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe90af7a46b3e7aceeb20b98c871b6c6fa4347ebbd7070883c8a7f54a52cd8ba |
|
MD5 | 3960b32227699927fcbfec2915235c19 |
|
BLAKE2b-256 | 093f6da19aa75eadf0520410e1ef3809fb5f66e5c9cc791a2bacfdb22f9e4c0c |
Close
Hashes for deflate-0.6.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9aab3ffbfc365f9e6472dd29597d9ae00dbad574f3e2c4a46c170f77284109dd |
|
MD5 | 647a763aed5cf1b6318b058d2eeb6b13 |
|
BLAKE2b-256 | 665cceae7144efd4d67cb92655cc26cce9adec63336784a4c880870870b4421e |
Close
Hashes for deflate-0.6.1-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47a59d8d6d1d1b593802c6429305a772e4a1894f60b71542a9ca8977772ad81f |
|
MD5 | 631ed6d38d1badcdd93aab0c610da09c |
|
BLAKE2b-256 | 09ef21631ba83954af60ca32d47b94a28fd6e3d2d461ff1a00f0264567caec1e |
Close
Hashes for deflate-0.6.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f75858d7c8e91d97fe8cbb265ea5cc97dbcdd927d349204ffd40888371d262bb |
|
MD5 | bb17a4bff28adda1b820b02ca3d5feed |
|
BLAKE2b-256 | a1e93914dfc197af13e9fb18ba710a9d20777fe61c0b0418a0047fc7d682ad6d |
Close
Hashes for deflate-0.6.1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 946c97892cd1b1dc4f7b8d2abdad5cae1bb413a6aad8247559826bc807ff37bb |
|
MD5 | 24c2fa5f04d3fca0c357685bc00f33a6 |
|
BLAKE2b-256 | c1f4040ba513ab92beea49c95c33cf8bf8ea7dc9cd6fb971ded85219f59603a8 |
Close
Hashes for deflate-0.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14ef39bddb7e40edaefe8e71024fb690c372495e1b32ca7082fc756eac5d9e2d |
|
MD5 | df2365da8ad54e521e1638d93452d49c |
|
BLAKE2b-256 | 38f7bd6a0868f004d38f9a514eb98e774ceb4a1aff4da2f8855c3b3c89983a5a |
Close
Hashes for deflate-0.6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f03c9a6f80138130b50f0dfcbac73f4eced957b51f592926245db9e7b9b29d9 |
|
MD5 | 15cf2b0f218e1f8577a5977dcaec7505 |
|
BLAKE2b-256 | 7e211e8dfa78957a24468114b8ead907a83ba820c9f88fd8852cf6230414c53a |
Close
Hashes for deflate-0.6.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddf6cc82b75285534fdb1476b247bfc2c8db32daebfa780427e8d166098cfd4c |
|
MD5 | d6459b907889901747af9ae1c7af5d11 |
|
BLAKE2b-256 | 3bcc2166a8842eb80e93584293ca3534fa2e614783f550be11431fb42e989a90 |
Close
Hashes for deflate-0.6.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a79f62be0653430edf264f2b864acb210039e706015df0654736be79567b9ba7 |
|
MD5 | f2a21bc083c9014f8bbd644ce970e0db |
|
BLAKE2b-256 | c322c1996b206fc9aab630568f987b14785de1ed7362cc9c6584a23373597f8b |
Close
Hashes for deflate-0.6.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a2964eb385f23f6eedc6436f8ad06d52b9811a2e463375416f03384b83a7a40 |
|
MD5 | 4aaf3dd68c569f1d5b646dab7011d316 |
|
BLAKE2b-256 | 0a5c54a9f51eafcd0ffe10807e71031cadb216abeda8c105cdc8e79afb65704c |
Close
Hashes for deflate-0.6.1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3089a9f4209889b3fecc0bcbe05b1d3cc12cbd207a1a184afade9fe379a2864c |
|
MD5 | 02ce0e2004969caa750f947425d250e0 |
|
BLAKE2b-256 | 9c166ad73e0ebef78ebf0e405ee581413bb2b2b3703f56d38c311ade14875e2e |
Close
Hashes for deflate-0.6.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bffe67f42edf0c7418c91328336301172775a2102d5d47ce2365a2955fe22920 |
|
MD5 | 38284b3f520aa1c627973b0c47f041e1 |
|
BLAKE2b-256 | d15677e32d9d2b6cafa33f5eb129163254e34ecb3785186dab7dd1023f43b7d2 |
Close
Hashes for deflate-0.6.1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8467f6cd5be10008152b7edc68c87939cfd0d8363bfc4cb88b307796446fcf1b |
|
MD5 | 430351d345d9037416d507da43d846ca |
|
BLAKE2b-256 | 8102c9537fd89386261a9078cdda683602f570b76bc67c32b62841366f8b696b |
Close
Hashes for deflate-0.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38e192e4c6c015cdd71469ea2313dae61ff41a9c6e12f226bbfb45e14efacc03 |
|
MD5 | 0e556cd1eee67b17657dc2a60a3dacea |
|
BLAKE2b-256 | b74633e967961f45c9cb080588d205f72e158d05afc1e22041bc2fe784c477e6 |
Close
Hashes for deflate-0.6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71b9bfc0fe44d9ef653f549d20f7624952d7eb8cc7675ab6b31d00f40556131a |
|
MD5 | a7a455026f149ebecaf27e79ee43b8de |
|
BLAKE2b-256 | ef8fcb32f11ac595119c985c6ff7561aac80f194fba8b9314308b0d95fa215cd |
Close
Hashes for deflate-0.6.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bcfd3b885985765bab69d419753af4ed5be8ed0e5d06b6113b1d26bd6a5601c |
|
MD5 | ec3d52864071c71a0879ac6b1b99f70c |
|
BLAKE2b-256 | 4f71d7d7a7f24d3566b9d7a193bf1e59325e8f8a37e42da23821a42ff34ae75c |
Close
Hashes for deflate-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19aa5eee7bd1f478f4e21767d187758071e5d836139556b035b1b2466a3d5a09 |
|
MD5 | e9cc0b09140408a96c39064e8bd6438a |
|
BLAKE2b-256 | 739036c7691b7e11cbdd1a4dc1c2d1bf3c2b102f6fc5ff833ea79ad1be2716ee |