![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"
}