bitstruct


Namebitstruct JSON
Version 8.19.0 PyPI version JSON
download
home_page
SummaryThis module performs conversions between Python values and C bit field structs represented as Python byte strings.
upload_time2023-10-31 16:46:17
maintainer
docs_urlNone
authorIlya Petukhov
requires_python>=3.7
licenseMIT
keywords bit field bit parsing bit unpack bit pack
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            About
=====

This module is intended to have a similar interface as the python
struct module, but working on bits instead of primitive data types
(char, int, ...).

Project homepage: https://github.com/eerimoq/bitstruct

Documentation: https://bitstruct.readthedocs.io

Installation
============

.. code-block:: python

   pip install bitstruct

Performance
===========

Parts of this package has been re-implemented in C for faster pack and
unpack operations. There are two independent C implementations;
`bitstruct.c`, which is part of this package, and the standalone
package `cbitstruct`_. These implementations are only available in
CPython 3, and must be explicitly imported. By default the pure Python
implementation is used.

To use `bitstruct.c`, do ``import bitstruct.c as bitstruct``.

To use `cbitstruct`_, do ``import cbitstruct as bitstruct``.

`bitstruct.c` has a few limitations compared to the pure Python
implementation:

- Integers and booleans must be 64 bits or less.

- Text and raw must be a multiple of 8 bits.

- Bit endianness and byte order are not yet supported.

- ``byteswap()`` can only swap 1, 2, 4 and 8 bytes.

See `cbitstruct`_ for its limitations.

MicroPython
===========

The C implementation has been ported to `MicroPython`_. See
`bitstruct-micropython`_ for more details.

Example usage
=============

A basic example of `packing`_ and `unpacking`_ four integers using the
format string ``'u1u3u4s16'``:

.. code-block:: python

    >>> from bitstruct import *
    >>> pack('u1u3u4s16', 1, 2, 3, -4)
    b'\xa3\xff\xfc'
    >>> unpack('u1u3u4s16', b'\xa3\xff\xfc')
    (1, 2, 3, -4)
    >>> calcsize('u1u3u4s16')
    24

An example `compiling`_ the format string once, and use it to `pack`_
and `unpack`_ data:

.. code-block:: python

    >>> import bitstruct
    >>> cf = bitstruct.compile('u1u3u4s16')
    >>> cf.pack(1, 2, 3, -4)
    b'\xa3\xff\xfc'
    >>> cf.unpack(b'\xa3\xff\xfc')
    (1, 2, 3, -4)

Use the `pack into`_ and `unpack from`_ functions to pack/unpack
values at a bit offset into the data, in this example the bit offset
is 5:

.. code-block:: python

    >>> from bitstruct import *
    >>> data = bytearray(b'\x00\x00\x00\x00')
    >>> pack_into('u1u3u4s16', data, 5, 1, 2, 3, -4)
    >>> data
    bytearray(b'\x05\x1f\xff\xe0')
    >>> unpack_from('u1u3u4s16', data, 5)
    (1, 2, 3, -4)

The unpacked values can be named by assigning them to variables or by
wrapping the result in a named tuple:

.. code-block:: python

    >>> from bitstruct import *
    >>> from collections import namedtuple
    >>> MyName = namedtuple('myname', ['a', 'b', 'c', 'd'])
    >>> unpacked = unpack('u1u3u4s16', b'\xa3\xff\xfc')
    >>> myname = MyName(*unpacked)
    >>> myname
    myname(a=1, b=2, c=3, d=-4)
    >>> myname.c
    3

Use the `pack_dict`_ and `unpack_dict`_ functions to pack/unpack
values in dictionaries:

.. code-block:: python

    >>> from bitstruct import *
    >>> names = ['a', 'b', 'c', 'd']
    >>> pack_dict('u1u3u4s16', names, {'a': 1, 'b': 2, 'c': 3, 'd': -4})
    b'\xa3\xff\xfc'
    >>> unpack_dict('u1u3u4s16', names, b'\xa3\xff\xfc')
    {'a': 1, 'b': 2, 'c': 3, 'd': -4}

An example of `packing`_ and `unpacking`_ an unsigned integer, a
signed integer, a float, a boolean, a byte string and a string:

.. code-block:: python

    >>> from bitstruct import *
    >>> pack('u5s5f32b1r13t40', 1, -1, 3.75, True, b'\xff\xff', 'hello')
    b'\x0f\xd0\x1c\x00\x00?\xffhello'
    >>> unpack('u5s5f32b1r13t40', b'\x0f\xd0\x1c\x00\x00?\xffhello')
    (1, -1, 3.75, True, b'\xff\xf8', 'hello')
    >>> calcsize('u5s5f32b1r13t40')
    96

The same format string and values as in the previous example, but
using LSB (Least Significant Bit) first instead of the default MSB
(Most Significant Bit) first:

.. code-block:: python

    >>> from bitstruct import *
    >>> pack('<u5s5f32b1r13t40', 1, -1, 3.75, True, b'\xff\xff', 'hello')
    b'\x87\xc0\x00\x03\x80\xbf\xff\xf666\xa6\x16'
    >>> unpack('<u5s5f32b1r13t40', b'\x87\xc0\x00\x03\x80\xbf\xff\xf666\xa6\x16')
    (1, -1, 3.75, True, b'\xff\xf8', 'hello')
    >>> calcsize('<u5s5f32b1r13t40')
    96

An example of `unpacking`_ values from a hexstring and a binary file:

.. code-block:: python

    >>> from bitstruct import *
    >>> from binascii import unhexlify
    >>> unpack('s17s13r24', unhexlify('0123456789abcdef'))
    (582, -3751, b'\xe2j\xf3')
    >>> with open("test.bin", "rb") as fin:
    ...     unpack('s17s13r24', fin.read(8))
    ...
    ...
    (582, -3751, b'\xe2j\xf3')

Change endianness of the data with `byteswap`_, and then unpack the
values:

.. code-block:: python

    >>> from bitstruct import *
    >>> packed = pack('u1u3u4s16', 1, 2, 3, 1)
    >>> unpack('u1u3u4s16', byteswap('12', packed))
    (1, 2, 3, 256)

A basic example of `packing`_ and `unpacking`_ four integers using the
format string ``'u1u3u4s16'`` using the C implementation:

.. code-block:: python

    >>> from bitstruct.c import *
    >>> pack('u1u3u4s16', 1, 2, 3, -4)
    b'\xa3\xff\xfc'
    >>> unpack('u1u3u4s16', b'\xa3\xff\xfc')
    (1, 2, 3, -4)

Contributing
============

#. Fork the repository.

#. Install prerequisites.

   .. code-block:: text

      pip install -r requirements.txt

#. Implement the new feature or bug fix.

#. Implement test case(s) to ensure that future changes do not break
   legacy.

#. Run the tests.

   .. code-block:: text

      make test

#. Create a pull request.

.. _packing: http://bitstruct.readthedocs.io/en/latest/#bitstruct.pack

.. _unpacking: http://bitstruct.readthedocs.io/en/latest/#bitstruct.unpack

.. _pack: http://bitstruct.readthedocs.io/en/latest/#bitstruct.CompiledFormat.pack

.. _unpack: http://bitstruct.readthedocs.io/en/latest/#bitstruct.CompiledFormat.unpack

.. _pack into: http://bitstruct.readthedocs.io/en/latest/#bitstruct.pack_into

.. _unpack from: http://bitstruct.readthedocs.io/en/latest/#bitstruct.unpack_from

.. _pack_dict: http://bitstruct.readthedocs.io/en/latest/#bitstruct.pack_dict

.. _unpack_dict: http://bitstruct.readthedocs.io/en/latest/#bitstruct.unpack_dict

.. _byteswap: http://bitstruct.readthedocs.io/en/latest/#bitstruct.byteswap

.. _compiling: http://bitstruct.readthedocs.io/en/latest/#bitstruct.compile

.. _cbitstruct: https://github.com/qchateau/cbitstruct

.. _MicroPython: https://github.com/micropython/micropython

.. _bitstruct-micropython: https://github.com/peterzuger/bitstruct-micropython

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "bitstruct",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "bit field,bit parsing,bit unpack,bit pack",
    "author": "Ilya Petukhov",
    "author_email": "Erik Moqvist <erik.moqvist@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/24/54/784b5536bf49d6a3387b16e798dce45e9296ea1c331bf48e241dc7dabacd/bitstruct-8.19.0.tar.gz",
    "platform": null,
    "description": "About\n=====\n\nThis module is intended to have a similar interface as the python\nstruct module, but working on bits instead of primitive data types\n(char, int, ...).\n\nProject homepage: https://github.com/eerimoq/bitstruct\n\nDocumentation: https://bitstruct.readthedocs.io\n\nInstallation\n============\n\n.. code-block:: python\n\n   pip install bitstruct\n\nPerformance\n===========\n\nParts of this package has been re-implemented in C for faster pack and\nunpack operations. There are two independent C implementations;\n`bitstruct.c`, which is part of this package, and the standalone\npackage `cbitstruct`_. These implementations are only available in\nCPython 3, and must be explicitly imported. By default the pure Python\nimplementation is used.\n\nTo use `bitstruct.c`, do ``import bitstruct.c as bitstruct``.\n\nTo use `cbitstruct`_, do ``import cbitstruct as bitstruct``.\n\n`bitstruct.c` has a few limitations compared to the pure Python\nimplementation:\n\n- Integers and booleans must be 64 bits or less.\n\n- Text and raw must be a multiple of 8 bits.\n\n- Bit endianness and byte order are not yet supported.\n\n- ``byteswap()`` can only swap 1, 2, 4 and 8 bytes.\n\nSee `cbitstruct`_ for its limitations.\n\nMicroPython\n===========\n\nThe C implementation has been ported to `MicroPython`_. See\n`bitstruct-micropython`_ for more details.\n\nExample usage\n=============\n\nA basic example of `packing`_ and `unpacking`_ four integers using the\nformat string ``'u1u3u4s16'``:\n\n.. code-block:: python\n\n    >>> from bitstruct import *\n    >>> pack('u1u3u4s16', 1, 2, 3, -4)\n    b'\\xa3\\xff\\xfc'\n    >>> unpack('u1u3u4s16', b'\\xa3\\xff\\xfc')\n    (1, 2, 3, -4)\n    >>> calcsize('u1u3u4s16')\n    24\n\nAn example `compiling`_ the format string once, and use it to `pack`_\nand `unpack`_ data:\n\n.. code-block:: python\n\n    >>> import bitstruct\n    >>> cf = bitstruct.compile('u1u3u4s16')\n    >>> cf.pack(1, 2, 3, -4)\n    b'\\xa3\\xff\\xfc'\n    >>> cf.unpack(b'\\xa3\\xff\\xfc')\n    (1, 2, 3, -4)\n\nUse the `pack into`_ and `unpack from`_ functions to pack/unpack\nvalues at a bit offset into the data, in this example the bit offset\nis 5:\n\n.. code-block:: python\n\n    >>> from bitstruct import *\n    >>> data = bytearray(b'\\x00\\x00\\x00\\x00')\n    >>> pack_into('u1u3u4s16', data, 5, 1, 2, 3, -4)\n    >>> data\n    bytearray(b'\\x05\\x1f\\xff\\xe0')\n    >>> unpack_from('u1u3u4s16', data, 5)\n    (1, 2, 3, -4)\n\nThe unpacked values can be named by assigning them to variables or by\nwrapping the result in a named tuple:\n\n.. code-block:: python\n\n    >>> from bitstruct import *\n    >>> from collections import namedtuple\n    >>> MyName = namedtuple('myname', ['a', 'b', 'c', 'd'])\n    >>> unpacked = unpack('u1u3u4s16', b'\\xa3\\xff\\xfc')\n    >>> myname = MyName(*unpacked)\n    >>> myname\n    myname(a=1, b=2, c=3, d=-4)\n    >>> myname.c\n    3\n\nUse the `pack_dict`_ and `unpack_dict`_ functions to pack/unpack\nvalues in dictionaries:\n\n.. code-block:: python\n\n    >>> from bitstruct import *\n    >>> names = ['a', 'b', 'c', 'd']\n    >>> pack_dict('u1u3u4s16', names, {'a': 1, 'b': 2, 'c': 3, 'd': -4})\n    b'\\xa3\\xff\\xfc'\n    >>> unpack_dict('u1u3u4s16', names, b'\\xa3\\xff\\xfc')\n    {'a': 1, 'b': 2, 'c': 3, 'd': -4}\n\nAn example of `packing`_ and `unpacking`_ an unsigned integer, a\nsigned integer, a float, a boolean, a byte string and a string:\n\n.. code-block:: python\n\n    >>> from bitstruct import *\n    >>> pack('u5s5f32b1r13t40', 1, -1, 3.75, True, b'\\xff\\xff', 'hello')\n    b'\\x0f\\xd0\\x1c\\x00\\x00?\\xffhello'\n    >>> unpack('u5s5f32b1r13t40', b'\\x0f\\xd0\\x1c\\x00\\x00?\\xffhello')\n    (1, -1, 3.75, True, b'\\xff\\xf8', 'hello')\n    >>> calcsize('u5s5f32b1r13t40')\n    96\n\nThe same format string and values as in the previous example, but\nusing LSB (Least Significant Bit) first instead of the default MSB\n(Most Significant Bit) first:\n\n.. code-block:: python\n\n    >>> from bitstruct import *\n    >>> pack('<u5s5f32b1r13t40', 1, -1, 3.75, True, b'\\xff\\xff', 'hello')\n    b'\\x87\\xc0\\x00\\x03\\x80\\xbf\\xff\\xf666\\xa6\\x16'\n    >>> unpack('<u5s5f32b1r13t40', b'\\x87\\xc0\\x00\\x03\\x80\\xbf\\xff\\xf666\\xa6\\x16')\n    (1, -1, 3.75, True, b'\\xff\\xf8', 'hello')\n    >>> calcsize('<u5s5f32b1r13t40')\n    96\n\nAn example of `unpacking`_ values from a hexstring and a binary file:\n\n.. code-block:: python\n\n    >>> from bitstruct import *\n    >>> from binascii import unhexlify\n    >>> unpack('s17s13r24', unhexlify('0123456789abcdef'))\n    (582, -3751, b'\\xe2j\\xf3')\n    >>> with open(\"test.bin\", \"rb\") as fin:\n    ...     unpack('s17s13r24', fin.read(8))\n    ...\n    ...\n    (582, -3751, b'\\xe2j\\xf3')\n\nChange endianness of the data with `byteswap`_, and then unpack the\nvalues:\n\n.. code-block:: python\n\n    >>> from bitstruct import *\n    >>> packed = pack('u1u3u4s16', 1, 2, 3, 1)\n    >>> unpack('u1u3u4s16', byteswap('12', packed))\n    (1, 2, 3, 256)\n\nA basic example of `packing`_ and `unpacking`_ four integers using the\nformat string ``'u1u3u4s16'`` using the C implementation:\n\n.. code-block:: python\n\n    >>> from bitstruct.c import *\n    >>> pack('u1u3u4s16', 1, 2, 3, -4)\n    b'\\xa3\\xff\\xfc'\n    >>> unpack('u1u3u4s16', b'\\xa3\\xff\\xfc')\n    (1, 2, 3, -4)\n\nContributing\n============\n\n#. Fork the repository.\n\n#. Install prerequisites.\n\n   .. code-block:: text\n\n      pip install -r requirements.txt\n\n#. Implement the new feature or bug fix.\n\n#. Implement test case(s) to ensure that future changes do not break\n   legacy.\n\n#. Run the tests.\n\n   .. code-block:: text\n\n      make test\n\n#. Create a pull request.\n\n.. _packing: http://bitstruct.readthedocs.io/en/latest/#bitstruct.pack\n\n.. _unpacking: http://bitstruct.readthedocs.io/en/latest/#bitstruct.unpack\n\n.. _pack: http://bitstruct.readthedocs.io/en/latest/#bitstruct.CompiledFormat.pack\n\n.. _unpack: http://bitstruct.readthedocs.io/en/latest/#bitstruct.CompiledFormat.unpack\n\n.. _pack into: http://bitstruct.readthedocs.io/en/latest/#bitstruct.pack_into\n\n.. _unpack from: http://bitstruct.readthedocs.io/en/latest/#bitstruct.unpack_from\n\n.. _pack_dict: http://bitstruct.readthedocs.io/en/latest/#bitstruct.pack_dict\n\n.. _unpack_dict: http://bitstruct.readthedocs.io/en/latest/#bitstruct.unpack_dict\n\n.. _byteswap: http://bitstruct.readthedocs.io/en/latest/#bitstruct.byteswap\n\n.. _compiling: http://bitstruct.readthedocs.io/en/latest/#bitstruct.compile\n\n.. _cbitstruct: https://github.com/qchateau/cbitstruct\n\n.. _MicroPython: https://github.com/micropython/micropython\n\n.. _bitstruct-micropython: https://github.com/peterzuger/bitstruct-micropython\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "This module performs conversions between Python values and C bit field structs represented as Python byte strings.",
    "version": "8.19.0",
    "project_urls": {
        "Documentation": "https://bitstruct.readthedocs.io/en/latest/",
        "Homepage": "https://github.com/eerimoq/bitstruct",
        "Issues": "https://github.com/eerimoq/bitstruct/issues",
        "Source": "https://github.com/eerimoq/bitstruct"
    },
    "split_keywords": [
        "bit field",
        "bit parsing",
        "bit unpack",
        "bit pack"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7cd486454b1c8e8c0b8a60c0ec2682dc0b768c145dfcdd4ba9b7962ce1f2f21e",
                "md5": "c643d428efd6d7b90d58be4030bedfa5",
                "sha256": "7d1f3eb18ddc33ba73f5cbb55c885584bcec51c421ac3551b79edc0ffeaecc3d"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c643d428efd6d7b90d58be4030bedfa5",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 38004,
            "upload_time": "2023-10-31T16:45:01",
            "upload_time_iso_8601": "2023-10-31T16:45:01.468430Z",
            "url": "https://files.pythonhosted.org/packages/7c/d4/86454b1c8e8c0b8a60c0ec2682dc0b768c145dfcdd4ba9b7962ce1f2f21e/bitstruct-8.19.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a08533abf995bcbc39c7d6f6739fcaec35756b2e334fc364345a7b273fcc11fa",
                "md5": "20a74d0b70df0c0dbc535c57ac30bd39",
                "sha256": "a35e0b267d12438e6a7b28850a15d4cffe767db6fc443a406d0ead97fa1d7d5b"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "20a74d0b70df0c0dbc535c57ac30bd39",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 81170,
            "upload_time": "2023-10-31T16:45:04",
            "upload_time_iso_8601": "2023-10-31T16:45:04.788785Z",
            "url": "https://files.pythonhosted.org/packages/a0/85/33abf995bcbc39c7d6f6739fcaec35756b2e334fc364345a7b273fcc11fa/bitstruct-8.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5e7a31f0ba17fcf0f049c9fe535c699468b9bdcb0d4c97a8f7a7b64d8d166263",
                "md5": "dd73f5c3bf8b2aedd0daef0beedc1ccc",
                "sha256": "5732aff5c8eb3a572f7b20d09fc4c213215f9e60c0e66f2910b31eb65b457744"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "dd73f5c3bf8b2aedd0daef0beedc1ccc",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 75680,
            "upload_time": "2023-10-31T16:45:08",
            "upload_time_iso_8601": "2023-10-31T16:45:08.452139Z",
            "url": "https://files.pythonhosted.org/packages/5e/7a/31f0ba17fcf0f049c9fe535c699468b9bdcb0d4c97a8f7a7b64d8d166263/bitstruct-8.19.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8cc22cc44e2c6ecf6e1e6e9cb15147c403916eae71e3b3fb44093d20fc1d6e0c",
                "md5": "c5e43f9b72cffe9e47a16d8bb40f6cf7",
                "sha256": "bc8f1871b42b705eb34b8722c3ec358fbf1b97fd37a62693564ee72648afb100"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp310-cp310-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "c5e43f9b72cffe9e47a16d8bb40f6cf7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 80969,
            "upload_time": "2023-10-31T16:45:10",
            "upload_time_iso_8601": "2023-10-31T16:45:10.682897Z",
            "url": "https://files.pythonhosted.org/packages/8c/c2/2cc44e2c6ecf6e1e6e9cb15147c403916eae71e3b3fb44093d20fc1d6e0c/bitstruct-8.19.0-cp310-cp310-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "52b38dd3a8070bf425351fcf9dbe0b5171fba9599ee74377b511a1f6bd6318f6",
                "md5": "64077ecf944f26e0500bdc2c2036b1f8",
                "sha256": "01bdfc3adbe15b05ba27ab6dce7959caa29a000f066201944b29c64bb8888f03"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "64077ecf944f26e0500bdc2c2036b1f8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 85751,
            "upload_time": "2023-10-31T16:45:12",
            "upload_time_iso_8601": "2023-10-31T16:45:12.916582Z",
            "url": "https://files.pythonhosted.org/packages/52/b3/8dd3a8070bf425351fcf9dbe0b5171fba9599ee74377b511a1f6bd6318f6/bitstruct-8.19.0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c581437bf54ec49afefbda05912eb762c0647de3b3c35ee96b900883245fbe41",
                "md5": "7302c8d9dadcdcddbba9795c9740c2a9",
                "sha256": "961845a29333119b70dd9aab54bc714bf9ba5efefc55cb4c747c35c1390b8842"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "7302c8d9dadcdcddbba9795c9740c2a9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 34530,
            "upload_time": "2023-10-31T16:45:15",
            "upload_time_iso_8601": "2023-10-31T16:45:15.811816Z",
            "url": "https://files.pythonhosted.org/packages/c5/81/437bf54ec49afefbda05912eb762c0647de3b3c35ee96b900883245fbe41/bitstruct-8.19.0-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8f22f08be68a645274d2f92c438b78128d1abbf5ee0c7d5b56ac8dcc4b985733",
                "md5": "6fa90cf3ee896aa8fec31947ea6f51fb",
                "sha256": "9fbe12d464db909f58d5e2a2485b3047a488fa1373e8f74b22d6759ee6b2437a"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6fa90cf3ee896aa8fec31947ea6f51fb",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 36651,
            "upload_time": "2023-10-31T16:45:17",
            "upload_time_iso_8601": "2023-10-31T16:45:17.557189Z",
            "url": "https://files.pythonhosted.org/packages/8f/22/f08be68a645274d2f92c438b78128d1abbf5ee0c7d5b56ac8dcc4b985733/bitstruct-8.19.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e50f61424d9e8d8906f58db067ec4ef3a5178c3ba127bfa67dbf0a7130f89a5b",
                "md5": "0a6f285a3d77b56df3fea4f1664a6d9e",
                "sha256": "1300cd635814e40b1f4105aa4f404cb5d1b8cc54e06e267ba1616725f9c2beea"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0a6f285a3d77b56df3fea4f1664a6d9e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 37830,
            "upload_time": "2023-10-31T16:45:19",
            "upload_time_iso_8601": "2023-10-31T16:45:19.020627Z",
            "url": "https://files.pythonhosted.org/packages/e5/0f/61424d9e8d8906f58db067ec4ef3a5178c3ba127bfa67dbf0a7130f89a5b/bitstruct-8.19.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "62cac4eb1db98675148fa0bbc7536fb1e61badf2007c2be3cb8506fdafc144fe",
                "md5": "df6e14cd460dd30c7da5632cd0fde80d",
                "sha256": "0e2fb23b5973ce1e9f349c4dc90873eeff9800fe917ffd345f39b9b964f6d119"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "df6e14cd460dd30c7da5632cd0fde80d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 82890,
            "upload_time": "2023-10-31T16:45:20",
            "upload_time_iso_8601": "2023-10-31T16:45:20.880937Z",
            "url": "https://files.pythonhosted.org/packages/62/ca/c4eb1db98675148fa0bbc7536fb1e61badf2007c2be3cb8506fdafc144fe/bitstruct-8.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "22e69d6ba22775d2e32bc8f8388ccb54139eb77bcb7ed262cf17becd8e1c0009",
                "md5": "f5ef2cf8c38a16ddb038cf495c802e7a",
                "sha256": "59e0c18d557474d8452c4f8b59320fd4d9efcf52eae2144bdf317d25c64dcf85"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "f5ef2cf8c38a16ddb038cf495c802e7a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 77609,
            "upload_time": "2023-10-31T16:45:23",
            "upload_time_iso_8601": "2023-10-31T16:45:23.537487Z",
            "url": "https://files.pythonhosted.org/packages/22/e6/9d6ba22775d2e32bc8f8388ccb54139eb77bcb7ed262cf17becd8e1c0009/bitstruct-8.19.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "35ce9e6dd1391bf55721060d1b7b1cbff1a1795c264730464574c73da0aabe63",
                "md5": "8997729fb09eace75a7c879bb1f52c74",
                "sha256": "bba06607f956cc39ceee19fd11b542e8e66a43180d48fa36c4609443893c273e"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp311-cp311-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "8997729fb09eace75a7c879bb1f52c74",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 83373,
            "upload_time": "2023-10-31T16:45:25",
            "upload_time_iso_8601": "2023-10-31T16:45:25.991883Z",
            "url": "https://files.pythonhosted.org/packages/35/ce/9e6dd1391bf55721060d1b7b1cbff1a1795c264730464574c73da0aabe63/bitstruct-8.19.0-cp311-cp311-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "34748bf01c59e76e8e10afef33825621a556a276061cc78f2580164cedff0620",
                "md5": "297920de8bea58ad3399073d1b3c619a",
                "sha256": "f2fa607d111077145e6374d49be6098f33e7cee0967b42cfc117df53eee13332"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "297920de8bea58ad3399073d1b3c619a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 88245,
            "upload_time": "2023-10-31T16:45:27",
            "upload_time_iso_8601": "2023-10-31T16:45:27.579477Z",
            "url": "https://files.pythonhosted.org/packages/34/74/8bf01c59e76e8e10afef33825621a556a276061cc78f2580164cedff0620/bitstruct-8.19.0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fe877fe7959a67550b8b527e2d2c31ab8a68051d36dbe026833007632fea75dc",
                "md5": "03edd512d08f554fcfaab324516c520c",
                "sha256": "abdb7bdb5b04c2f1bbda0eae828c627252243ddc042aea6b72af8fcc63696598"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "03edd512d08f554fcfaab324516c520c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 34533,
            "upload_time": "2023-10-31T16:45:29",
            "upload_time_iso_8601": "2023-10-31T16:45:29.421962Z",
            "url": "https://files.pythonhosted.org/packages/fe/87/7fe7959a67550b8b527e2d2c31ab8a68051d36dbe026833007632fea75dc/bitstruct-8.19.0-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a4bbcc959286827df37b71ec47d77a32cbc4c19bca9f4fff4ed77879202da74d",
                "md5": "df01d3138ea43deac0486ddafcbed7c2",
                "sha256": "464f102999402a2624ee3106dbfa1f3745810036814a33e6bc706b7d312c480f"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "df01d3138ea43deac0486ddafcbed7c2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 36645,
            "upload_time": "2023-10-31T16:45:30",
            "upload_time_iso_8601": "2023-10-31T16:45:30.910456Z",
            "url": "https://files.pythonhosted.org/packages/a4/bb/cc959286827df37b71ec47d77a32cbc4c19bca9f4fff4ed77879202da74d/bitstruct-8.19.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ef4b0789b8a48a27a86bc64ba1b577829a95f2b0c9fa2fd24461fcc61c9f99de",
                "md5": "64b75da79bc78a6f75382eeed9fca521",
                "sha256": "55768b1f5e33594178f0b3e1596b89d831b006713a60caa09de61fd385bf22b1"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "64b75da79bc78a6f75382eeed9fca521",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 37949,
            "upload_time": "2023-10-31T16:45:32",
            "upload_time_iso_8601": "2023-10-31T16:45:32.443475Z",
            "url": "https://files.pythonhosted.org/packages/ef/4b/0789b8a48a27a86bc64ba1b577829a95f2b0c9fa2fd24461fcc61c9f99de/bitstruct-8.19.0-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4f8a7cf81f9e905e815f7e591dcf3e4014ba28899e51bdcdd664c33862731e1e",
                "md5": "09a9ce0e0516a00f917c3d815b8b97be",
                "sha256": "c026a7cf8d954ef53cf4d0ae5ee3dd1ac66e24e9a474c5afe55467ab7d609f2e"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "09a9ce0e0516a00f917c3d815b8b97be",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 83797,
            "upload_time": "2023-10-31T16:45:33",
            "upload_time_iso_8601": "2023-10-31T16:45:33.939363Z",
            "url": "https://files.pythonhosted.org/packages/4f/8a/7cf81f9e905e815f7e591dcf3e4014ba28899e51bdcdd664c33862731e1e/bitstruct-8.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d93a0623ebadbaab50df1e83bdd15d171219407bf54c30bdd52762a48ab3b49e",
                "md5": "9a14793e55c0ad10bd86f617a76cfcf3",
                "sha256": "7488fd4e2fde3d8111971e2040cd5b008be918381afc80387d3fdf047c801293"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "9a14793e55c0ad10bd86f617a76cfcf3",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 78145,
            "upload_time": "2023-10-31T16:45:36",
            "upload_time_iso_8601": "2023-10-31T16:45:36.251796Z",
            "url": "https://files.pythonhosted.org/packages/d9/3a/0623ebadbaab50df1e83bdd15d171219407bf54c30bdd52762a48ab3b49e/bitstruct-8.19.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cafbdfafd8724f5ac2ab272b701b62b999db6e5fd8cd922691cce8c05c113027",
                "md5": "594272b5cbb06f51208fac28e86805b3",
                "sha256": "45b66e20633f1e083e37fa396c81761e0fc688ffa06ff5559e990e37234f9e18"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp312-cp312-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "594272b5cbb06f51208fac28e86805b3",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 83837,
            "upload_time": "2023-10-31T16:45:38",
            "upload_time_iso_8601": "2023-10-31T16:45:38.135463Z",
            "url": "https://files.pythonhosted.org/packages/ca/fb/dfafd8724f5ac2ab272b701b62b999db6e5fd8cd922691cce8c05c113027/bitstruct-8.19.0-cp312-cp312-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a056ee885c29d51be9adaf680a7b98529e9c2835028793331dd3788213683508",
                "md5": "28f8bf98e2e45c2a9c617396574522b6",
                "sha256": "9c1542d5ae888ebc31614775938bfd13454f0d897dc2515363a4607efadc990b"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "28f8bf98e2e45c2a9c617396574522b6",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 89006,
            "upload_time": "2023-10-31T16:45:39",
            "upload_time_iso_8601": "2023-10-31T16:45:39.352082Z",
            "url": "https://files.pythonhosted.org/packages/a0/56/ee885c29d51be9adaf680a7b98529e9c2835028793331dd3788213683508/bitstruct-8.19.0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cb45e52ee0ace9b5c0e3866bf6c7a7c61ef8d39eef5678a88e34440610058472",
                "md5": "330d260f37a3656e6214bed562bcd73d",
                "sha256": "7ea57e4e793b595cd3e037920852f2c676b4f5f1734c41985db3f48783928e2c"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "330d260f37a3656e6214bed562bcd73d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 34530,
            "upload_time": "2023-10-31T16:45:41",
            "upload_time_iso_8601": "2023-10-31T16:45:41.075351Z",
            "url": "https://files.pythonhosted.org/packages/cb/45/e52ee0ace9b5c0e3866bf6c7a7c61ef8d39eef5678a88e34440610058472/bitstruct-8.19.0-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6a1af02f97df42889fe048eb067eb5d222b9de795cf103b40707d412f73430e9",
                "md5": "9f125ccca7b6a30fc29e014fcf607961",
                "sha256": "1c4d9b75248adee84e7e6c95bf95966f152b78363cb20a81920da2aeadc4375f"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "9f125ccca7b6a30fc29e014fcf607961",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 36672,
            "upload_time": "2023-10-31T16:45:42",
            "upload_time_iso_8601": "2023-10-31T16:45:42.893363Z",
            "url": "https://files.pythonhosted.org/packages/6a/1a/f02f97df42889fe048eb067eb5d222b9de795cf103b40707d412f73430e9/bitstruct-8.19.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "50f71bddc519679c762f397c96e09711b185c6b0d713d622936f0ff44ce4f261",
                "md5": "e37b1fa20b296e73ee3fb567928a8b26",
                "sha256": "7b4745b099d3d85307495e25ff0f265deeea675621dcecb25ba059ee68ce88d5"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e37b1fa20b296e73ee3fb567928a8b26",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 37918,
            "upload_time": "2023-10-31T16:45:44",
            "upload_time_iso_8601": "2023-10-31T16:45:44.637451Z",
            "url": "https://files.pythonhosted.org/packages/50/f7/1bddc519679c762f397c96e09711b185c6b0d713d622936f0ff44ce4f261/bitstruct-8.19.0-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "51d0394acbf20166a9d92a9ba120b8e728cc288159831647a49546fcc6503027",
                "md5": "b465a77f7761ee3998ba6b8cb92f0683",
                "sha256": "645da560acd20dd73a1ef220e3ddc08e108866e30a708ef2f6193e0a3725113e"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b465a77f7761ee3998ba6b8cb92f0683",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 79827,
            "upload_time": "2023-10-31T16:45:46",
            "upload_time_iso_8601": "2023-10-31T16:45:46.107399Z",
            "url": "https://files.pythonhosted.org/packages/51/d0/394acbf20166a9d92a9ba120b8e728cc288159831647a49546fcc6503027/bitstruct-8.19.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "313f7e5f650fcd627ac7e7efc8683bd4188aeeab122dcaf7243b5f58b8398cd4",
                "md5": "ad5f64e81175e763b5029dcee2586139",
                "sha256": "01402fbc3dba2286b3ac9b74d5936dd984736f928aacd371458a4b0cf95f0755"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "ad5f64e81175e763b5029dcee2586139",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 74314,
            "upload_time": "2023-10-31T16:45:47",
            "upload_time_iso_8601": "2023-10-31T16:45:47.769742Z",
            "url": "https://files.pythonhosted.org/packages/31/3f/7e5f650fcd627ac7e7efc8683bd4188aeeab122dcaf7243b5f58b8398cd4/bitstruct-8.19.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "04f07f660c2d4f74c6cfb38162d10a4d5aa7759c9f8b9ca6be514d383bb9476b",
                "md5": "1b873c2ff95b3f43bc21e9a819caa18d",
                "sha256": "2c5eda42d55db67072c6cf7cc79b1df1074269004bad119b79e4ad38cfa61877"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp37-cp37m-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "1b873c2ff95b3f43bc21e9a819caa18d",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 79520,
            "upload_time": "2023-10-31T16:45:49",
            "upload_time_iso_8601": "2023-10-31T16:45:49.663610Z",
            "url": "https://files.pythonhosted.org/packages/04/f0/7f660c2d4f74c6cfb38162d10a4d5aa7759c9f8b9ca6be514d383bb9476b/bitstruct-8.19.0-cp37-cp37m-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "26e0add6452ad44ff8037c5f6b119d859b87d27d3ab5726f7b989c47ab2cbd8c",
                "md5": "31965d3414749560e4c926b79d249118",
                "sha256": "2ea093522b12ce714a3a95851a8c3dd97f620126bbe983eb261b3bf18ac945e7"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "31965d3414749560e4c926b79d249118",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 84116,
            "upload_time": "2023-10-31T16:45:51",
            "upload_time_iso_8601": "2023-10-31T16:45:51.128894Z",
            "url": "https://files.pythonhosted.org/packages/26/e0/add6452ad44ff8037c5f6b119d859b87d27d3ab5726f7b989c47ab2cbd8c/bitstruct-8.19.0-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cabb625fc7b9a507e75739c2807774fdc9039395bc768bb29f96839dd7567b8c",
                "md5": "f9c9fc1d5fba4d610b0e00af9d671a35",
                "sha256": "da00da004830800323554e7a83f1f32a1f49345f5379476de4b5f6ae227ee962"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "f9c9fc1d5fba4d610b0e00af9d671a35",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 34530,
            "upload_time": "2023-10-31T16:45:53",
            "upload_time_iso_8601": "2023-10-31T16:45:53.043696Z",
            "url": "https://files.pythonhosted.org/packages/ca/bb/625fc7b9a507e75739c2807774fdc9039395bc768bb29f96839dd7567b8c/bitstruct-8.19.0-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7e28f222123d212a7909ed8c2fcf3e04179b7762ac02901f3208cbbbd6964c29",
                "md5": "1a5457924aa7ea658dc557fbb45d5bda",
                "sha256": "a0ca55fba25d6c631e17933f20cf87f553d7bceec7659e3de9ef48dc85ced2bf"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1a5457924aa7ea658dc557fbb45d5bda",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 36677,
            "upload_time": "2023-10-31T16:45:54",
            "upload_time_iso_8601": "2023-10-31T16:45:54.446224Z",
            "url": "https://files.pythonhosted.org/packages/7e/28/f222123d212a7909ed8c2fcf3e04179b7762ac02901f3208cbbbd6964c29/bitstruct-8.19.0-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e22cb37bc28ccc5d5c784faeafc9c6fb46ff465f039f19daf52a2864fb9e1c7b",
                "md5": "6f35432e7c16f369da1e16bf224deda0",
                "sha256": "d3f6e3aeb598215062c505a06135fbdfa3bb4eeb249b55f87e865a86b3fd9e99"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6f35432e7c16f369da1e16bf224deda0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 38000,
            "upload_time": "2023-10-31T16:45:55",
            "upload_time_iso_8601": "2023-10-31T16:45:55.821909Z",
            "url": "https://files.pythonhosted.org/packages/e2/2c/b37bc28ccc5d5c784faeafc9c6fb46ff465f039f19daf52a2864fb9e1c7b/bitstruct-8.19.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d0e07a195fe21bf1cb4c8739bfe34adbcadcea787e8a45e759303950b5c45a75",
                "md5": "9e7fc2fc51ee14a65385601c442d8e8d",
                "sha256": "df74c72feba80014b05ab6f1e1a0bb90be9f9e7eb60a9bab1e00728f7f46d79d"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9e7fc2fc51ee14a65385601c442d8e8d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 81064,
            "upload_time": "2023-10-31T16:45:57",
            "upload_time_iso_8601": "2023-10-31T16:45:57.218501Z",
            "url": "https://files.pythonhosted.org/packages/d0/e0/7a195fe21bf1cb4c8739bfe34adbcadcea787e8a45e759303950b5c45a75/bitstruct-8.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d852f99f624b42e47b667ba55c88f031aeb944d2f6554d736747999841311fe5",
                "md5": "99969a25b9e47f545a9975bce9a35c8b",
                "sha256": "976c39ad771c6773d6fbd14d71e62242d5b3bca7b72428fd183e1f1085d5e858"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "99969a25b9e47f545a9975bce9a35c8b",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 75693,
            "upload_time": "2023-10-31T16:45:58",
            "upload_time_iso_8601": "2023-10-31T16:45:58.847756Z",
            "url": "https://files.pythonhosted.org/packages/d8/52/f99f624b42e47b667ba55c88f031aeb944d2f6554d736747999841311fe5/bitstruct-8.19.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cbbe59970327011cb3329cb0bd1f587f7a5d778288c50ff540d838e39a9b9987",
                "md5": "eca42a0063c4092520f75878c42fecf8",
                "sha256": "d2c176ff6727206805760f45c2151468aed843256aa239c14f4730b9e1d84fc7"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp38-cp38-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "eca42a0063c4092520f75878c42fecf8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 80533,
            "upload_time": "2023-10-31T16:46:00",
            "upload_time_iso_8601": "2023-10-31T16:46:00.203762Z",
            "url": "https://files.pythonhosted.org/packages/cb/be/59970327011cb3329cb0bd1f587f7a5d778288c50ff540d838e39a9b9987/bitstruct-8.19.0-cp38-cp38-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "56cd5a6aad9f6396b8e4ddb3da5f77e8986fd865ede5b1624ccbf39066fdfd20",
                "md5": "af344721ade805490831f1cec8387141",
                "sha256": "d7774e2a51e254ef1ba98a1ee38573c819d4ee7e396d5121c5ecae17df927501"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "af344721ade805490831f1cec8387141",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 85281,
            "upload_time": "2023-10-31T16:46:01",
            "upload_time_iso_8601": "2023-10-31T16:46:01.905381Z",
            "url": "https://files.pythonhosted.org/packages/56/cd/5a6aad9f6396b8e4ddb3da5f77e8986fd865ede5b1624ccbf39066fdfd20/bitstruct-8.19.0-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e193e2e91dd212bb2c600291aedbf95767bcb0534037e96aaa014c6ce89ff2a8",
                "md5": "0222c59e6bf7e4551673355b393e7016",
                "sha256": "b86d192d658eaf35f10efb2e1940ec755cc28e081f46de294a2e91a74ea298aa"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "0222c59e6bf7e4551673355b393e7016",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 34544,
            "upload_time": "2023-10-31T16:46:03",
            "upload_time_iso_8601": "2023-10-31T16:46:03.451325Z",
            "url": "https://files.pythonhosted.org/packages/e1/93/e2e91dd212bb2c600291aedbf95767bcb0534037e96aaa014c6ce89ff2a8/bitstruct-8.19.0-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "440f7de460cd327f0d9e11c698f35874efb8ee0e2f7eb160f4e0189cec69041c",
                "md5": "ac1ab5cf91b6e3db26427b5a558e2433",
                "sha256": "5e7f78aedec2881017026eb7f7ab79514aef09a24afd8acf5fa8c73b1cd0e9f4"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ac1ab5cf91b6e3db26427b5a558e2433",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 36661,
            "upload_time": "2023-10-31T16:46:05",
            "upload_time_iso_8601": "2023-10-31T16:46:05.591195Z",
            "url": "https://files.pythonhosted.org/packages/44/0f/7de460cd327f0d9e11c698f35874efb8ee0e2f7eb160f4e0189cec69041c/bitstruct-8.19.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d0a8ad6b63a3e0f24d8f3790fe7be91fe1bc74c155f170f994ef48317d53e268",
                "md5": "e06592e3d82d5a4e6962065449772ea3",
                "sha256": "2bb49acc2ccc6efd3c9613cae8f7e1316c92f832bff860a6fcb78a4275974e90"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e06592e3d82d5a4e6962065449772ea3",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 37999,
            "upload_time": "2023-10-31T16:46:07",
            "upload_time_iso_8601": "2023-10-31T16:46:07.176538Z",
            "url": "https://files.pythonhosted.org/packages/d0/a8/ad6b63a3e0f24d8f3790fe7be91fe1bc74c155f170f994ef48317d53e268/bitstruct-8.19.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "08faf98cca677ce63fadc010add13a664f2fc1c8d3e945c901c65a7247513ff4",
                "md5": "756733a71ad84904f968eaf1a1ed9abd",
                "sha256": "7bed7b2761c18a515298145a4f67b6c71ce302453fe7d87ec6b7d2e77fd3c22b"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "756733a71ad84904f968eaf1a1ed9abd",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 80751,
            "upload_time": "2023-10-31T16:46:08",
            "upload_time_iso_8601": "2023-10-31T16:46:08.755460Z",
            "url": "https://files.pythonhosted.org/packages/08/fa/f98cca677ce63fadc010add13a664f2fc1c8d3e945c901c65a7247513ff4/bitstruct-8.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f08409a7ca32c0bde119ff7e69878331444bafb886cf5b4ce4e2336c9b7b291a",
                "md5": "e7bc26ec16fe750ebfbd10da68828a55",
                "sha256": "8d0cafd2e2974c4bbe349fb67951d43d221ea304218c2ee65f9fe4c62acabc2f"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "e7bc26ec16fe750ebfbd10da68828a55",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 75327,
            "upload_time": "2023-10-31T16:46:10",
            "upload_time_iso_8601": "2023-10-31T16:46:10.082724Z",
            "url": "https://files.pythonhosted.org/packages/f0/84/09a7ca32c0bde119ff7e69878331444bafb886cf5b4ce4e2336c9b7b291a/bitstruct-8.19.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6fec568aaeb31ba00b4fef09c7e203b8347ae2e919f4946c20fd15219355fbc7",
                "md5": "2400feef288a503f892bc7ae04cee0a6",
                "sha256": "d9ba0299f624e7c8ea1eec926fc77741f82ffc5b3c3ba4f89303d33d5605f4d8"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp39-cp39-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "2400feef288a503f892bc7ae04cee0a6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 80513,
            "upload_time": "2023-10-31T16:46:11",
            "upload_time_iso_8601": "2023-10-31T16:46:11.981923Z",
            "url": "https://files.pythonhosted.org/packages/6f/ec/568aaeb31ba00b4fef09c7e203b8347ae2e919f4946c20fd15219355fbc7/bitstruct-8.19.0-cp39-cp39-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "79533bb02d6b1709acd432cb560e14fe2941407f94c827794a096cd35a256235",
                "md5": "625471f40d178cfb62fe6f208fdbf087",
                "sha256": "bfa0326057c9b02c4e65e74e45b9914a7f8c59590a8e718e20a899a02b41f2e6"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "625471f40d178cfb62fe6f208fdbf087",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 85273,
            "upload_time": "2023-10-31T16:46:13",
            "upload_time_iso_8601": "2023-10-31T16:46:13.413746Z",
            "url": "https://files.pythonhosted.org/packages/79/53/3bb02d6b1709acd432cb560e14fe2941407f94c827794a096cd35a256235/bitstruct-8.19.0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c4b04ff6c3679021ccb68f914ce86ccab2931f23bf0e2d8614d10409b81bd35d",
                "md5": "018f7e4af6845be309e484c87753757a",
                "sha256": "14c3ebdec92c486142327d934cb451d96b411543ec6f72aeb2b4b4334e9408bf"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "018f7e4af6845be309e484c87753757a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 34550,
            "upload_time": "2023-10-31T16:46:15",
            "upload_time_iso_8601": "2023-10-31T16:46:15.175713Z",
            "url": "https://files.pythonhosted.org/packages/c4/b0/4ff6c3679021ccb68f914ce86ccab2931f23bf0e2d8614d10409b81bd35d/bitstruct-8.19.0-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "25b99fed29e9c7853364ccb45c838836452c137355bf573112a019c84d7d3a3a",
                "md5": "a0420f8657e45d8b58334e59fbbaade1",
                "sha256": "7836852d5c15444e87a2029f922b48717e6e199d2332d55e8738e92d8590987e"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a0420f8657e45d8b58334e59fbbaade1",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 36669,
            "upload_time": "2023-10-31T16:46:16",
            "upload_time_iso_8601": "2023-10-31T16:46:16.646116Z",
            "url": "https://files.pythonhosted.org/packages/25/b9/9fed29e9c7853364ccb45c838836452c137355bf573112a019c84d7d3a3a/bitstruct-8.19.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2454784b5536bf49d6a3387b16e798dce45e9296ea1c331bf48e241dc7dabacd",
                "md5": "8d3f2d00eda5f43437eefc64e9d2adfc",
                "sha256": "d75ba9dded85c17e885a209a00eb8e248ee40762149f2f2a79360ca857467dac"
            },
            "downloads": -1,
            "filename": "bitstruct-8.19.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8d3f2d00eda5f43437eefc64e9d2adfc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 35631,
            "upload_time": "2023-10-31T16:46:17",
            "upload_time_iso_8601": "2023-10-31T16:46:17.880784Z",
            "url": "https://files.pythonhosted.org/packages/24/54/784b5536bf49d6a3387b16e798dce45e9296ea1c331bf48e241dc7dabacd/bitstruct-8.19.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-31 16:46:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "eerimoq",
    "github_project": "bitstruct",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "bitstruct"
}
        
Elapsed time: 0.75514s