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
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.0.tar.gz
(203.8 kB
view hashes)
Built Distributions
deflate-0.6.0-cp39-cp39-win32.whl
(44.4 kB
view hashes)
deflate-0.6.0-cp38-cp38-win32.whl
(44.4 kB
view hashes)
Close
Hashes for deflate-0.6.0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c8266926c26181ae10f167dfb74a98b6c34a78427a0ef55d3c949d234b36832 |
|
MD5 | 0b06fa1a3e17183e1f7dedffaf21a443 |
|
BLAKE2b-256 | d583977332eb4fe40937484bd2649c1c288ce21fc99b1a3c65a9f49e62c359fa |
Close
Hashes for deflate-0.6.0-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4df92647ca767cd199487e9f38370fb75eac350dcc59efdb3727990c13c08a7b |
|
MD5 | 97416224b55907040d700a2173bd7a12 |
|
BLAKE2b-256 | c32e96acee7897455ff852033f74d4dcba7526444828636ff9d3523f7176967d |
Close
Hashes for deflate-0.6.0-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e837467fca515f74df604f9dccf251b40946f62b8fc935e3414ccf46f3d3d5c0 |
|
MD5 | 3b7249c04b0f1f5ebe33f2f16a0bd305 |
|
BLAKE2b-256 | 695cd0a76c388501fb8501119d414573fc83c13669c36e887f8c8045988f4a6b |
Close
Hashes for deflate-0.6.0-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 668f235dacfc372464da26e4accdde08a39e05477e208af2f378b3abed3f95e6 |
|
MD5 | 934a5ea199e7fee8657608f5eb5cfd3a |
|
BLAKE2b-256 | 2bffbf9ce259e427aa75e7e5061727d8e162c3518799541bf38d7ed4dc6b2119 |
Close
Hashes for deflate-0.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d41bb52652ea7be542ebf75eeca78b2e553ca198b1dacb8f2b78850d94fd857 |
|
MD5 | 04ae6ba425291946ab27e28998e2abb4 |
|
BLAKE2b-256 | cc25d649b193f85aa698d4014c34a6be4a19616199e797d1c18c2ebb733acecd |
Close
Hashes for deflate-0.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 370f4feec1f2490dcb8a2f6194eb3171959bcaab1f0de6532f9c5cf7cdb31151 |
|
MD5 | 359275b81e4dafc5fc1e34caf99fb4b5 |
|
BLAKE2b-256 | 05d0aa08a4488edc1544e91df1daa5d6cb5fbf65f4b1cc8b95bd61800969dc2f |
Close
Hashes for deflate-0.6.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1071dbae4de42546a469900dea4edb3cf452a34b43ed168cbd381137e21125ea |
|
MD5 | 044ce136354c87183d13130926736767 |
|
BLAKE2b-256 | 60481b78a219de4908dec0f3e507e96239e52ea9c60b2dd89622310ee1aba1c6 |
Close
Hashes for deflate-0.6.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c07b1203d2e5bc164993ca0440c4c13319f306c6ace024024c7586929587088 |
|
MD5 | 9e27c26e5589f80d31b2a151e891f2be |
|
BLAKE2b-256 | db70e8408fd83837fc6ba7cbb17b99b05e6b269edfb678a5756d8db459b35d0e |
Close
Hashes for deflate-0.6.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff44e8a97bf7668d1e25012fe2e2fcc45a4c6a9d9bd9fd5eb5ca821d94d291e1 |
|
MD5 | 110d5d85a5042952bd395aaf22121333 |
|
BLAKE2b-256 | ccf24b6369c33350072dfe8cb7663b1e71e700c9ab0c692c996c8ad73b3e5f21 |
Close
Hashes for deflate-0.6.0-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 621047feb661acf57284377032922fab4870da4355336226f76cf138d63029b3 |
|
MD5 | 8605d74e54df6df495763856f1fdd4a7 |
|
BLAKE2b-256 | a2869e5547b42c5ef1c64d6567a12d42b1dc384e8dc11e9045e6f3f7ebab8551 |
Close
Hashes for deflate-0.6.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46dc78ddc49362161017975f1e0a9ada2f4368ac6159478fc4086a9db176757d |
|
MD5 | 0fe70da7a6dfc4c7f04b18e4fc8a44b3 |
|
BLAKE2b-256 | 9306f22e1bf2bcc4622d65b883b2da70718da7e08dfb243c7e4b3a43da6c1955 |
Close
Hashes for deflate-0.6.0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c9b785fb1c9d5f88865ca785bc5dcb5dda91c69efd1118dc981561445f78451 |
|
MD5 | 751ee48f1c5175300fb76ac21c4c1d40 |
|
BLAKE2b-256 | 3c3471c7945ac7468b2e67f33be23ecbd88c23739fc76e93e53e304836dd888f |
Close
Hashes for deflate-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37f1ba05476e5f1ea351d84321552f1c000bf5deef69b6eda50c16f89b3166d4 |
|
MD5 | 9e31ded903f9890449a9aedc3d8424c5 |
|
BLAKE2b-256 | 5881beea0b0084a9a2e29370c1f33b625bb7ffbb9193dfebd16df417b543b151 |
Close
Hashes for deflate-0.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc292de9065129bc69647e9a746d7101c6cf323be45df9f779f4c8c3696ceb76 |
|
MD5 | cc741e629c488d2ecdd615038fa46c88 |
|
BLAKE2b-256 | 7d7d1fbe44976da524bcc032cc69767917da108921fe9b6515553e2302d95bf0 |
Close
Hashes for deflate-0.6.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1547578e0375986a78eb7d21c883765c7ccbe97f986ab8a42fbbbc141cc3b43b |
|
MD5 | cddc8e3da2d06e9fa3f36ba611c5c128 |
|
BLAKE2b-256 | 0d3a0e59dcd61b7b06792d108d9124eba0856b6f8588c154194d8bbfc4858f89 |
Close
Hashes for deflate-0.6.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cecfcd04e0d1d4bfa0f8978d27170d44e4a7fad7ac8f54cab532e90c8bab655 |
|
MD5 | 5db74a6bf1be4624b01632c0e6795b73 |
|
BLAKE2b-256 | 0155d3e78b6ea4393e40369eec47c85e3b3bd4b953f14cb7ffa2448a389c4b98 |
Close
Hashes for deflate-0.6.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09c9ff4e80ba73c31ccbdd980bfc1c5b14dc4238634c796832989dacfdfe37df |
|
MD5 | 0ee7862251a92b24ac891acdf34b5a40 |
|
BLAKE2b-256 | fc07b5617d79bb69055f8032c3b8f65fbf653a66bbae95a54f04e27f8521a488 |
Close
Hashes for deflate-0.6.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e41d16e7dd348e5e5afd2d56e2024aa08d4249686223e93f2b81de62dce1396 |
|
MD5 | 6b6c775e25e616d33ed3a1b036e138ab |
|
BLAKE2b-256 | 4302acc1064486f829131e11672d178f3f53b0ae12e1116cfe226f322772f10a |
Close
Hashes for deflate-0.6.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d876409738cd0caf74b0248656112495ae05c409d5c167b520d2c88ed291252b |
|
MD5 | f1ad92d31aaacd5d9bb38f19e929d6be |
|
BLAKE2b-256 | 3d22c1fe53f237c2c47c0498df65de0108801c478513508383a5166df8a3e1b6 |
Close
Hashes for deflate-0.6.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78aba0666206d8f84d8c30fd1d977fa79df6f3f88e87ffdc9090af9d5caf0757 |
|
MD5 | 26d1da5757b718c44ed52718c1b98dbc |
|
BLAKE2b-256 | 793c80e7fb62f0fe73c1d268d3baa13ea0b9fe7879dfbd76db58eda1fccb01cd |
Close
Hashes for deflate-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c84ed1866ced7d8e9c206a14ac556c7b85d3baaea1979243634f645acece30b |
|
MD5 | 8209829daf3e7c18d4ddfdee70c97444 |
|
BLAKE2b-256 | 28b650141f5494f0db9cd2104e548040fb8b4bd026b9d93fcd3adc1eda149461 |
Close
Hashes for deflate-0.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f5119cdbe753e3ccd146f078d889044422b08a1f2a3b4da794ad6995da684e3 |
|
MD5 | 5c9c46951bc561dc577d1ad68859a6e7 |
|
BLAKE2b-256 | a117fbd4a365d21d776a37622bd1185342339459f2fcea65f8577e8f81514f15 |
Close
Hashes for deflate-0.6.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5bc2cbf6d27c666b92bbe08ae151b1bd10f3c9f1d0986cd00b47fa35226e44c |
|
MD5 | 8d5d67aa02c991b092aa1af2ec4438c7 |
|
BLAKE2b-256 | 5035cae5d5c14254695379c7f86456c97d79cf541f1b3e761fd7191d5642af3f |
Close
Hashes for deflate-0.6.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 593e26b623c29ba427990a97cbbba54c2dead8c30111c524c768bc9b465895f5 |
|
MD5 | b6498a6b9b242895c8526babded1b73a |
|
BLAKE2b-256 | 6625932f5d1b7c0212221151f1c6f269280998e8687fd690f7dc03f00a479191 |
Close
Hashes for deflate-0.6.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eee122fe041be1ea3bbe9a0ca22167da5bc96320a8540bd57a7280e63457a8ae |
|
MD5 | 69936effb4e457c77179783b625b11af |
|
BLAKE2b-256 | f009f15e3d3f8980764cbdc6d2c73811aa38967ecaf9b3254027929e68a4191f |
Close
Hashes for deflate-0.6.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba96718aeb2982769365cee8da71d5dbd5c81b07b259787f80bd66c796b06fc9 |
|
MD5 | 0975cbf2d9e82267b1635c6a1c3b0eea |
|
BLAKE2b-256 | 43878fc66febe40587f8000a731232249ea6ca1cc14e8cf729b4441de87ea894 |
Close
Hashes for deflate-0.6.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98f43d85ae6db6a04d5c87d76d2cca409cb509cd1a6590fe60c11ccc4e888fe9 |
|
MD5 | faa64c711169f7f9a41c96650e2a9608 |
|
BLAKE2b-256 | 1e1e61f6ac1bf62965f785c7c2dfd3198b705796173575e8d284f39dc6bde19e |
Close
Hashes for deflate-0.6.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e25525d6ce17181e92d8d0fe1b8f37389b698747143f7d1c63385583a0b6f7d |
|
MD5 | c3e39539b8472661770c66d1819437e4 |
|
BLAKE2b-256 | 8c0afb1ef7d4cfa2ddb91023a7cb50da57a7086b588fd651909f774771be694f |
Close
Hashes for deflate-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7e89a780498f7c0b78e0d21107f902228902961108412087fe41da2e45e0667 |
|
MD5 | 222e0d7f4e1e4f965c11afb76c0b49a3 |
|
BLAKE2b-256 | afdda573e577e36b71e4dc9994948f196a24e6b3fc40713cc59ef74a09f34a28 |
Close
Hashes for deflate-0.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a28e23ee0880af4b596c1bf4cda5c84127b42ee457bb80c419577b40e7cb374b |
|
MD5 | 5c264cb919762a023f609734b721df0c |
|
BLAKE2b-256 | 47fd36eede34a16ecbd756ff2b1490e2227df8d7fa8d4ac978015e25fd69d803 |
Close
Hashes for deflate-0.6.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c152f5ee141402615feee75c521940d6787306c2fd56ca65f8ddb684d38ca15 |
|
MD5 | f9be9f07974cf62102fa6a4846874323 |
|
BLAKE2b-256 | c2ad4b20db131ed64e659b5f35f554d67f72968edd2b9bc89ea0a47b3ce1c22b |
Close
Hashes for deflate-0.6.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a7a539e39aa61346e8aea222240c3334c88331bf13f3c13be0048376547ac67 |
|
MD5 | 2347df72d9b977991eec747f0bd6a6c4 |
|
BLAKE2b-256 | 93604ca95bbcadbdcc9799532579a3b58e1088c5fc29134e0232bcef5f2ec2cf |
Close
Hashes for deflate-0.6.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 291f038a69a3e3d5f136bfb286e58a3f39e5a498618ddc1c38178e96791f8dd4 |
|
MD5 | 5e0783cbf4400965c9abaad18dbc1382 |
|
BLAKE2b-256 | cff09905924709347adb768bafe8ee3dd8abd37a4e7c72df561dba8b8e0d2309 |
Close
Hashes for deflate-0.6.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bcdb861a7db2547dfe5e2f94e27d87d6a0228ebf47886f762395eb9aa817887 |
|
MD5 | d5fd2d8b77b66bcb8d9c3c9fc5a6ec7f |
|
BLAKE2b-256 | cc2d3ef1859b137c547533c90f4df942615671892d91897e2c3d80056444e16b |
Close
Hashes for deflate-0.6.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 258f8de28bd9f2ed86b9ab5f1ae73a254add218943f53b48731784b043b59092 |
|
MD5 | 3e237b27bff1b649c045706c2553c8b1 |
|
BLAKE2b-256 | 75a92510d8ff0e6e98aabc6667cd1921143ef0cb3f01b9eb778101f2f28b21f3 |
Close
Hashes for deflate-0.6.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ab4cc45d72f47232dbafe99c3eae15e90260721308c37ba6079eb03c5d433ad |
|
MD5 | df0826c6869fa9bbc91ce85ceea43f01 |
|
BLAKE2b-256 | f881495c61fa3151c3da69147de8e3e451d345f90e0d4d64fb32784add2b0edd |
Close
Hashes for deflate-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d231fa3259cf19f14475e7dbb9d48c4ecc2545f8363f8f6de30d75d0e3ce1c2 |
|
MD5 | f05fd46d13a4368c227486ed974d66db |
|
BLAKE2b-256 | 8c752bf6adc3e479decd2949921632c948ae85c2c11a38cb6ba4ad15ca1fb247 |
Close
Hashes for deflate-0.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 500d605351dfb97285029a3a7306142a40ac2b50f0ab31a00683f320a9a1c0e8 |
|
MD5 | 524929517101fa0123a223423b220b02 |
|
BLAKE2b-256 | 7163d558c0b404beb2acc88c457af9d1f58db00294f9828c30133baebd66180e |
Close
Hashes for deflate-0.6.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c844ba0f36c4d01b93a290638272efc466c0d87141670174e3a7329e762c12f5 |
|
MD5 | 899450d59ff823f51e1b3ea215837286 |
|
BLAKE2b-256 | f7ae3228f6018c863ce069d882a5257cc3f2369110616f96aa791d5e541436e6 |
Close
Hashes for deflate-0.6.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7edd6d3758dbe7ba01e52298d6a92203f92e5d57e3fa7a69ce6766ab2e777c94 |
|
MD5 | 00939c67671f754fefed491b2fa715b7 |
|
BLAKE2b-256 | cfc1d85e639c583081f471727dea4876fce3fe6c4408e34a03fa35826d2fdd51 |