httptools


Namehttptools JSON
Version 0.6.4 PyPI version JSON
download
home_pagehttps://github.com/MagicStack/httptools
SummaryA collection of framework independent HTTP protocol utils.
upload_time2024-10-16 19:45:08
maintainerNone
docs_urlNone
authorYury Selivanov
requires_python>=3.8.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Tests](https://github.com/MagicStack/httptools/workflows/Tests/badge.svg)

httptools is a Python binding for the nodejs HTTP parser.

The package is available on PyPI: `pip install httptools`.


# APIs

httptools contains two classes `httptools.HttpRequestParser`,
`httptools.HttpResponseParser` (fulfilled through
[llhttp](https://github.com/nodejs/llhttp)) and a function for
parsing URLs `httptools.parse_url` (through
[http-parse](https://github.com/nodejs/http-parser) for now).
See unittests for examples.


```python

class HttpRequestParser:

    def __init__(self, protocol):
        """HttpRequestParser

        protocol -- a Python object with the following methods
        (all optional):

          - on_message_begin()
          - on_url(url: bytes)
          - on_header(name: bytes, value: bytes)
          - on_headers_complete()
          - on_body(body: bytes)
          - on_message_complete()
          - on_chunk_header()
          - on_chunk_complete()
          - on_status(status: bytes)
        """

    def get_http_version(self) -> str:
        """Return an HTTP protocol version."""

    def should_keep_alive(self) -> bool:
        """Return ``True`` if keep-alive mode is preferred."""

    def should_upgrade(self) -> bool:
        """Return ``True`` if the parsed request is a valid Upgrade request.
	The method exposes a flag set just before on_headers_complete.
	Calling this method earlier will only yield `False`.
	"""

    def feed_data(self, data: bytes):
        """Feed data to the parser.

        Will eventually trigger callbacks on the ``protocol``
        object.

        On HTTP upgrade, this method will raise an
        ``HttpParserUpgrade`` exception, with its sole argument
        set to the offset of the non-HTTP data in ``data``.
        """

    def get_method(self) -> bytes:
        """Return HTTP request method (GET, HEAD, etc)"""


class HttpResponseParser:

    """Has all methods except ``get_method()`` that
    HttpRequestParser has."""

    def get_status_code(self) -> int:
        """Return the status code of the HTTP response"""


def parse_url(url: bytes):
    """Parse URL strings into a structured Python object.

    Returns an instance of ``httptools.URL`` class with the
    following attributes:

      - schema: bytes
      - host: bytes
      - port: int
      - path: bytes
      - query: bytes
      - fragment: bytes
      - userinfo: bytes
    """
```


# Development

1. Clone this repository with
   `git clone --recursive git@github.com:MagicStack/httptools.git`

2. Create a virtual environment with Python 3:
   `python3 -m venv envname`

3. Activate the environment with `source envname/bin/activate`

4. Install development requirements with `pip install -e .[test]`

5. Run `make` and `make test`.


# License

MIT.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/MagicStack/httptools",
    "name": "httptools",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8.0",
    "maintainer_email": null,
    "keywords": null,
    "author": "Yury Selivanov",
    "author_email": "yury@magic.io",
    "download_url": "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz",
    "platform": "macOS",
    "description": "![Tests](https://github.com/MagicStack/httptools/workflows/Tests/badge.svg)\n\nhttptools is a Python binding for the nodejs HTTP parser.\n\nThe package is available on PyPI: `pip install httptools`.\n\n\n# APIs\n\nhttptools contains two classes `httptools.HttpRequestParser`,\n`httptools.HttpResponseParser` (fulfilled through\n[llhttp](https://github.com/nodejs/llhttp)) and a function for\nparsing URLs `httptools.parse_url` (through\n[http-parse](https://github.com/nodejs/http-parser) for now).\nSee unittests for examples.\n\n\n```python\n\nclass HttpRequestParser:\n\n    def __init__(self, protocol):\n        \"\"\"HttpRequestParser\n\n        protocol -- a Python object with the following methods\n        (all optional):\n\n          - on_message_begin()\n          - on_url(url: bytes)\n          - on_header(name: bytes, value: bytes)\n          - on_headers_complete()\n          - on_body(body: bytes)\n          - on_message_complete()\n          - on_chunk_header()\n          - on_chunk_complete()\n          - on_status(status: bytes)\n        \"\"\"\n\n    def get_http_version(self) -> str:\n        \"\"\"Return an HTTP protocol version.\"\"\"\n\n    def should_keep_alive(self) -> bool:\n        \"\"\"Return ``True`` if keep-alive mode is preferred.\"\"\"\n\n    def should_upgrade(self) -> bool:\n        \"\"\"Return ``True`` if the parsed request is a valid Upgrade request.\n\tThe method exposes a flag set just before on_headers_complete.\n\tCalling this method earlier will only yield `False`.\n\t\"\"\"\n\n    def feed_data(self, data: bytes):\n        \"\"\"Feed data to the parser.\n\n        Will eventually trigger callbacks on the ``protocol``\n        object.\n\n        On HTTP upgrade, this method will raise an\n        ``HttpParserUpgrade`` exception, with its sole argument\n        set to the offset of the non-HTTP data in ``data``.\n        \"\"\"\n\n    def get_method(self) -> bytes:\n        \"\"\"Return HTTP request method (GET, HEAD, etc)\"\"\"\n\n\nclass HttpResponseParser:\n\n    \"\"\"Has all methods except ``get_method()`` that\n    HttpRequestParser has.\"\"\"\n\n    def get_status_code(self) -> int:\n        \"\"\"Return the status code of the HTTP response\"\"\"\n\n\ndef parse_url(url: bytes):\n    \"\"\"Parse URL strings into a structured Python object.\n\n    Returns an instance of ``httptools.URL`` class with the\n    following attributes:\n\n      - schema: bytes\n      - host: bytes\n      - port: int\n      - path: bytes\n      - query: bytes\n      - fragment: bytes\n      - userinfo: bytes\n    \"\"\"\n```\n\n\n# Development\n\n1. Clone this repository with\n   `git clone --recursive git@github.com:MagicStack/httptools.git`\n\n2. Create a virtual environment with Python 3:\n   `python3 -m venv envname`\n\n3. Activate the environment with `source envname/bin/activate`\n\n4. Install development requirements with `pip install -e .[test]`\n\n5. Run `make` and `make test`.\n\n\n# License\n\nMIT.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A collection of framework independent HTTP protocol utils.",
    "version": "0.6.4",
    "project_urls": {
        "Homepage": "https://github.com/MagicStack/httptools"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3b6f972f8eb0ea7d98a1c6be436e2142d51ad2a64ee18e02b0e7ff1f62171ab1",
                "md5": "7bb527305b1f1333216c6375f370765c",
                "sha256": "3c73ce323711a6ffb0d247dcd5a550b8babf0f757e86a52558fe5b86d6fefcc0"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "7bb527305b1f1333216c6375f370765c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8.0",
            "size": 198780,
            "upload_time": "2024-10-16T19:44:06",
            "upload_time_iso_8601": "2024-10-16T19:44:06.882336Z",
            "url": "https://files.pythonhosted.org/packages/3b/6f/972f8eb0ea7d98a1c6be436e2142d51ad2a64ee18e02b0e7ff1f62171ab1/httptools-0.6.4-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ab017c672b4bc5c7ba7f201eada4e96c71d0a59fbc185e60e42580093a86f21",
                "md5": "d550ac592cd0c1a63df0cfc159085a20",
                "sha256": "345c288418f0944a6fe67be8e6afa9262b18c7626c3ef3c28adc5eabc06a68da"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "d550ac592cd0c1a63df0cfc159085a20",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8.0",
            "size": 103297,
            "upload_time": "2024-10-16T19:44:08",
            "upload_time_iso_8601": "2024-10-16T19:44:08.129129Z",
            "url": "https://files.pythonhosted.org/packages/6a/b0/17c672b4bc5c7ba7f201eada4e96c71d0a59fbc185e60e42580093a86f21/httptools-0.6.4-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "925eb4a826fe91971a0b68e8c2bd4e7db3e7519882f5a8ccdb1194be2b3ab98f",
                "md5": "c3d1dc70d39e5e563ad4425c914c0303",
                "sha256": "deee0e3343f98ee8047e9f4c5bc7cedbf69f5734454a94c38ee829fb2d5fa3c1"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c3d1dc70d39e5e563ad4425c914c0303",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8.0",
            "size": 443130,
            "upload_time": "2024-10-16T19:44:09",
            "upload_time_iso_8601": "2024-10-16T19:44:09.450551Z",
            "url": "https://files.pythonhosted.org/packages/92/5e/b4a826fe91971a0b68e8c2bd4e7db3e7519882f5a8ccdb1194be2b3ab98f/httptools-0.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b051ce61e531e40289a681a463e1258fa1e05e0be54540e40d91d065a264cd8f",
                "md5": "4435c8720e36ebb10836dffba438b2e2",
                "sha256": "ca80b7485c76f768a3bc83ea58373f8db7b015551117375e4918e2aa77ea9b50"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4435c8720e36ebb10836dffba438b2e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8.0",
            "size": 442148,
            "upload_time": "2024-10-16T19:44:11",
            "upload_time_iso_8601": "2024-10-16T19:44:11.539882Z",
            "url": "https://files.pythonhosted.org/packages/b0/51/ce61e531e40289a681a463e1258fa1e05e0be54540e40d91d065a264cd8f/httptools-0.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ea9e270b7d767849b0c96f275c695d27ca76c30671f8eb8cc1bab6ced5c5e1d0",
                "md5": "1837605417fba050fd619150e9eba9fd",
                "sha256": "90d96a385fa941283ebd231464045187a31ad932ebfa541be8edf5b3c2328959"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp310-cp310-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1837605417fba050fd619150e9eba9fd",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8.0",
            "size": 415949,
            "upload_time": "2024-10-16T19:44:13",
            "upload_time_iso_8601": "2024-10-16T19:44:13.388321Z",
            "url": "https://files.pythonhosted.org/packages/ea/9e/270b7d767849b0c96f275c695d27ca76c30671f8eb8cc1bab6ced5c5e1d0/httptools-0.6.4-cp310-cp310-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8186ced96e3179c48c6f656354e106934e65c8963d48b69be78f355797f0e1b3",
                "md5": "f7b9b5eac966ff685cee991a30f339d1",
                "sha256": "59e724f8b332319e2875efd360e61ac07f33b492889284a3e05e6d13746876f4"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f7b9b5eac966ff685cee991a30f339d1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8.0",
            "size": 417591,
            "upload_time": "2024-10-16T19:44:15",
            "upload_time_iso_8601": "2024-10-16T19:44:15.258624Z",
            "url": "https://files.pythonhosted.org/packages/81/86/ced96e3179c48c6f656354e106934e65c8963d48b69be78f355797f0e1b3/httptools-0.6.4-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7573187a3f620ed3175364ddb56847d7a608a6fc42d551e133197098c0143eca",
                "md5": "0b572b38a8dba1350416bacc2292813c",
                "sha256": "c26f313951f6e26147833fc923f78f95604bbec812a43e5ee37f26dc9e5a686c"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0b572b38a8dba1350416bacc2292813c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8.0",
            "size": 88344,
            "upload_time": "2024-10-16T19:44:16",
            "upload_time_iso_8601": "2024-10-16T19:44:16.540184Z",
            "url": "https://files.pythonhosted.org/packages/75/73/187a3f620ed3175364ddb56847d7a608a6fc42d551e133197098c0143eca/httptools-0.6.4-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b26bb526d4d14c2774fe07113ca1db7255737ffbb119315839af2065abfdac3",
                "md5": "43a923680dccbb63ce3920fe3e9a9c95",
                "sha256": "f47f8ed67cc0ff862b84a1189831d1d33c963fb3ce1ee0c65d3b0cbe7b711069"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "43a923680dccbb63ce3920fe3e9a9c95",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8.0",
            "size": 199029,
            "upload_time": "2024-10-16T19:44:18",
            "upload_time_iso_8601": "2024-10-16T19:44:18.427082Z",
            "url": "https://files.pythonhosted.org/packages/7b/26/bb526d4d14c2774fe07113ca1db7255737ffbb119315839af2065abfdac3/httptools-0.6.4-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a6173e0d3e9b901c732987a45f4f94d4e2c62b89a041d93db89eafb262afd8d5",
                "md5": "c75470e131446c4dde4bbe94575e42f9",
                "sha256": "0614154d5454c21b6410fdf5262b4a3ddb0f53f1e1721cfd59d55f32138c578a"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c75470e131446c4dde4bbe94575e42f9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8.0",
            "size": 103492,
            "upload_time": "2024-10-16T19:44:19",
            "upload_time_iso_8601": "2024-10-16T19:44:19.515828Z",
            "url": "https://files.pythonhosted.org/packages/a6/17/3e0d3e9b901c732987a45f4f94d4e2c62b89a041d93db89eafb262afd8d5/httptools-0.6.4-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b7240fe235d7b69c42423c7698d086d4db96475f9b50b6ad26a718ef27a0bce6",
                "md5": "057187416e6d7c78c6ea69a78f6c4e03",
                "sha256": "f8787367fbdfccae38e35abf7641dafc5310310a5987b689f4c32cc8cc3ee975"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "057187416e6d7c78c6ea69a78f6c4e03",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8.0",
            "size": 462891,
            "upload_time": "2024-10-16T19:44:21",
            "upload_time_iso_8601": "2024-10-16T19:44:21.067188Z",
            "url": "https://files.pythonhosted.org/packages/b7/24/0fe235d7b69c42423c7698d086d4db96475f9b50b6ad26a718ef27a0bce6/httptools-0.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b12f205d1f2a190b72da6ffb5f41a3736c26d6fa7871101212b15e9b5cd8f61d",
                "md5": "ce1eeb220d8ddfc4524e40de37c1758a",
                "sha256": "40b0f7fe4fd38e6a507bdb751db0379df1e99120c65fbdc8ee6c1d044897a636"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ce1eeb220d8ddfc4524e40de37c1758a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8.0",
            "size": 459788,
            "upload_time": "2024-10-16T19:44:22",
            "upload_time_iso_8601": "2024-10-16T19:44:22.958149Z",
            "url": "https://files.pythonhosted.org/packages/b1/2f/205d1f2a190b72da6ffb5f41a3736c26d6fa7871101212b15e9b5cd8f61d/httptools-0.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6e4cd09ce0eff09057a206a74575ae8f1e1e2f0364d20e2442224f9e6612c8b9",
                "md5": "4200445e2d1cdee74164709e68516e34",
                "sha256": "40a5ec98d3f49904b9fe36827dcf1aadfef3b89e2bd05b0e35e94f97c2b14721"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp311-cp311-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4200445e2d1cdee74164709e68516e34",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8.0",
            "size": 433214,
            "upload_time": "2024-10-16T19:44:24",
            "upload_time_iso_8601": "2024-10-16T19:44:24.513474Z",
            "url": "https://files.pythonhosted.org/packages/6e/4c/d09ce0eff09057a206a74575ae8f1e1e2f0364d20e2442224f9e6612c8b9/httptools-0.6.4-cp311-cp311-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3ed284c9e23edbccc4a4c6f96a1b8d99dfd2350289e94f00e9ccc7aadde26fb5",
                "md5": "3fd91fa032bf00f68fab68450e2724ef",
                "sha256": "dacdd3d10ea1b4ca9df97a0a303cbacafc04b5cd375fa98732678151643d4988"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3fd91fa032bf00f68fab68450e2724ef",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8.0",
            "size": 434120,
            "upload_time": "2024-10-16T19:44:26",
            "upload_time_iso_8601": "2024-10-16T19:44:26.295976Z",
            "url": "https://files.pythonhosted.org/packages/3e/d2/84c9e23edbccc4a4c6f96a1b8d99dfd2350289e94f00e9ccc7aadde26fb5/httptools-0.6.4-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d0464d8e7ba9581416de1c425b8264e2cadd201eb709ec1584c381f3e98f51c1",
                "md5": "dad93cb243a21270584fe5c986bdd302",
                "sha256": "288cd628406cc53f9a541cfaf06041b4c71d751856bab45e3702191f931ccd17"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "dad93cb243a21270584fe5c986bdd302",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8.0",
            "size": 88565,
            "upload_time": "2024-10-16T19:44:29",
            "upload_time_iso_8601": "2024-10-16T19:44:29.188232Z",
            "url": "https://files.pythonhosted.org/packages/d0/46/4d8e7ba9581416de1c425b8264e2cadd201eb709ec1584c381f3e98f51c1/httptools-0.6.4-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bb0ed0b71465c66b9185f90a091ab36389a7352985fe857e352801c39d6127c8",
                "md5": "f855d6b060e8e4f48b2bbc098fcadb19",
                "sha256": "df017d6c780287d5c80601dafa31f17bddb170232d85c066604d8558683711a2"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl",
            "has_sig": false,
            "md5_digest": "f855d6b060e8e4f48b2bbc098fcadb19",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8.0",
            "size": 200683,
            "upload_time": "2024-10-16T19:44:30",
            "upload_time_iso_8601": "2024-10-16T19:44:30.175480Z",
            "url": "https://files.pythonhosted.org/packages/bb/0e/d0b71465c66b9185f90a091ab36389a7352985fe857e352801c39d6127c8/httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e2b8412a9bb28d0a8988de3296e01efa0bd62068b33856cdda47fe1b5e890954",
                "md5": "129b557402829c3cef66fbe1a80b8407",
                "sha256": "85071a1e8c2d051b507161f6c3e26155b5c790e4e28d7f236422dbacc2a9cc44"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "129b557402829c3cef66fbe1a80b8407",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8.0",
            "size": 104337,
            "upload_time": "2024-10-16T19:44:31",
            "upload_time_iso_8601": "2024-10-16T19:44:31.786302Z",
            "url": "https://files.pythonhosted.org/packages/e2/b8/412a9bb28d0a8988de3296e01efa0bd62068b33856cdda47fe1b5e890954/httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9b016fb20be3196ffdc8eeec4e653bc2a275eca7f36634c86302242c4fbb2760",
                "md5": "1eda86d40d7b9791b36663e5084584c6",
                "sha256": "69422b7f458c5af875922cdb5bd586cc1f1033295aa9ff63ee196a87519ac8e1"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1eda86d40d7b9791b36663e5084584c6",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8.0",
            "size": 508796,
            "upload_time": "2024-10-16T19:44:32",
            "upload_time_iso_8601": "2024-10-16T19:44:32.825174Z",
            "url": "https://files.pythonhosted.org/packages/9b/01/6fb20be3196ffdc8eeec4e653bc2a275eca7f36634c86302242c4fbb2760/httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f7d8b644c44acc1368938317d76ac991c9bba1166311880bcc0ac297cb9d6bd7",
                "md5": "fb459e5b5135b59877b35432eb2270bc",
                "sha256": "16e603a3bff50db08cd578d54f07032ca1631450ceb972c2f834c2b860c28ea2"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fb459e5b5135b59877b35432eb2270bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8.0",
            "size": 510837,
            "upload_time": "2024-10-16T19:44:33",
            "upload_time_iso_8601": "2024-10-16T19:44:33.974771Z",
            "url": "https://files.pythonhosted.org/packages/f7/d8/b644c44acc1368938317d76ac991c9bba1166311880bcc0ac297cb9d6bd7/httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "52d8254d16a31d543073a0e57f1c329ca7378d8924e7e292eda72d0064987486",
                "md5": "0a7ce69b81c98c759221c8f993054d7f",
                "sha256": "ec4f178901fa1834d4a060320d2f3abc5c9e39766953d038f1458cb885f47e81"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0a7ce69b81c98c759221c8f993054d7f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8.0",
            "size": 485289,
            "upload_time": "2024-10-16T19:44:35",
            "upload_time_iso_8601": "2024-10-16T19:44:35.111738Z",
            "url": "https://files.pythonhosted.org/packages/52/d8/254d16a31d543073a0e57f1c329ca7378d8924e7e292eda72d0064987486/httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5f3c4aee161b4b7a971660b8be71a92c24d6c64372c1ab3ae7f366b3680df20f",
                "md5": "41ff20062eb9e9bebf18b8f057ef74a2",
                "sha256": "f9eb89ecf8b290f2e293325c646a211ff1c2493222798bb80a530c5e7502494f"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "41ff20062eb9e9bebf18b8f057ef74a2",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8.0",
            "size": 489779,
            "upload_time": "2024-10-16T19:44:36",
            "upload_time_iso_8601": "2024-10-16T19:44:36.253708Z",
            "url": "https://files.pythonhosted.org/packages/5f/3c/4aee161b4b7a971660b8be71a92c24d6c64372c1ab3ae7f366b3680df20f/httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "12b75cae71a8868e555f3f67a50ee7f673ce36eac970f029c0c5e9d584352961",
                "md5": "dbdfe28d6ddb8c6c34ca71d1d47f922c",
                "sha256": "db78cb9ca56b59b016e64b6031eda5653be0589dba2b1b43453f6e8b405a0970"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "dbdfe28d6ddb8c6c34ca71d1d47f922c",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8.0",
            "size": 88634,
            "upload_time": "2024-10-16T19:44:37",
            "upload_time_iso_8601": "2024-10-16T19:44:37.357516Z",
            "url": "https://files.pythonhosted.org/packages/12/b7/5cae71a8868e555f3f67a50ee7f673ce36eac970f029c0c5e9d584352961/httptools-0.6.4-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "94a39fe9ad23fd35f7de6b91eeb60848986058bd8b5a5c1e256f5860a160cc3e",
                "md5": "80e96dc04ea9d7f29e869f5908e598b4",
                "sha256": "ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl",
            "has_sig": false,
            "md5_digest": "80e96dc04ea9d7f29e869f5908e598b4",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8.0",
            "size": 197214,
            "upload_time": "2024-10-16T19:44:38",
            "upload_time_iso_8601": "2024-10-16T19:44:38.738791Z",
            "url": "https://files.pythonhosted.org/packages/94/a3/9fe9ad23fd35f7de6b91eeb60848986058bd8b5a5c1e256f5860a160cc3e/httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ead982d5e68bab783b632023f2fa31db20bebb4e89dfc4d2293945fd68484ee4",
                "md5": "3f521fb4bd4555763808e49fb26f2ab6",
                "sha256": "856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "3f521fb4bd4555763808e49fb26f2ab6",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8.0",
            "size": 102431,
            "upload_time": "2024-10-16T19:44:39",
            "upload_time_iso_8601": "2024-10-16T19:44:39.818746Z",
            "url": "https://files.pythonhosted.org/packages/ea/d9/82d5e68bab783b632023f2fa31db20bebb4e89dfc4d2293945fd68484ee4/httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96c1cb499655cbdbfb57b577734fde02f6fa0bbc3fe9fb4d87b742b512908dff",
                "md5": "4724ace84e09fbd23a5cf334da5b7979",
                "sha256": "322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4724ace84e09fbd23a5cf334da5b7979",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8.0",
            "size": 473121,
            "upload_time": "2024-10-16T19:44:41",
            "upload_time_iso_8601": "2024-10-16T19:44:41.189695Z",
            "url": "https://files.pythonhosted.org/packages/96/c1/cb499655cbdbfb57b577734fde02f6fa0bbc3fe9fb4d87b742b512908dff/httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "af71ee32fd358f8a3bb199b03261f10921716990808a675d8160b5383487a317",
                "md5": "39e2eafa2ea80c1d130078017d736826",
                "sha256": "4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "39e2eafa2ea80c1d130078017d736826",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8.0",
            "size": 473805,
            "upload_time": "2024-10-16T19:44:42",
            "upload_time_iso_8601": "2024-10-16T19:44:42.384880Z",
            "url": "https://files.pythonhosted.org/packages/af/71/ee32fd358f8a3bb199b03261f10921716990808a675d8160b5383487a317/httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8a0a0d4df132bfca1507114198b766f1737d57580c9ad1cf93c1ff673e3387be",
                "md5": "461a922d5cb139bda6c146fec5bb32d1",
                "sha256": "342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "461a922d5cb139bda6c146fec5bb32d1",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8.0",
            "size": 448858,
            "upload_time": "2024-10-16T19:44:43",
            "upload_time_iso_8601": "2024-10-16T19:44:43.959819Z",
            "url": "https://files.pythonhosted.org/packages/8a/0a/0d4df132bfca1507114198b766f1737d57580c9ad1cf93c1ff673e3387be/httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1e6a787004fdef2cabea27bad1073bf6a33f2437b4dbd3b6fb4a9d71172b1c7c",
                "md5": "ec204d1f2dc9c4f3d7a704b63b9b6b43",
                "sha256": "4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ec204d1f2dc9c4f3d7a704b63b9b6b43",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8.0",
            "size": 452042,
            "upload_time": "2024-10-16T19:44:45",
            "upload_time_iso_8601": "2024-10-16T19:44:45.071929Z",
            "url": "https://files.pythonhosted.org/packages/1e/6a/787004fdef2cabea27bad1073bf6a33f2437b4dbd3b6fb4a9d71172b1c7c/httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ddc7decab5c404d1d2cdc1bb330b1bf70e83d6af0396fd4fc76fc60c0d522bf",
                "md5": "a2e04a6a12f99539b7020b7968872caf",
                "sha256": "28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a2e04a6a12f99539b7020b7968872caf",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8.0",
            "size": 87682,
            "upload_time": "2024-10-16T19:44:46",
            "upload_time_iso_8601": "2024-10-16T19:44:46.460032Z",
            "url": "https://files.pythonhosted.org/packages/4d/dc/7decab5c404d1d2cdc1bb330b1bf70e83d6af0396fd4fc76fc60c0d522bf/httptools-0.6.4-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c273e4877dfa233da9912062e49efd74d9f5deae95b4b736eb99742f8d751074",
                "md5": "62f8a31875ef6778ece5b7ccbc6ebee1",
                "sha256": "d3f0d369e7ffbe59c4b6116a44d6a8eb4783aae027f2c0b366cf0aa964185dba"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp38-cp38-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "62f8a31875ef6778ece5b7ccbc6ebee1",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8.0",
            "size": 202417,
            "upload_time": "2024-10-16T19:44:47",
            "upload_time_iso_8601": "2024-10-16T19:44:47.945331Z",
            "url": "https://files.pythonhosted.org/packages/c2/73/e4877dfa233da9912062e49efd74d9f5deae95b4b736eb99742f8d751074/httptools-0.6.4-cp38-cp38-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "040624f105db5254d9689d9126ca09cd55c471241f26549041f33aea91a4c77e",
                "md5": "dd1881b44b0dd098601541e3ca0e91cf",
                "sha256": "94978a49b8f4569ad607cd4946b759d90b285e39c0d4640c6b36ca7a3ddf2efc"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "dd1881b44b0dd098601541e3ca0e91cf",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8.0",
            "size": 105139,
            "upload_time": "2024-10-16T19:44:49",
            "upload_time_iso_8601": "2024-10-16T19:44:49.066298Z",
            "url": "https://files.pythonhosted.org/packages/04/06/24f105db5254d9689d9126ca09cd55c471241f26549041f33aea91a4c77e/httptools-0.6.4-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "32c63623958d7899c439d5aeadcc936c3354baaf2d797e07670ccddbae5c4398",
                "md5": "82916d276c2b5ed4d09e3813249fb8ec",
                "sha256": "40dc6a8e399e15ea525305a2ddba998b0af5caa2566bcd79dcbe8948181eeaff"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "82916d276c2b5ed4d09e3813249fb8ec",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8.0",
            "size": 455956,
            "upload_time": "2024-10-16T19:44:50",
            "upload_time_iso_8601": "2024-10-16T19:44:50.179959Z",
            "url": "https://files.pythonhosted.org/packages/32/c6/3623958d7899c439d5aeadcc936c3354baaf2d797e07670ccddbae5c4398/httptools-0.6.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a0cf3de90444de495cbab24e648278a4fecb36c5bbf9ecdeeff09fca69e94ca9",
                "md5": "3c2001e69babf52e875f559123aed5a8",
                "sha256": "ab9ba8dcf59de5181f6be44a77458e45a578fc99c31510b8c65b7d5acc3cf490"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3c2001e69babf52e875f559123aed5a8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8.0",
            "size": 453707,
            "upload_time": "2024-10-16T19:44:51",
            "upload_time_iso_8601": "2024-10-16T19:44:51.422337Z",
            "url": "https://files.pythonhosted.org/packages/a0/cf/3de90444de495cbab24e648278a4fecb36c5bbf9ecdeeff09fca69e94ca9/httptools-0.6.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3392f0928f8bae0a07d75bddff71835e554762974502165ea5ea78c624e3533e",
                "md5": "5ea4efc4b2dd0a8ff2adc49121fd182c",
                "sha256": "fc411e1c0a7dcd2f902c7c48cf079947a7e65b5485dea9decb82b9105ca71a43"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp38-cp38-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5ea4efc4b2dd0a8ff2adc49121fd182c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8.0",
            "size": 434037,
            "upload_time": "2024-10-16T19:44:54",
            "upload_time_iso_8601": "2024-10-16T19:44:54.108556Z",
            "url": "https://files.pythonhosted.org/packages/33/92/f0928f8bae0a07d75bddff71835e554762974502165ea5ea78c624e3533e/httptools-0.6.4-cp38-cp38-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d42b618e8f2cf8b266a046c4524f4c214919762a9da4617e8b02da406e3747bc",
                "md5": "ba67a97982d7b887657b28bd63af10eb",
                "sha256": "d54efd20338ac52ba31e7da78e4a72570cf729fac82bc31ff9199bedf1dc7440"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp38-cp38-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ba67a97982d7b887657b28bd63af10eb",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8.0",
            "size": 434347,
            "upload_time": "2024-10-16T19:44:56",
            "upload_time_iso_8601": "2024-10-16T19:44:56.634467Z",
            "url": "https://files.pythonhosted.org/packages/d4/2b/618e8f2cf8b266a046c4524f4c214919762a9da4617e8b02da406e3747bc/httptools-0.6.4-cp38-cp38-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a359b7dc35b45ae31d692427f15870ff9ab082e667b96c5606fda2cd7b385687",
                "md5": "727fc4e337502e802a4268a4a0ffd667",
                "sha256": "df959752a0c2748a65ab5387d08287abf6779ae9165916fe053e68ae1fbdc47f"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "727fc4e337502e802a4268a4a0ffd667",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8.0",
            "size": 89888,
            "upload_time": "2024-10-16T19:44:58",
            "upload_time_iso_8601": "2024-10-16T19:44:58.175602Z",
            "url": "https://files.pythonhosted.org/packages/a3/59/b7dc35b45ae31d692427f15870ff9ab082e667b96c5606fda2cd7b385687/httptools-0.6.4-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "51b14fc6f52afdf93b7c4304e21f6add9e981e4f857c2fa622a55dfe21b6059e",
                "md5": "46d5ce2689b4c872a3c7fce436835041",
                "sha256": "85797e37e8eeaa5439d33e556662cc370e474445d5fab24dcadc65a8ffb04003"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "46d5ce2689b4c872a3c7fce436835041",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8.0",
            "size": 201123,
            "upload_time": "2024-10-16T19:44:59",
            "upload_time_iso_8601": "2024-10-16T19:44:59.130874Z",
            "url": "https://files.pythonhosted.org/packages/51/b1/4fc6f52afdf93b7c4304e21f6add9e981e4f857c2fa622a55dfe21b6059e/httptools-0.6.4-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c201e6ecb40ac8fdfb76607c7d3b74a41b464458d5c8710534d8f163b0c15f29",
                "md5": "c332aed67c626983ae51e1b9db9be570",
                "sha256": "db353d22843cf1028f43c3651581e4bb49374d85692a85f95f7b9a130e1b2cab"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c332aed67c626983ae51e1b9db9be570",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8.0",
            "size": 104507,
            "upload_time": "2024-10-16T19:45:00",
            "upload_time_iso_8601": "2024-10-16T19:45:00.254180Z",
            "url": "https://files.pythonhosted.org/packages/c2/01/e6ecb40ac8fdfb76607c7d3b74a41b464458d5c8710534d8f163b0c15f29/httptools-0.6.4-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dc24c70c34119d209bf08199d938dc9c69164f585ed3029237b4bdb90f673cb9",
                "md5": "1258dbaa260aa7fafae5028f3b5bdaf0",
                "sha256": "d1ffd262a73d7c28424252381a5b854c19d9de5f56f075445d33919a637e3547"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1258dbaa260aa7fafae5028f3b5bdaf0",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8.0",
            "size": 449615,
            "upload_time": "2024-10-16T19:45:01",
            "upload_time_iso_8601": "2024-10-16T19:45:01.351832Z",
            "url": "https://files.pythonhosted.org/packages/dc/24/c70c34119d209bf08199d938dc9c69164f585ed3029237b4bdb90f673cb9/httptools-0.6.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2b62e7f317fed3703bd81053840cacba4e40bcf424b870e4197f94bd1cf9fe7a",
                "md5": "e038412368d8d85681b77dda2a2e5ad0",
                "sha256": "703c346571fa50d2e9856a37d7cd9435a25e7fd15e236c397bf224afaa355fe9"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e038412368d8d85681b77dda2a2e5ad0",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8.0",
            "size": 448819,
            "upload_time": "2024-10-16T19:45:02",
            "upload_time_iso_8601": "2024-10-16T19:45:02.652067Z",
            "url": "https://files.pythonhosted.org/packages/2b/62/e7f317fed3703bd81053840cacba4e40bcf424b870e4197f94bd1cf9fe7a/httptools-0.6.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a1368337d3be6b023260139434c49d7aa466aaa98f9aee7ed29270ac7dde6a2",
                "md5": "4e60364dd5a0c3f19b9e141fe66782cf",
                "sha256": "aafe0f1918ed07b67c1e838f950b1c1fabc683030477e60b335649b8020e1076"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp39-cp39-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4e60364dd5a0c3f19b9e141fe66782cf",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8.0",
            "size": 422093,
            "upload_time": "2024-10-16T19:45:03",
            "upload_time_iso_8601": "2024-10-16T19:45:03.765820Z",
            "url": "https://files.pythonhosted.org/packages/2a/13/68337d3be6b023260139434c49d7aa466aaa98f9aee7ed29270ac7dde6a2/httptools-0.6.4-cp39-cp39-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fcb33a1bc45be03dda7a60c7858e55b6cd0489a81613c1908fb81cf21d34ae50",
                "md5": "c6867003fa617c54e52f9a9574784ba6",
                "sha256": "0e563e54979e97b6d13f1bbc05a96109923e76b901f786a5eae36e99c01237bd"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c6867003fa617c54e52f9a9574784ba6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8.0",
            "size": 423898,
            "upload_time": "2024-10-16T19:45:05",
            "upload_time_iso_8601": "2024-10-16T19:45:05.683787Z",
            "url": "https://files.pythonhosted.org/packages/fc/b3/3a1bc45be03dda7a60c7858e55b6cd0489a81613c1908fb81cf21d34ae50/httptools-0.6.4-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "05722ddc2ae5f7ace986f7e68a326215b2e7c32e32fd40e6428fa8f1d8065c7e",
                "md5": "234fa0d8dc8492d9f646acb49d8593e4",
                "sha256": "b799de31416ecc589ad79dd85a0b2657a8fe39327944998dea368c1d4c9e55e6"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "234fa0d8dc8492d9f646acb49d8593e4",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8.0",
            "size": 89552,
            "upload_time": "2024-10-16T19:45:07",
            "upload_time_iso_8601": "2024-10-16T19:45:07.566086Z",
            "url": "https://files.pythonhosted.org/packages/05/72/2ddc2ae5f7ace986f7e68a326215b2e7c32e32fd40e6428fa8f1d8065c7e/httptools-0.6.4-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a79ace5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277",
                "md5": "2935c69c18c12febdc918198e4cdd0d1",
                "sha256": "4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c"
            },
            "downloads": -1,
            "filename": "httptools-0.6.4.tar.gz",
            "has_sig": false,
            "md5_digest": "2935c69c18c12febdc918198e4cdd0d1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8.0",
            "size": 240639,
            "upload_time": "2024-10-16T19:45:08",
            "upload_time_iso_8601": "2024-10-16T19:45:08.902087Z",
            "url": "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-16 19:45:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MagicStack",
    "github_project": "httptools",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "httptools"
}
        
Elapsed time: 1.17654s