# zlib-state
Low-level interface to the zlib library that enables capturing the decoding state.
## Install
From PyPi:
```
pip install zlib-state
```
From source:
```
pip install .
```
Tested on Ubuntu/macOs/Windows with Python 3.7-3.12.
## GzipStateFile
Wraps Decompressor as a buffered reader.
Based on my benchmarking, this is somewhat slower than python's gzip.
A typical usage pattern looks like:
```python
import zlib_state
TARGET_LINE = 5000 # pick back up after around the 5,000th line
# Specify keep_last_state=True to tell object to grab and keep the state and pos after each block
with zlib_state.GzipStateFile('testdata/frankenstein.txt.gz', keep_last_state=True) as f:
for i, line in enumerate(f):
if i == TARGET_LINE:
state, pos = f.last_state, f.last_state_pos
with zlib_state.GzipStateFile('testdata/frankenstein.txt.gz') as f:
f.zseek(pos, state)
remainder = f.read()
```
## Decompressor
Very basic decompression object that's picky and unforgiving.
Based on my benchmarking, this can iterate over gzip files faster than python's gzip.
A typical usage pattern looks like:
```python
import zlib_state
decomp = zlib_state.Decompressor(32 + 15) # from zlib; 32 indicates gzip header, 15 window size
block_count = 0
with open('testdata/frankenstein.txt.gz', 'rb') as f:
while not decomp.eof():
needed_input = decomp.needs_input()
if needed_input > 0:
# decomp needs more input, and it tells you how much.
decomp.feed_input(f.read(needed_input))
# next_chunk may be empty (e.g., if finished with gzip headers) or may contain data.
# It sends as much as it has left in its output buffer, or asks zlib to continue.
next_chunk = decomp.read() # you can also pass a maximum size to take and/or a buffer to write to
if decomp.block_boundary():
block_count += 1
# When it reaches the end of a deflate block, it always stops. At these times, you can grab the state
# if you wish.
if block_count == 4: # resume after the 4th block
state = decomp.get_state() # includes zdict, bits, byte -- everything it needs to resume from pos
pos = decomp.total_in() # the current position in the binary file to resume from
print(f'{block_count} blocks processed')
# resume from somewhere in the file. Only possible spots are the block boundaries, given the state
f.seek(pos)
decomp = zlib_state.Decompressor(-15) # from zlib; 15 window size, negative means no headers
decomp.set_state(*state)
while not decomp.eof():
needed_input = decomp.needs_input()
if needed_input > 0:
# decomp needs more input, and it tells you how much.
decomp.feed_input(f.read(needed_input))
next_chunk = decomp.read()
```
Raw data
{
"_id": null,
"home_page": "https://github.com/seanmacavaney/zlib-state",
"name": "zlib-state",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "Sean MacAvaney",
"author_email": "sean.macavaney@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/84/ee/d4a461b3f96ae5ddb3ab89a294075ecb7c28a28ff56be1fe8bd09f9c50b1/zlib_state-0.1.9.tar.gz",
"platform": null,
"description": "# zlib-state\n\nLow-level interface to the zlib library that enables capturing the decoding state.\n\n## Install\n\nFrom PyPi:\n\n```\npip install zlib-state\n```\n\nFrom source:\n\n```\npip install .\n```\n\nTested on Ubuntu/macOs/Windows with Python 3.7-3.12.\n\n## GzipStateFile\n\nWraps Decompressor as a buffered reader.\n\nBased on my benchmarking, this is somewhat slower than python's gzip.\n\nA typical usage pattern looks like:\n\n```python\nimport zlib_state\n\nTARGET_LINE = 5000 # pick back up after around the 5,000th line\n# Specify keep_last_state=True to tell object to grab and keep the state and pos after each block\nwith zlib_state.GzipStateFile('testdata/frankenstein.txt.gz', keep_last_state=True) as f:\n for i, line in enumerate(f):\n if i == TARGET_LINE:\n state, pos = f.last_state, f.last_state_pos\n\nwith zlib_state.GzipStateFile('testdata/frankenstein.txt.gz') as f:\n f.zseek(pos, state)\n remainder = f.read()\n```\n\n## Decompressor\n\nVery basic decompression object that's picky and unforgiving.\n\nBased on my benchmarking, this can iterate over gzip files faster than python's gzip.\n\nA typical usage pattern looks like:\n\n```python\nimport zlib_state\n\ndecomp = zlib_state.Decompressor(32 + 15) # from zlib; 32 indicates gzip header, 15 window size\nblock_count = 0\nwith open('testdata/frankenstein.txt.gz', 'rb') as f:\n while not decomp.eof():\n needed_input = decomp.needs_input()\n if needed_input > 0:\n # decomp needs more input, and it tells you how much.\n decomp.feed_input(f.read(needed_input))\n # next_chunk may be empty (e.g., if finished with gzip headers) or may contain data.\n # It sends as much as it has left in its output buffer, or asks zlib to continue.\n next_chunk = decomp.read() # you can also pass a maximum size to take and/or a buffer to write to\n if decomp.block_boundary():\n block_count += 1\n # When it reaches the end of a deflate block, it always stops. At these times, you can grab the state\n # if you wish.\n if block_count == 4: # resume after the 4th block\n state = decomp.get_state() # includes zdict, bits, byte -- everything it needs to resume from pos\n pos = decomp.total_in() # the current position in the binary file to resume from\n print(f'{block_count} blocks processed')\n # resume from somewhere in the file. Only possible spots are the block boundaries, given the state\n f.seek(pos)\n decomp = zlib_state.Decompressor(-15) # from zlib; 15 window size, negative means no headers\n decomp.set_state(*state)\n while not decomp.eof():\n needed_input = decomp.needs_input()\n if needed_input > 0:\n # decomp needs more input, and it tells you how much.\n decomp.feed_input(f.read(needed_input))\n next_chunk = decomp.read()\n```\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Low-level interface to the zlib library that enables capturing the decoding state",
"version": "0.1.9",
"project_urls": {
"Homepage": "https://github.com/seanmacavaney/zlib-state"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "56840619cadedd1ae873353fc2d15873bcd9be1a2a5d2f6c100006e7bc483124",
"md5": "9bc0b795ad5de88fb985a72cb93cec10",
"sha256": "97f45d0f80e9d7070229ecb36112eea6a17dc40053449a9c613ef837d9cb66b4"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "9bc0b795ad5de88fb985a72cb93cec10",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 20259,
"upload_time": "2024-09-05T20:24:59",
"upload_time_iso_8601": "2024-09-05T20:24:59.394816Z",
"url": "https://files.pythonhosted.org/packages/56/84/0619cadedd1ae873353fc2d15873bcd9be1a2a5d2f6c100006e7bc483124/zlib_state-0.1.9-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "be8475833ca8df9307aa098acca7ee1f959790b4e4f811242d5363908bd8c713",
"md5": "7518b1b833c6bf3b52da811b561c5ada",
"sha256": "3564eaa130f2533b87b82d0e622cfb5c25acec123e7bfe38d39db9ce6349cb52"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "7518b1b833c6bf3b52da811b561c5ada",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 21783,
"upload_time": "2024-09-05T20:25:00",
"upload_time_iso_8601": "2024-09-05T20:25:00.924909Z",
"url": "https://files.pythonhosted.org/packages/be/84/75833ca8df9307aa098acca7ee1f959790b4e4f811242d5363908bd8c713/zlib_state-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ed38910748b5f788d311f43d2dabc11f0bddc173d600e0ede7f1660d78f4efb0",
"md5": "9865e3600989b428677d8823049475b7",
"sha256": "0e633bd3fb65cd8c8f0fc5870cdd40354f218f815cc7a53fb525410251f06ab9"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "9865e3600989b428677d8823049475b7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.6",
"size": 12703,
"upload_time": "2024-09-05T20:22:21",
"upload_time_iso_8601": "2024-09-05T20:22:21.162339Z",
"url": "https://files.pythonhosted.org/packages/ed/38/910748b5f788d311f43d2dabc11f0bddc173d600e0ede7f1660d78f4efb0/zlib_state-0.1.9-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "47be22a0657de2e7ad230aec984935f980e77bd21706688a90ae2572de06e1d8",
"md5": "77968a0f0aa015cd135700faafb3f4b9",
"sha256": "9bbfd191c908be2ba04319e57b4d166f9c625204c1a8c85d2eb968d9d7d14dcb"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "77968a0f0aa015cd135700faafb3f4b9",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 20324,
"upload_time": "2024-09-05T20:25:01",
"upload_time_iso_8601": "2024-09-05T20:25:01.817835Z",
"url": "https://files.pythonhosted.org/packages/47/be/22a0657de2e7ad230aec984935f980e77bd21706688a90ae2572de06e1d8/zlib_state-0.1.9-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ad4814617cfa8ec97309e2e3cabc42b3e106e9354775940dc96443e9e5f1e55c",
"md5": "4272d96af9e828ab6de33e65d7b053af",
"sha256": "66dd680ef5c0d21fe1e673a4c68173feeda20f7933e3468c22c44d5960ebf621"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "4272d96af9e828ab6de33e65d7b053af",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 21816,
"upload_time": "2024-09-05T20:25:02",
"upload_time_iso_8601": "2024-09-05T20:25:02.620210Z",
"url": "https://files.pythonhosted.org/packages/ad/48/14617cfa8ec97309e2e3cabc42b3e106e9354775940dc96443e9e5f1e55c/zlib_state-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "621aa111ef96419b7195a3a50604668fe56cb5894fdecc79befcef964da5e103",
"md5": "facacd074b1fb1f88c9f3ec7fab934a0",
"sha256": "cdb7cdf2515d8c70c6a99a331bf8c1486b3bda77371e951961272cc9888494e1"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "facacd074b1fb1f88c9f3ec7fab934a0",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.6",
"size": 12704,
"upload_time": "2024-09-05T20:22:21",
"upload_time_iso_8601": "2024-09-05T20:22:21.432921Z",
"url": "https://files.pythonhosted.org/packages/62/1a/a111ef96419b7195a3a50604668fe56cb5894fdecc79befcef964da5e103/zlib_state-0.1.9-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6cae739524e41a73cb77565bcb14d30478b322bc109f6e79fc583572eb75f637",
"md5": "81eba28bb6988f439e1a847f98bff12e",
"sha256": "c22bc6ea28d1cbb717e7ba8254b12da5cff0820309d7ff46dba083d2dc44fd69"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "81eba28bb6988f439e1a847f98bff12e",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 20601,
"upload_time": "2024-09-05T20:25:03",
"upload_time_iso_8601": "2024-09-05T20:25:03.428925Z",
"url": "https://files.pythonhosted.org/packages/6c/ae/739524e41a73cb77565bcb14d30478b322bc109f6e79fc583572eb75f637/zlib_state-0.1.9-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c6f887cbda2338b5254db486804f8ce802a47a870b3f8572e757d37bd1f3d122",
"md5": "cdc2dc46311a00ef15f9b11b68fe80c8",
"sha256": "06ed845442af6fc8ad885037b1393c02ff1554638cd43ff8718ca1fb8999b7c7"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "cdc2dc46311a00ef15f9b11b68fe80c8",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 22288,
"upload_time": "2024-09-05T20:25:04",
"upload_time_iso_8601": "2024-09-05T20:25:04.449826Z",
"url": "https://files.pythonhosted.org/packages/c6/f8/87cbda2338b5254db486804f8ce802a47a870b3f8572e757d37bd1f3d122/zlib_state-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9988cb175ba96b1b72b424b789151341206389b913bba4de2abffc6f767cb8cb",
"md5": "1b814859c80fcfdef665727ecc73c529",
"sha256": "862b120477db67df4ad8af8c135fe134ae4051693d6a6abf1c208d9d1170d7d8"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "1b814859c80fcfdef665727ecc73c529",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.6",
"size": 12734,
"upload_time": "2024-09-05T20:22:33",
"upload_time_iso_8601": "2024-09-05T20:22:33.219564Z",
"url": "https://files.pythonhosted.org/packages/99/88/cb175ba96b1b72b424b789151341206389b913bba4de2abffc6f767cb8cb/zlib_state-0.1.9-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "150167937968569035b7493c16b2815e5ccb0978b80b24370336018a95f33339",
"md5": "70aa32766f2e1ccffa033355bf023720",
"sha256": "8686b95a3510066aea346b3baf4067f23488d1b4832b48ccdb4863e1968b00bd"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "70aa32766f2e1ccffa033355bf023720",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 20554,
"upload_time": "2024-09-05T20:25:05",
"upload_time_iso_8601": "2024-09-05T20:25:05.279375Z",
"url": "https://files.pythonhosted.org/packages/15/01/67937968569035b7493c16b2815e5ccb0978b80b24370336018a95f33339/zlib_state-0.1.9-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0458f005059f410c01cf81ac0b32a79632cbeeeccf708e3a02f5cc92f68610ee",
"md5": "7a552c59d606542d18aab178c81c6d96",
"sha256": "bfc20e1be15d7a29e3b29c12860727f5eed94dd3e5d55f087a27051b5c0a0d59"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "7a552c59d606542d18aab178c81c6d96",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.6",
"size": 22250,
"upload_time": "2024-09-05T20:25:06",
"upload_time_iso_8601": "2024-09-05T20:25:06.084705Z",
"url": "https://files.pythonhosted.org/packages/04/58/f005059f410c01cf81ac0b32a79632cbeeeccf708e3a02f5cc92f68610ee/zlib_state-0.1.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d1463d36c1ae0e64adfdf2144df36a9dd91fa1a94f3d4a25c009442f79142498",
"md5": "b95b5b300ea5dc1914aa61f6329dab77",
"sha256": "e96af2f329e0931e96030a7294b52821aecfa390fee8c12dc2d0a143b1dd2720"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "b95b5b300ea5dc1914aa61f6329dab77",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3.6",
"size": 20426,
"upload_time": "2024-09-05T20:25:07",
"upload_time_iso_8601": "2024-09-05T20:25:07.598361Z",
"url": "https://files.pythonhosted.org/packages/d1/46/3d36c1ae0e64adfdf2144df36a9dd91fa1a94f3d4a25c009442f79142498/zlib_state-0.1.9-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "86115ceb2779f554bd67941c386ac6432a4052a526a5cfb548500da1f466e7c6",
"md5": "538a243bce6fb64f73f1073f303e0622",
"sha256": "b2a0dec8c12a7df84435d3777f88c6fb424e5405c7151a3c219f18257f7830b7"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "538a243bce6fb64f73f1073f303e0622",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": ">=3.6",
"size": 21942,
"upload_time": "2024-09-05T20:25:08",
"upload_time_iso_8601": "2024-09-05T20:25:08.445395Z",
"url": "https://files.pythonhosted.org/packages/86/11/5ceb2779f554bd67941c386ac6432a4052a526a5cfb548500da1f466e7c6/zlib_state-0.1.9-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e6432942dc815cddf045dbfcc59cbe3c9de65b27080567d7281b0e17afde5c9b",
"md5": "974513aaf9b8554dde81df795bae2c11",
"sha256": "d2557c04013733022b14023edbf9a52000ecf5dfee530b925abe33e9eb2167ac"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "974513aaf9b8554dde81df795bae2c11",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.6",
"size": 20406,
"upload_time": "2024-09-05T20:25:09",
"upload_time_iso_8601": "2024-09-05T20:25:09.268323Z",
"url": "https://files.pythonhosted.org/packages/e6/43/2942dc815cddf045dbfcc59cbe3c9de65b27080567d7281b0e17afde5c9b/zlib_state-0.1.9-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "153742a5dc94bd7ac3e9522b922e70cfa65f70e4a70981575a364e92a972b1c5",
"md5": "33546e1fefed80cf56321386ba174bae",
"sha256": "83d246e7c56eca91b0dfa6757617b452c80af9dfc1c26c22cae83972dc3659e1"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "33546e1fefed80cf56321386ba174bae",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.6",
"size": 21920,
"upload_time": "2024-09-05T20:25:10",
"upload_time_iso_8601": "2024-09-05T20:25:10.205741Z",
"url": "https://files.pythonhosted.org/packages/15/37/42a5dc94bd7ac3e9522b922e70cfa65f70e4a70981575a364e92a972b1c5/zlib_state-0.1.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c156dc99f96bdaefb9183d9a6eb3cf57c238f2bed1024c2d8b9f4a10d1029270",
"md5": "323d1f4d37844a7e48a868247a77a000",
"sha256": "33d731a7cdeb310dbe8ae7473ae5b06b7d905c6459791356de884944f734077f"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "323d1f4d37844a7e48a868247a77a000",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 21087,
"upload_time": "2024-09-05T20:25:11",
"upload_time_iso_8601": "2024-09-05T20:25:11.039383Z",
"url": "https://files.pythonhosted.org/packages/c1/56/dc99f96bdaefb9183d9a6eb3cf57c238f2bed1024c2d8b9f4a10d1029270/zlib_state-0.1.9-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "63cdf5a499932ceefa8298944de45e94647d0e5ea6e1e2c95fbb01437d6a04d1",
"md5": "e17aed8fcfb30c79f7c768ff3ba0d210",
"sha256": "d4ceef43fde93b2626655b22a8c88768607e844ea3d2ca6429d79beeeda1a671"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "e17aed8fcfb30c79f7c768ff3ba0d210",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 22587,
"upload_time": "2024-09-05T20:25:12",
"upload_time_iso_8601": "2024-09-05T20:25:12.685389Z",
"url": "https://files.pythonhosted.org/packages/63/cd/f5a499932ceefa8298944de45e94647d0e5ea6e1e2c95fbb01437d6a04d1/zlib_state-0.1.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "38c176d170c1dc8c382abb1df373b5902d3ac63e1924fb2a8f11ddf3eb9c08f9",
"md5": "6ae2dadb31013df74b0b312c06a2e76b",
"sha256": "45fcd1c322daac34785250a7b1d099402e62eb54e9318c952de6b527737d2776"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "6ae2dadb31013df74b0b312c06a2e76b",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 12700,
"upload_time": "2024-09-05T20:22:33",
"upload_time_iso_8601": "2024-09-05T20:22:33.631437Z",
"url": "https://files.pythonhosted.org/packages/38/c1/76d170c1dc8c382abb1df373b5902d3ac63e1924fb2a8f11ddf3eb9c08f9/zlib_state-0.1.9-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5f5e7d9af13be105d37963ff0b6cef7932a082653182084fe5b27162806ec018",
"md5": "8dda0346bff73af9cb3967dbcf714dee",
"sha256": "001b5fb0af67e978e6d50b9ac8a1aed9d2411d8131c032eec3f02d65f23fb5a0"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "8dda0346bff73af9cb3967dbcf714dee",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 20113,
"upload_time": "2024-09-05T20:25:13",
"upload_time_iso_8601": "2024-09-05T20:25:13.828220Z",
"url": "https://files.pythonhosted.org/packages/5f/5e/7d9af13be105d37963ff0b6cef7932a082653182084fe5b27162806ec018/zlib_state-0.1.9-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b23b7c2e30d9f5ea84e4f1933a4a0d15342046807f904d9ce51d52ce0123543f",
"md5": "4bfee7bdd47e1f8d944779b1def84901",
"sha256": "a8255a96bc6ff5964cc665e718ea1c8da4895bdc292536a32d11396d63524609"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "4bfee7bdd47e1f8d944779b1def84901",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 21621,
"upload_time": "2024-09-05T20:25:15",
"upload_time_iso_8601": "2024-09-05T20:25:15.308885Z",
"url": "https://files.pythonhosted.org/packages/b2/3b/7c2e30d9f5ea84e4f1933a4a0d15342046807f904d9ce51d52ce0123543f/zlib_state-0.1.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4ff62debb2243a1d804e36eadec311985eb3b4f2231e3dc79bcc1c4353d35d6c",
"md5": "dfceadd5617a25141784e02cfeb43688",
"sha256": "20811b7271c721baac2feb3f2b14aeda66e4989d6df2edc3242bab3a820e2279"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "dfceadd5617a25141784e02cfeb43688",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.6",
"size": 12699,
"upload_time": "2024-09-05T20:23:04",
"upload_time_iso_8601": "2024-09-05T20:23:04.372497Z",
"url": "https://files.pythonhosted.org/packages/4f/f6/2debb2243a1d804e36eadec311985eb3b4f2231e3dc79bcc1c4353d35d6c/zlib_state-0.1.9-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9ae2a9aa84131daa7dba30a96c0a9b0cbcbf002d01ceb58c3cbd73b2bec7228d",
"md5": "30fc0863ddd5c20e248c9d86709c273f",
"sha256": "cc968a30b50a5cc6c0e45a6e756f370b6530445247631dcca526108a1278889c"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "30fc0863ddd5c20e248c9d86709c273f",
"packagetype": "bdist_wheel",
"python_version": "pp37",
"requires_python": ">=3.6",
"size": 11872,
"upload_time": "2024-09-05T20:25:16",
"upload_time_iso_8601": "2024-09-05T20:25:16.177373Z",
"url": "https://files.pythonhosted.org/packages/9a/e2/a9aa84131daa7dba30a96c0a9b0cbcbf002d01ceb58c3cbd73b2bec7228d/zlib_state-0.1.9-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "678ad7c42d19208a1e376a693074440e9cf923e6a0bb033e0cf97047404d29eb",
"md5": "5ec9ad5e9b96b4e2bdd7661ac7504f1f",
"sha256": "f76bfc69636b24c26521bbb2bacd26a3826ff57112d0b7801662a122ea98bec1"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "5ec9ad5e9b96b4e2bdd7661ac7504f1f",
"packagetype": "bdist_wheel",
"python_version": "pp37",
"requires_python": ">=3.6",
"size": 11748,
"upload_time": "2024-09-05T20:25:17",
"upload_time_iso_8601": "2024-09-05T20:25:17.069601Z",
"url": "https://files.pythonhosted.org/packages/67/8a/d7c42d19208a1e376a693074440e9cf923e6a0bb033e0cf97047404d29eb/zlib_state-0.1.9-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "943ccef9b38d6119ae416af048b9419a7e7acda94619f3a2c8e90069b56a38a7",
"md5": "908702b7bf270354641e3aec4fb95539",
"sha256": "b697d58ef519dbbe76361c0d37a605f599660119c2ddac70811995ebdcc8cc20"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "908702b7bf270354641e3aec4fb95539",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": ">=3.6",
"size": 11844,
"upload_time": "2024-09-05T20:25:19",
"upload_time_iso_8601": "2024-09-05T20:25:19.176615Z",
"url": "https://files.pythonhosted.org/packages/94/3c/cef9b38d6119ae416af048b9419a7e7acda94619f3a2c8e90069b56a38a7/zlib_state-0.1.9-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c2bda5b350bbfb1891f6439c7acf2fb4a12acf7e84e107d31ffb2ace77f3bbe9",
"md5": "d3f1fc3249661ff79eb585ea6c2f1556",
"sha256": "8773ff5130999017178bdc52bea27d48eb9c78d2f113547a317474a5d24665e6"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d3f1fc3249661ff79eb585ea6c2f1556",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": ">=3.6",
"size": 11682,
"upload_time": "2024-09-05T20:25:20",
"upload_time_iso_8601": "2024-09-05T20:25:20.328244Z",
"url": "https://files.pythonhosted.org/packages/c2/bd/a5b350bbfb1891f6439c7acf2fb4a12acf7e84e107d31ffb2ace77f3bbe9/zlib_state-0.1.9-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "51c1c6c33e9a2f4ecf5d8e9af725867275b7f0beb306d41ed628686a7984cb7e",
"md5": "f688504721173ed4cb966972fa23d69a",
"sha256": "4c27962a41070c863a9464a4e663df7716feb42cf28bec3dbafa35c68f7bd1b0"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "f688504721173ed4cb966972fa23d69a",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.6",
"size": 11833,
"upload_time": "2024-09-05T20:25:21",
"upload_time_iso_8601": "2024-09-05T20:25:21.180911Z",
"url": "https://files.pythonhosted.org/packages/51/c1/c6c33e9a2f4ecf5d8e9af725867275b7f0beb306d41ed628686a7984cb7e/zlib_state-0.1.9-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e20418fa47a4c4201c16d153e7118873869b1982c126e9c69ecf13a32f19776a",
"md5": "5aa65023752e2cb02c0e7ab520e03cf3",
"sha256": "d3cdbffc1808590b03eb656f5eda2fd83f069e345ed0fdab90681252ab64b7ad"
},
"downloads": -1,
"filename": "zlib_state-0.1.9-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "5aa65023752e2cb02c0e7ab520e03cf3",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.6",
"size": 11676,
"upload_time": "2024-09-05T20:25:22",
"upload_time_iso_8601": "2024-09-05T20:25:22.524433Z",
"url": "https://files.pythonhosted.org/packages/e2/04/18fa47a4c4201c16d153e7118873869b1982c126e9c69ecf13a32f19776a/zlib_state-0.1.9-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "84eed4a461b3f96ae5ddb3ab89a294075ecb7c28a28ff56be1fe8bd09f9c50b1",
"md5": "c53fe37cd0615c90f72053c752abdffb",
"sha256": "8baef0cd0ab9f9d556a35df3f57b8d0f8b4a49c3f028189ab401672939cf435d"
},
"downloads": -1,
"filename": "zlib_state-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "c53fe37cd0615c90f72053c752abdffb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 9473,
"upload_time": "2024-09-05T20:21:21",
"upload_time_iso_8601": "2024-09-05T20:21:21.653542Z",
"url": "https://files.pythonhosted.org/packages/84/ee/d4a461b3f96ae5ddb3ab89a294075ecb7c28a28ff56be1fe8bd09f9c50b1/zlib_state-0.1.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-05 20:21:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "seanmacavaney",
"github_project": "zlib-state",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "zlib-state"
}