zlib-state


Namezlib-state JSON
Version 0.1.9 PyPI version JSON
download
home_pagehttps://github.com/seanmacavaney/zlib-state
SummaryLow-level interface to the zlib library that enables capturing the decoding state
upload_time2024-09-05 20:21:21
maintainerNone
docs_urlNone
authorSean MacAvaney
requires_python>=3.6
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.28699s