.. image:: https://raw.githubusercontent.com/klen/asgi-tools/develop/.github/assets/asgi-tools.png
:height: 100
.. _description:
**asgi-tools** -- Is a really lightweight ASGI_ Toolkit to build ASGI applications faster.
.. _badges:
.. image:: https://github.com/klen/asgi-tools/workflows/tests/badge.svg
:target: https://github.com/klen/asgi-tools/actions
:alt: Tests Status
.. image:: https://github.com/klen/asgi-tools/workflows/docs/badge.svg
:target: https://klen.github.io/asgi-tools
:alt: Documentation Status
.. image:: https://img.shields.io/pypi/v/asgi-tools
:target: https://pypi.org/project/asgi-tools/
:alt: PYPI Version
.. image:: https://img.shields.io/pypi/pyversions/asgi-tools
:target: https://pypi.org/project/asgi-tools/
:alt: Python Versions
----------
.. _documentation:
**Documentation is here**: https://klen.github.io/asgi-tools
ASGI-Tools is designed to be used as an ASGI Toolkit to quickly build really
lightweight ASGI applications/middlewares/tools.
For instance these middlewares were built with the library:
* `ASGI-Sessions <https://github.com/klen/asgi-sessions>`_
* `ASGI-Babel <https://github.com/klen/asgi-babel>`_
* `ASGI-Prometheus <https://github.com/klen/asgi-prometheus>`_
.. _features:
**Features:**
- Supports all most popular async python libraries: `Asyncio`_, `Trio`_ and Curio_
- `Request`_ -- Parse ASGI scope, get url, headers, cookies, read a request's data/json/form-data
- `Response`_ -- Send HTTP (text, html, json, stream, sse, file, http errors) responses
- `ResponseWebsocket`_ -- Work with websockets
- `RequestMiddleware`_ -- Parse a scope and insert the parsed request into the scope
- `ResponseMiddleware`_ -- Parse responses and convert them into ASGI messages
- `RouterMiddleware`_ -- Route HTTP requests
- `LifespanMiddleware`_ -- Process a lifespan cycle
- `StaticFilesMiddleware`_ -- Serve static files from URL prefixes
- `asgi_tools.tests.TestClient <https://klen.github.io/asgi-tools/api.html#testclient>`_ -- A test client with websockets support to test asgi applications
- `App`_ -- A simple foundation for ASGI apps
.. _contents:
.. contents::
.. _requirements:
Requirements
=============
- python >= 3.9
.. note:: pypy3 is also supported
**ASGI-Tools** belongs to the category of ASGI_ web frameworks, so it requires
an ASGI HTTP server to run, such as uvicorn_, daphne_, or hypercorn_.
.. _installation:
Installation
=============
**asgi-tools** should be installed using pip: ::
pip install asgi-tools
A Quick Example
===============
You can use any of ASGI-Tools components independently.
Dispite this ASGI-Tools contains App_ helper to quickly build ASGI
applications. For instance:
Save this to ``app.py``.
.. code-block:: python
from asgi_tools import App
app = App()
@app.route('/')
async def hello(request):
return "Hello World!"
Run it with `uvicorn`
.. code-block:: sh
$ uvicorn app:app
.. _bugtracker:
Bug tracker
===========
If you have any suggestions, bug reports or
annoyances please report them to the issue tracker
at https://github.com/klen/asgi-tools/issues
.. _contributing:
Contributing
============
Development of the project happens at: https://github.com/klen/asgi-tools
.. _license:
License
========
Licensed under a `MIT license`_.
.. _links:
.. _ASGI: https://asgi.readthedocs.io/en/latest/
.. _Asyncio: https://docs.python.org/3/library/asyncio.html
.. _Curio: https://curio.readthedocs.io/en/latest/
.. _MIT license: http://opensource.org/licenses/MIT
.. _Trio: https://trio.readthedocs.io/en/stable/index.html
.. _klen: https://github.com/klen
.. _uvicorn: http://www.uvicorn.org/
.. _daphne: https://github.com/django/daphne/
.. _hypercorn: https://pgjones.gitlab.io/hypercorn/
.. _Request: https://klen.github.io/asgi-tools/api.html#request
.. _Response: https://klen.github.io/asgi-tools/api.html#responses
.. _ResponseWebSocket: https://klen.github.io/asgi-tools/api.html#responsewebsocket
.. _RequestMiddleware: https://klen.github.io/asgi-tools/api.html#requestmiddleware
.. _ResponseMiddleware: https://klen.github.io/asgi-tools/api.html#responsemiddleware
.. _LifespanMiddleware: https://klen.github.io/asgi-tools/api.html#lifespanmiddleware
.. _StaticFilesMiddleware: https://klen.github.io/asgi-tools/api.html#staticfilesmiddleware
.. _RouterMiddleware: https://klen.github.io/asgi-tools/api.html#routermiddleware
.. _App: https://klen.github.io/asgi-tools/api.html#application
Raw data
{
"_id": null,
"home_page": null,
"name": "asgi-tools",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "asgi, asgi-tools, request, response, asyncio, trio",
"author": null,
"author_email": "Kirill Klenov <horneds@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/f8/f9/41b885405d4014ab86dccc7bdcef0b384cbb64b0891068aa2c8fd1e2e908/asgi_tools-1.1.0.tar.gz",
"platform": null,
"description": ".. image:: https://raw.githubusercontent.com/klen/asgi-tools/develop/.github/assets/asgi-tools.png\n :height: 100\n\n.. _description:\n\n**asgi-tools** -- Is a really lightweight ASGI_ Toolkit to build ASGI applications faster.\n\n.. _badges:\n\n.. image:: https://github.com/klen/asgi-tools/workflows/tests/badge.svg\n :target: https://github.com/klen/asgi-tools/actions\n :alt: Tests Status\n\n.. image:: https://github.com/klen/asgi-tools/workflows/docs/badge.svg\n :target: https://klen.github.io/asgi-tools\n :alt: Documentation Status\n\n.. image:: https://img.shields.io/pypi/v/asgi-tools\n :target: https://pypi.org/project/asgi-tools/\n :alt: PYPI Version\n\n.. image:: https://img.shields.io/pypi/pyversions/asgi-tools\n :target: https://pypi.org/project/asgi-tools/\n :alt: Python Versions\n\n----------\n\n.. _documentation:\n\n**Documentation is here**: https://klen.github.io/asgi-tools\n\nASGI-Tools is designed to be used as an ASGI Toolkit to quickly build really\nlightweight ASGI applications/middlewares/tools.\n\nFor instance these middlewares were built with the library:\n\n* `ASGI-Sessions <https://github.com/klen/asgi-sessions>`_\n* `ASGI-Babel <https://github.com/klen/asgi-babel>`_\n* `ASGI-Prometheus <https://github.com/klen/asgi-prometheus>`_\n\n.. _features:\n\n**Features:**\n\n- Supports all most popular async python libraries: `Asyncio`_, `Trio`_ and Curio_\n- `Request`_ -- Parse ASGI scope, get url, headers, cookies, read a request's data/json/form-data\n- `Response`_ -- Send HTTP (text, html, json, stream, sse, file, http errors) responses\n- `ResponseWebsocket`_ -- Work with websockets\n- `RequestMiddleware`_ -- Parse a scope and insert the parsed request into the scope\n- `ResponseMiddleware`_ -- Parse responses and convert them into ASGI messages\n- `RouterMiddleware`_ -- Route HTTP requests\n- `LifespanMiddleware`_ -- Process a lifespan cycle\n- `StaticFilesMiddleware`_ -- Serve static files from URL prefixes\n- `asgi_tools.tests.TestClient <https://klen.github.io/asgi-tools/api.html#testclient>`_ -- A test client with websockets support to test asgi applications\n- `App`_ -- A simple foundation for ASGI apps\n\n.. _contents:\n\n.. contents::\n\n.. _requirements:\n\nRequirements\n=============\n\n- python >= 3.9\n\n.. note:: pypy3 is also supported\n\n**ASGI-Tools** belongs to the category of ASGI_ web frameworks, so it requires\nan ASGI HTTP server to run, such as uvicorn_, daphne_, or hypercorn_.\n\n.. _installation:\n\nInstallation\n=============\n\n**asgi-tools** should be installed using pip: ::\n\n pip install asgi-tools\n\nA Quick Example\n===============\n\nYou can use any of ASGI-Tools components independently.\n\nDispite this ASGI-Tools contains App_ helper to quickly build ASGI\napplications. For instance:\n\nSave this to ``app.py``.\n\n.. code-block:: python\n\n from asgi_tools import App\n\n app = App()\n\n @app.route('/')\n async def hello(request):\n return \"Hello World!\"\n\nRun it with `uvicorn`\n\n.. code-block:: sh\n\n $ uvicorn app:app\n\n\n.. _bugtracker:\n\nBug tracker\n===========\n\nIf you have any suggestions, bug reports or\nannoyances please report them to the issue tracker\nat https://github.com/klen/asgi-tools/issues\n\n.. _contributing:\n\nContributing\n============\n\nDevelopment of the project happens at: https://github.com/klen/asgi-tools\n\n.. _license:\n\nLicense\n========\n\nLicensed under a `MIT license`_.\n\n\n.. _links:\n\n.. _ASGI: https://asgi.readthedocs.io/en/latest/\n.. _Asyncio: https://docs.python.org/3/library/asyncio.html\n.. _Curio: https://curio.readthedocs.io/en/latest/\n.. _MIT license: http://opensource.org/licenses/MIT\n.. _Trio: https://trio.readthedocs.io/en/stable/index.html\n.. _klen: https://github.com/klen\n.. _uvicorn: http://www.uvicorn.org/\n.. _daphne: https://github.com/django/daphne/\n.. _hypercorn: https://pgjones.gitlab.io/hypercorn/\n\n.. _Request: https://klen.github.io/asgi-tools/api.html#request\n.. _Response: https://klen.github.io/asgi-tools/api.html#responses\n.. _ResponseWebSocket: https://klen.github.io/asgi-tools/api.html#responsewebsocket\n.. _RequestMiddleware: https://klen.github.io/asgi-tools/api.html#requestmiddleware\n.. _ResponseMiddleware: https://klen.github.io/asgi-tools/api.html#responsemiddleware\n.. _LifespanMiddleware: https://klen.github.io/asgi-tools/api.html#lifespanmiddleware\n.. _StaticFilesMiddleware: https://klen.github.io/asgi-tools/api.html#staticfilesmiddleware\n.. _RouterMiddleware: https://klen.github.io/asgi-tools/api.html#routermiddleware\n.. _App: https://klen.github.io/asgi-tools/api.html#application\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "ASGI Toolkit to build web applications",
"version": "1.1.0",
"project_urls": {
"documentation": "https://klen.github.io/asgi-tools",
"homepage": "https://github.com/klen/asgi-tools",
"repository": "https://github.com/klen/asgi-tools"
},
"split_keywords": [
"asgi",
" asgi-tools",
" request",
" response",
" asyncio",
" trio"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "66dc4dfaa9a6307c301acc07e2077aa52236355d5b3d9adbbbf7569d1b196e6f",
"md5": "b1a332c69e3256a6960bfa1c34364e7d",
"sha256": "8f8820eb6ff8a4d0f8df03497c658612d75ac95b234a0981f2fd78f66344f6b5"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp310-cp310-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "b1a332c69e3256a6960bfa1c34364e7d",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 485489,
"upload_time": "2024-11-05T14:35:36",
"upload_time_iso_8601": "2024-11-05T14:35:36.340554Z",
"url": "https://files.pythonhosted.org/packages/66/dc/4dfaa9a6307c301acc07e2077aa52236355d5b3d9adbbbf7569d1b196e6f/asgi_tools-1.1.0-cp310-cp310-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c514cb638341f70b2e337e5f6aa8d4888da80b45abf3cd37b0bdad6cdfad2503",
"md5": "573c779b6e9a57337e3160083be2f6eb",
"sha256": "4c230cf6b067e4d991798e826949ca23926605565533a9aad4023f77bcac0455"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "573c779b6e9a57337e3160083be2f6eb",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 365832,
"upload_time": "2024-11-05T14:35:40",
"upload_time_iso_8601": "2024-11-05T14:35:40.325829Z",
"url": "https://files.pythonhosted.org/packages/c5/14/cb638341f70b2e337e5f6aa8d4888da80b45abf3cd37b0bdad6cdfad2503/asgi_tools-1.1.0-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dc5cdacebcc63b395892b0b2461d4fc0ac9867f832cda3c209c71fa6005a3b87",
"md5": "aef1419f53965a059159c6819dada490",
"sha256": "ac2a30efa9466c9eff6360e984dd44b7954dfd00fbff2e839ff9906bfb342da5"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "aef1419f53965a059159c6819dada490",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 945087,
"upload_time": "2024-11-05T14:35:41",
"upload_time_iso_8601": "2024-11-05T14:35:41.592186Z",
"url": "https://files.pythonhosted.org/packages/dc/5c/dacebcc63b395892b0b2461d4fc0ac9867f832cda3c209c71fa6005a3b87/asgi_tools-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "eef5de691463138c95300219655ae608d7f8e4bb13ef7eede987541571858031",
"md5": "783808fd5c459d3ef828d63382a6b2ba",
"sha256": "f02b9e5eb90fc2b37dc0b3752fb36350db26719ea28331c2de1e68c5f5fe77b8"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "783808fd5c459d3ef828d63382a6b2ba",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 951686,
"upload_time": "2024-11-05T14:35:43",
"upload_time_iso_8601": "2024-11-05T14:35:43.700819Z",
"url": "https://files.pythonhosted.org/packages/ee/f5/de691463138c95300219655ae608d7f8e4bb13ef7eede987541571858031/asgi_tools-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3e8bad6f4b86fdaf0bec2e62604c33becd9505bd99b43fcb12964bcae767c923",
"md5": "c1c139968eb4a6a360b36aee588a0e0f",
"sha256": "5822137ddf130cd6dc58108d687ff9e87b140117e01b3e60408860d6669e2df2"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "c1c139968eb4a6a360b36aee588a0e0f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 916338,
"upload_time": "2024-11-05T14:35:45",
"upload_time_iso_8601": "2024-11-05T14:35:45.016512Z",
"url": "https://files.pythonhosted.org/packages/3e/8b/ad6f4b86fdaf0bec2e62604c33becd9505bd99b43fcb12964bcae767c923/asgi_tools-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "41ec0ba3f022ed7eb1c1be1e0808696d9993597b5f3b077bc952006f524c48ab",
"md5": "12b6e75c61efbe6e4c0a5e78e250d87a",
"sha256": "efa9256da11fceee9710c64788d5c6c354d889544d5fc00801e687b234c8f5ad"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "12b6e75c61efbe6e4c0a5e78e250d87a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 936352,
"upload_time": "2024-11-05T14:35:47",
"upload_time_iso_8601": "2024-11-05T14:35:47.065624Z",
"url": "https://files.pythonhosted.org/packages/41/ec/0ba3f022ed7eb1c1be1e0808696d9993597b5f3b077bc952006f524c48ab/asgi_tools-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a73f21200bb52aa53572ec3e9e542c31bc0b5d6732de96af56c353debd0fcf3d",
"md5": "2e18e0e9755bc197735c515d1a4dddec",
"sha256": "fd4e155e98c10e4875365e73e876a9eeb0f5ffbd46ed84f577be98f064c7162b"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "2e18e0e9755bc197735c515d1a4dddec",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 359988,
"upload_time": "2024-11-05T14:35:49",
"upload_time_iso_8601": "2024-11-05T14:35:49.019179Z",
"url": "https://files.pythonhosted.org/packages/a7/3f/21200bb52aa53572ec3e9e542c31bc0b5d6732de96af56c353debd0fcf3d/asgi_tools-1.1.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8e98ff2275679b6520a294df348ea1f357c993105f145ab7c407a08cfe54829a",
"md5": "946b565aee0cef5802ce05324fd166d1",
"sha256": "97b2e804da55ce90b27d0285baffa7c4673f913c480733a558e02a25bc7496f2"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp311-cp311-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "946b565aee0cef5802ce05324fd166d1",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 486090,
"upload_time": "2024-11-05T14:35:50",
"upload_time_iso_8601": "2024-11-05T14:35:50.451775Z",
"url": "https://files.pythonhosted.org/packages/8e/98/ff2275679b6520a294df348ea1f357c993105f145ab7c407a08cfe54829a/asgi_tools-1.1.0-cp311-cp311-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cd8cc43a47d502cb2ef9f1f0e870924d9e4107deb8d7e6f177ce0d783847f890",
"md5": "4a369b17ddde84e1253e7cea6d944252",
"sha256": "221b8ec433e922186386b522b6aacb822f83a36676f6333bd21beeb89d6080cf"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "4a369b17ddde84e1253e7cea6d944252",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 365998,
"upload_time": "2024-11-05T14:35:52",
"upload_time_iso_8601": "2024-11-05T14:35:52.852088Z",
"url": "https://files.pythonhosted.org/packages/cd/8c/c43a47d502cb2ef9f1f0e870924d9e4107deb8d7e6f177ce0d783847f890/asgi_tools-1.1.0-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ec9c8232ab792fdeeccac4e17760fd3d83e0fe9393a463ccd1d05b0611e22ec9",
"md5": "7afbb83083e84f50deba162e2f5e5593",
"sha256": "38b9c1e26775ca2c2abc9cdb573dcd1fc3dde5f25314d096aa650333ec5a15df"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "7afbb83083e84f50deba162e2f5e5593",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1011569,
"upload_time": "2024-11-05T14:35:54",
"upload_time_iso_8601": "2024-11-05T14:35:54.814076Z",
"url": "https://files.pythonhosted.org/packages/ec/9c/8232ab792fdeeccac4e17760fd3d83e0fe9393a463ccd1d05b0611e22ec9/asgi_tools-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "590c1d14f6a163cd562732a39bb62200a940cd17c6b558088ef740c29be35040",
"md5": "f941d948f21b770905689116710d977e",
"sha256": "0840316a547be0e93cb7376317ccfd36d59d2b3905839feb037010129c54c1b8"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "f941d948f21b770905689116710d977e",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1020244,
"upload_time": "2024-11-05T14:35:56",
"upload_time_iso_8601": "2024-11-05T14:35:56.377694Z",
"url": "https://files.pythonhosted.org/packages/59/0c/1d14f6a163cd562732a39bb62200a940cd17c6b558088ef740c29be35040/asgi_tools-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3be2010e0de19b440257cb463124e8924e5abee023c1cf0619123d89936d0794",
"md5": "2b1b026d11997c33482fcd29d824b280",
"sha256": "0f4f4079af2b35c3cfea9de0d31eac75a51ed2834cbf62ab7c3484e45e92c1d7"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "2b1b026d11997c33482fcd29d824b280",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 988219,
"upload_time": "2024-11-05T14:35:57",
"upload_time_iso_8601": "2024-11-05T14:35:57.801369Z",
"url": "https://files.pythonhosted.org/packages/3b/e2/010e0de19b440257cb463124e8924e5abee023c1cf0619123d89936d0794/asgi_tools-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "06af78ad5c9539bad4336bec71882ebd708f17d5146abbadebd388e9d9e88d02",
"md5": "06e24f99a793dd3d759968f568e5ddfe",
"sha256": "da041451f39c214cce56f1dacc78541319e5469306173f54dd5d08be015a4c1b"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "06e24f99a793dd3d759968f568e5ddfe",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1011179,
"upload_time": "2024-11-05T14:35:59",
"upload_time_iso_8601": "2024-11-05T14:35:59.821692Z",
"url": "https://files.pythonhosted.org/packages/06/af/78ad5c9539bad4336bec71882ebd708f17d5146abbadebd388e9d9e88d02/asgi_tools-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6a9a0f852fa35c7391dee0cb93e223353da367b2d7f82796c75b9e61a8e6c6ce",
"md5": "7080c9ed19746a115ca04105563413af",
"sha256": "915a1d71e98f96458bf28dc91617fab09ef3b53a739b84279d0b4187f88c8365"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "7080c9ed19746a115ca04105563413af",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 360120,
"upload_time": "2024-11-05T14:36:02",
"upload_time_iso_8601": "2024-11-05T14:36:02.762591Z",
"url": "https://files.pythonhosted.org/packages/6a/9a/0f852fa35c7391dee0cb93e223353da367b2d7f82796c75b9e61a8e6c6ce/asgi_tools-1.1.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c2ebbf596eef270271521ea220c0e200e1915b75b16fa485338088e05bf21169",
"md5": "8e3ceb3bff9cb8578d08431fbe037d09",
"sha256": "520b3605d5f1ceac646303306a1b5ff2119056fe790270f6a417f05674a515ea"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp312-cp312-macosx_10_13_universal2.whl",
"has_sig": false,
"md5_digest": "8e3ceb3bff9cb8578d08431fbe037d09",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 488216,
"upload_time": "2024-11-05T14:36:04",
"upload_time_iso_8601": "2024-11-05T14:36:04.834300Z",
"url": "https://files.pythonhosted.org/packages/c2/eb/bf596eef270271521ea220c0e200e1915b75b16fa485338088e05bf21169/asgi_tools-1.1.0-cp312-cp312-macosx_10_13_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1a18f28907d77d95366760cf80387840c24ed34de3ce814e289eeea0829b2dc9",
"md5": "27a5d149fc574e1fcf000bfa2015771b",
"sha256": "7cafdc8b4f94bf18b4de1ef5a0d2ec705d83af34ec9745573c03f024c2153d94"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "27a5d149fc574e1fcf000bfa2015771b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 366843,
"upload_time": "2024-11-05T14:36:06",
"upload_time_iso_8601": "2024-11-05T14:36:06.517723Z",
"url": "https://files.pythonhosted.org/packages/1a/18/f28907d77d95366760cf80387840c24ed34de3ce814e289eeea0829b2dc9/asgi_tools-1.1.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4d0fe1a1fa2a400f190fa82cb71ff4abc61244f91b078a0d1f52c57b65db27c6",
"md5": "68838e42cc7333dbfcbf272acc8854a5",
"sha256": "53d3d2975447f4140652e6f87d84ff302fa622b1422b718ad16c8329e22d32cd"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "68838e42cc7333dbfcbf272acc8854a5",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 997675,
"upload_time": "2024-11-05T14:36:08",
"upload_time_iso_8601": "2024-11-05T14:36:08.411813Z",
"url": "https://files.pythonhosted.org/packages/4d/0f/e1a1fa2a400f190fa82cb71ff4abc61244f91b078a0d1f52c57b65db27c6/asgi_tools-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "79c9605315141947708e5c0fc4f8693f9a45f068760350b5d2489dab80fd9a60",
"md5": "f95b5ac0e3ca9a95f0665c346fb0594f",
"sha256": "25568fad9e438d51a5088511219ac07b7069fa66a04c5d0ce247e7d4c244d2f3"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "f95b5ac0e3ca9a95f0665c346fb0594f",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1010609,
"upload_time": "2024-11-05T14:36:09",
"upload_time_iso_8601": "2024-11-05T14:36:09.953962Z",
"url": "https://files.pythonhosted.org/packages/79/c9/605315141947708e5c0fc4f8693f9a45f068760350b5d2489dab80fd9a60/asgi_tools-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "428cb3b9fe66811a95a50e44444f3198ffcf51c745ff51c9700ffc2b8c0166f3",
"md5": "a3655a4b10ecc927e7bf8358053bf2ce",
"sha256": "d0e45631dc91435dc30ec6180d7e5ea31ca9f6657b36333108c66083351bcf19"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "a3655a4b10ecc927e7bf8358053bf2ce",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 974712,
"upload_time": "2024-11-05T14:36:11",
"upload_time_iso_8601": "2024-11-05T14:36:11.315393Z",
"url": "https://files.pythonhosted.org/packages/42/8c/b3b9fe66811a95a50e44444f3198ffcf51c745ff51c9700ffc2b8c0166f3/asgi_tools-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b15130c54a2316b61e31c13ba123418c735078e3c81f82ca2938fc2e10d2af7f",
"md5": "2e0a53123843d7e8989854cb4a64a9ff",
"sha256": "549bd065a31fbc97e55cc8ac5d8bf36bca7b328f4f58821d07fc2e4869f84ba0"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "2e0a53123843d7e8989854cb4a64a9ff",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 999037,
"upload_time": "2024-11-05T14:36:12",
"upload_time_iso_8601": "2024-11-05T14:36:12.774026Z",
"url": "https://files.pythonhosted.org/packages/b1/51/30c54a2316b61e31c13ba123418c735078e3c81f82ca2938fc2e10d2af7f/asgi_tools-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7ed12b4b2d6a44417e4b3c81ddfd1afda0ee0c5d74ecf62d94a9d49ae28ace16",
"md5": "0817f6eba70624f9487ac5a30a4bb774",
"sha256": "2a9a6f8a9f33ff73a11b6e4029305df3e76fd356f9799f962581bebc81fe7456"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "0817f6eba70624f9487ac5a30a4bb774",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 359323,
"upload_time": "2024-11-05T14:36:14",
"upload_time_iso_8601": "2024-11-05T14:36:14.689820Z",
"url": "https://files.pythonhosted.org/packages/7e/d1/2b4b2d6a44417e4b3c81ddfd1afda0ee0c5d74ecf62d94a9d49ae28ace16/asgi_tools-1.1.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "264ccc2b9618093e251caba8260ec94fc8323d115cdd46463c1499c27621fa8b",
"md5": "5eef5129b99def20f1ea585e78085df6",
"sha256": "8a94f33c027572ab08c81dac1a1be6cf3d8981ff5f088c5839696956215559e9"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp313-cp313-macosx_10_13_universal2.whl",
"has_sig": false,
"md5_digest": "5eef5129b99def20f1ea585e78085df6",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 484537,
"upload_time": "2024-11-05T14:36:16",
"upload_time_iso_8601": "2024-11-05T14:36:16.210968Z",
"url": "https://files.pythonhosted.org/packages/26/4c/cc2b9618093e251caba8260ec94fc8323d115cdd46463c1499c27621fa8b/asgi_tools-1.1.0-cp313-cp313-macosx_10_13_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e1291b2c627101fce8cc5efc767c0dc4a37bd7603c25df4e3157ef9926b87309",
"md5": "101d805daa2829095ee614db8b04463f",
"sha256": "9b30163505a92242a6abf3bb795b9a6bd687dcd545ccadef18a0d7418b6780bc"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "101d805daa2829095ee614db8b04463f",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 365010,
"upload_time": "2024-11-05T14:36:18",
"upload_time_iso_8601": "2024-11-05T14:36:18.237878Z",
"url": "https://files.pythonhosted.org/packages/e1/29/1b2c627101fce8cc5efc767c0dc4a37bd7603c25df4e3157ef9926b87309/asgi_tools-1.1.0-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bfa46e5450aee67ff86b015ec579380b38e8a9e6953ac727c28143871c9b2a40",
"md5": "2133e164f95f76e36bd113483e8af538",
"sha256": "ec28031d795d9652b73acd4ed61aaa112fdd06983a232c60cca6cd3cb5226d4b"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "2133e164f95f76e36bd113483e8af538",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 989551,
"upload_time": "2024-11-05T14:36:19",
"upload_time_iso_8601": "2024-11-05T14:36:19.752441Z",
"url": "https://files.pythonhosted.org/packages/bf/a4/6e5450aee67ff86b015ec579380b38e8a9e6953ac727c28143871c9b2a40/asgi_tools-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3cb4c845e3184914d06938e1f2f211cda51d8bd6a3b9dcd1298a433ed28fa69c",
"md5": "637e37cbca3d21565237eb241753a909",
"sha256": "f8c4571d33ddb81712d6db2176aa7584fbb5d3da39915454ea414086014dd9e6"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "637e37cbca3d21565237eb241753a909",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1006346,
"upload_time": "2024-11-05T14:36:21",
"upload_time_iso_8601": "2024-11-05T14:36:21.506186Z",
"url": "https://files.pythonhosted.org/packages/3c/b4/c845e3184914d06938e1f2f211cda51d8bd6a3b9dcd1298a433ed28fa69c/asgi_tools-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1e729465d7acd8663efab4febcef446b4bf763e0cfa079e1c51756b5fe2d9814",
"md5": "2515c01a2f4619534fbe23b173977ffa",
"sha256": "e20ff396c602c163c98550e9813a461ee914d31c8129952859c7c1aaf6ac6d3d"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "2515c01a2f4619534fbe23b173977ffa",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 967008,
"upload_time": "2024-11-05T14:36:23",
"upload_time_iso_8601": "2024-11-05T14:36:23.192084Z",
"url": "https://files.pythonhosted.org/packages/1e/72/9465d7acd8663efab4febcef446b4bf763e0cfa079e1c51756b5fe2d9814/asgi_tools-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "443c4babe0946cd8001c8895989287630155037202f4e0b0d03761d69bbeba48",
"md5": "c5654496d9e342762b42d490e7c85975",
"sha256": "0f266d4f452a24dcfdbe483cf13f049a46e18edf27dab6affc5ff005c4635e95"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "c5654496d9e342762b42d490e7c85975",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 992738,
"upload_time": "2024-11-05T14:36:24",
"upload_time_iso_8601": "2024-11-05T14:36:24.616754Z",
"url": "https://files.pythonhosted.org/packages/44/3c/4babe0946cd8001c8895989287630155037202f4e0b0d03761d69bbeba48/asgi_tools-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "56276a29145c396bcc1cf7622f522857014778bc3f7e2d17b7d6c97c8f077fc1",
"md5": "100401e37ae9fb2c93d5a49cbf79a3d2",
"sha256": "db94128826c5512e11569e512e748451a9963df76b68bb8f32cd0d0c53d849ba"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "100401e37ae9fb2c93d5a49cbf79a3d2",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 358926,
"upload_time": "2024-11-05T14:36:29",
"upload_time_iso_8601": "2024-11-05T14:36:29.597759Z",
"url": "https://files.pythonhosted.org/packages/56/27/6a29145c396bcc1cf7622f522857014778bc3f7e2d17b7d6c97c8f077fc1/asgi_tools-1.1.0-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4a60c680ba33d77bcd3f76a06f4cd2e2a3b59d71a7ad5209b510927e6c73f1ab",
"md5": "d68f3001da39da054f8208d3d3d47cd1",
"sha256": "58b2e2b78bd0f15cb618d786e5e567252d95c32faad5587f37466c674daaad4d"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp39-cp39-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "d68f3001da39da054f8208d3d3d47cd1",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 487052,
"upload_time": "2024-11-05T14:36:31",
"upload_time_iso_8601": "2024-11-05T14:36:31.732919Z",
"url": "https://files.pythonhosted.org/packages/4a/60/c680ba33d77bcd3f76a06f4cd2e2a3b59d71a7ad5209b510927e6c73f1ab/asgi_tools-1.1.0-cp39-cp39-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "36eb91ab46e684ee22b3fcd8c882d56cb71cdd78f83f2cf0f389a6c1152b5a97",
"md5": "4a5a11164c77e8d73cd23c9cce0f2ab6",
"sha256": "a831b84d5130ecee56efef1913d8099a4fbf9a0f7ab31801d9f9f69564becd53"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "4a5a11164c77e8d73cd23c9cce0f2ab6",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 366612,
"upload_time": "2024-11-05T14:36:33",
"upload_time_iso_8601": "2024-11-05T14:36:33.599888Z",
"url": "https://files.pythonhosted.org/packages/36/eb/91ab46e684ee22b3fcd8c882d56cb71cdd78f83f2cf0f389a6c1152b5a97/asgi_tools-1.1.0-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "38652d84d0990f3165045133d718657d4aa2b93b17142e01dc6e1f630935a496",
"md5": "8ce089b6936c4f1ff5ed4665fc8a6ad7",
"sha256": "b97eca15dc6438277c785a2a15ef1888bc3fff9e3e0c7375450173966bd91fbc"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "8ce089b6936c4f1ff5ed4665fc8a6ad7",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 949251,
"upload_time": "2024-11-05T14:36:34",
"upload_time_iso_8601": "2024-11-05T14:36:34.996925Z",
"url": "https://files.pythonhosted.org/packages/38/65/2d84d0990f3165045133d718657d4aa2b93b17142e01dc6e1f630935a496/asgi_tools-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "045463a2ddb4de2fea579a533cb629e01cbc67018c7adbd5e357ef7da49e0fd8",
"md5": "de51546b20eb8a04891a89b17158387b",
"sha256": "d5dc468a32fbd1596a09f9cd1cb3e23e8e4f6ed103c2db74355a2940527fbeb4"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "de51546b20eb8a04891a89b17158387b",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 955925,
"upload_time": "2024-11-05T14:36:36",
"upload_time_iso_8601": "2024-11-05T14:36:36.812069Z",
"url": "https://files.pythonhosted.org/packages/04/54/63a2ddb4de2fea579a533cb629e01cbc67018c7adbd5e357ef7da49e0fd8/asgi_tools-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fd31539d06ea3334613c2e1b1d12c4400a59bba48abc1ea0cbcdc0321624eb68",
"md5": "ed5ba13d47a140c133d60041cda356f5",
"sha256": "fa37be7da9a2fd92df4099a097d7cf5f9741d851a629797f39ffb6555d4ed28e"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp39-cp39-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "ed5ba13d47a140c133d60041cda356f5",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 919211,
"upload_time": "2024-11-05T14:36:38",
"upload_time_iso_8601": "2024-11-05T14:36:38.778356Z",
"url": "https://files.pythonhosted.org/packages/fd/31/539d06ea3334613c2e1b1d12c4400a59bba48abc1ea0cbcdc0321624eb68/asgi_tools-1.1.0-cp39-cp39-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d07f0c132fde38dafa3944f852e762458508935fb1c808ceb7abd8fdf2bb90eb",
"md5": "dca1c5daecc7ff502b45d6d346972e44",
"sha256": "f7fa65a257d36ef2b8ddc5eb638dc915dc3dc10d6e087acf89da116f1ee9d4b3"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "dca1c5daecc7ff502b45d6d346972e44",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 943276,
"upload_time": "2024-11-05T14:36:40",
"upload_time_iso_8601": "2024-11-05T14:36:40.229754Z",
"url": "https://files.pythonhosted.org/packages/d0/7f/0c132fde38dafa3944f852e762458508935fb1c808ceb7abd8fdf2bb90eb/asgi_tools-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0e8c79a7472ad3d351f50e38a8e95956f0cdcfd4cb65835c8d1cbf96431457f0",
"md5": "a5a0e5e8e0cd16d4a71343b59836ebdb",
"sha256": "f0099465f27c57cf08592382f9ee9bf9a704983a882535d56d221dd0813b5e43"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "a5a0e5e8e0cd16d4a71343b59836ebdb",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 360684,
"upload_time": "2024-11-05T14:36:41",
"upload_time_iso_8601": "2024-11-05T14:36:41.558103Z",
"url": "https://files.pythonhosted.org/packages/0e/8c/79a7472ad3d351f50e38a8e95956f0cdcfd4cb65835c8d1cbf96431457f0/asgi_tools-1.1.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f8f941b885405d4014ab86dccc7bdcef0b384cbb64b0891068aa2c8fd1e2e908",
"md5": "1dde3b0dca3fd750e0dffe8270bb9d1c",
"sha256": "76dfcca7f5958c69b7fefa424c6837a3d5d9f7a1bf8e1dd5e5e7e912087d146b"
},
"downloads": -1,
"filename": "asgi_tools-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "1dde3b0dca3fd750e0dffe8270bb9d1c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 47954,
"upload_time": "2024-11-05T14:36:43",
"upload_time_iso_8601": "2024-11-05T14:36:43.257901Z",
"url": "https://files.pythonhosted.org/packages/f8/f9/41b885405d4014ab86dccc7bdcef0b384cbb64b0891068aa2c8fd1e2e908/asgi_tools-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-05 14:36:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "klen",
"github_project": "asgi-tools",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "asgi-tools"
}