asgi-tools 1.1.0__cp313-cp313-musllinux_1_2_aarch64.whl → 1.2.0__cp313-cp313-musllinux_1_2_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- asgi_tools/__init__.py +3 -2
- asgi_tools/_compat.py +10 -13
- asgi_tools/app.py +105 -51
- asgi_tools/forms.c +6646 -7185
- asgi_tools/forms.cpython-313-aarch64-linux-musl.so +0 -0
- asgi_tools/forms.py +9 -9
- asgi_tools/middleware.py +38 -29
- asgi_tools/multipart.c +5818 -5562
- asgi_tools/multipart.cpython-313-aarch64-linux-musl.so +0 -0
- asgi_tools/multipart.py +6 -9
- asgi_tools/request.py +63 -47
- asgi_tools/response.py +45 -50
- asgi_tools/tests.py +20 -21
- asgi_tools/view.py +2 -2
- {asgi_tools-1.1.0.dist-info → asgi_tools-1.2.0.dist-info}/METADATA +22 -22
- asgi_tools-1.2.0.dist-info/RECORD +29 -0
- {asgi_tools-1.1.0.dist-info → asgi_tools-1.2.0.dist-info}/WHEEL +1 -1
- asgi_tools-1.1.0.dist-info/RECORD +0 -29
- {asgi_tools-1.1.0.dist-info → asgi_tools-1.2.0.dist-info/licenses}/LICENSE +0 -0
- {asgi_tools-1.1.0.dist-info → asgi_tools-1.2.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: asgi-tools
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.2.0
|
4
4
|
Summary: ASGI Toolkit to build web applications
|
5
5
|
Author-email: Kirill Klenov <horneds@gmail.com>
|
6
6
|
License: MIT License
|
@@ -13,7 +13,6 @@ Classifier: Intended Audience :: Developers
|
|
13
13
|
Classifier: License :: OSI Approved :: MIT License
|
14
14
|
Classifier: Programming Language :: Python
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
16
|
-
Classifier: Programming Language :: Python :: 3.9
|
17
16
|
Classifier: Programming Language :: Python :: 3.10
|
18
17
|
Classifier: Programming Language :: Python :: 3.11
|
19
18
|
Classifier: Programming Language :: Python :: 3.12
|
@@ -23,41 +22,42 @@ Classifier: Programming Language :: Cython
|
|
23
22
|
Classifier: Topic :: Internet :: WWW/HTTP
|
24
23
|
Classifier: Framework :: AsyncIO
|
25
24
|
Classifier: Framework :: Trio
|
26
|
-
Requires-Python: >=3.
|
25
|
+
Requires-Python: >=3.10
|
27
26
|
Description-Content-Type: text/x-rst
|
28
27
|
License-File: LICENSE
|
29
28
|
Requires-Dist: http-router>=4.0.0
|
30
|
-
Requires-Dist: multidict
|
29
|
+
Requires-Dist: multidict>=6.6.3
|
31
30
|
Requires-Dist: sniffio
|
32
31
|
Requires-Dist: yarl>=1.8.2
|
33
32
|
Requires-Dist: async-timeout; python_version < "3.11"
|
34
|
-
Provides-Extra: dev
|
35
|
-
Requires-Dist: bump2version; extra == "dev"
|
36
|
-
Requires-Dist: tox; extra == "dev"
|
37
|
-
Requires-Dist: cython; extra == "dev"
|
38
|
-
Requires-Dist: pre-commit; extra == "dev"
|
39
|
-
Requires-Dist: sphinx; extra == "dev"
|
40
|
-
Requires-Dist: pydata-sphinx-theme; extra == "dev"
|
41
|
-
Provides-Extra: examples
|
42
|
-
Requires-Dist: uvicorn[standard]; extra == "examples"
|
43
|
-
Requires-Dist: jinja2; extra == "examples"
|
44
|
-
Requires-Dist: httpx; extra == "examples"
|
45
|
-
Provides-Extra: orjson
|
46
|
-
Requires-Dist: orjson; extra == "orjson"
|
47
33
|
Provides-Extra: tests
|
48
34
|
Requires-Dist: aiofile; extra == "tests"
|
49
35
|
Requires-Dist: pytest; extra == "tests"
|
50
|
-
Requires-Dist: pytest-aio[curio,trio]>=1.
|
36
|
+
Requires-Dist: pytest-aio[curio,trio]>=1.2.0; extra == "tests"
|
51
37
|
Requires-Dist: pytest-benchmark; extra == "tests"
|
52
38
|
Requires-Dist: PyYAML; extra == "tests"
|
53
39
|
Requires-Dist: ruff; extra == "tests"
|
54
40
|
Requires-Dist: mypy; extra == "tests"
|
41
|
+
Requires-Dist: exceptiongroup; python_version < "3.11" and extra == "tests"
|
55
42
|
Requires-Dist: ujson; implementation_name == "cpython" and extra == "tests"
|
56
43
|
Requires-Dist: uvloop; implementation_name == "cpython" and extra == "tests"
|
57
44
|
Requires-Dist: pytest-mypy; implementation_name == "cpython" and extra == "tests"
|
58
|
-
Requires-Dist: exceptiongroup; python_version < "3.11" and extra == "tests"
|
59
45
|
Provides-Extra: ujson
|
60
46
|
Requires-Dist: ujson; extra == "ujson"
|
47
|
+
Provides-Extra: orjson
|
48
|
+
Requires-Dist: orjson; extra == "orjson"
|
49
|
+
Provides-Extra: examples
|
50
|
+
Requires-Dist: uvicorn[standard]; extra == "examples"
|
51
|
+
Requires-Dist: jinja2; extra == "examples"
|
52
|
+
Requires-Dist: httpx; extra == "examples"
|
53
|
+
Provides-Extra: dev
|
54
|
+
Requires-Dist: bump2version; extra == "dev"
|
55
|
+
Requires-Dist: tox; extra == "dev"
|
56
|
+
Requires-Dist: cython; extra == "dev"
|
57
|
+
Requires-Dist: pre-commit; extra == "dev"
|
58
|
+
Requires-Dist: sphinx; extra == "dev"
|
59
|
+
Requires-Dist: pydata-sphinx-theme; extra == "dev"
|
60
|
+
Dynamic: license-file
|
61
61
|
|
62
62
|
.. image:: https://raw.githubusercontent.com/klen/asgi-tools/develop/.github/assets/asgi-tools.png
|
63
63
|
:height: 100
|
@@ -145,7 +145,7 @@ A Quick Example
|
|
145
145
|
|
146
146
|
You can use any of ASGI-Tools components independently.
|
147
147
|
|
148
|
-
|
148
|
+
Despite this ASGI-Tools contains App_ helper to quickly build ASGI
|
149
149
|
applications. For instance:
|
150
150
|
|
151
151
|
Save this to ``app.py``.
|
@@ -201,7 +201,7 @@ Licensed under a `MIT license`_.
|
|
201
201
|
.. _klen: https://github.com/klen
|
202
202
|
.. _uvicorn: http://www.uvicorn.org/
|
203
203
|
.. _daphne: https://github.com/django/daphne/
|
204
|
-
.. _hypercorn: https://
|
204
|
+
.. _hypercorn: https://github.com/pgjones/hypercorn/
|
205
205
|
|
206
206
|
.. _Request: https://klen.github.io/asgi-tools/api.html#request
|
207
207
|
.. _Response: https://klen.github.io/asgi-tools/api.html#responses
|
@@ -0,0 +1,29 @@
|
|
1
|
+
asgi_tools/__init__.py,sha256=tBnlggb3FJPK8tDrnpC580OfbQ0QpuKFRdyfxmIeu8w,1428
|
2
|
+
asgi_tools/_compat.py,sha256=3BTsysYhxa0itJzCWnzpnE-HuYGs7vXzZRgQRei0IW4,7483
|
3
|
+
asgi_tools/app.py,sha256=OEkoRszSRJ9bwWQ3SKWm3Pv-R0B8uKcP9ciYsDMyCGg,10790
|
4
|
+
asgi_tools/constants.py,sha256=B7fJabLdpSE4COX0vAudyC32xV0dSpLgg0kob-FlCkE,128
|
5
|
+
asgi_tools/errors.py,sha256=TTAtJL5w2EVm9dVNK2pqNBRWM1lGJXg7HnJTibjgkes,550
|
6
|
+
asgi_tools/forms.c,sha256=v7t7ia5JTU68Eg1weG353v2IKfjQf_jTKUBSDmg8pgQ,826881
|
7
|
+
asgi_tools/forms.cpython-313-aarch64-linux-musl.so,sha256=gqPIucIHjlEoJzrFdJchTb64hGzVuC7kWUYyF-yzAOw,1123136
|
8
|
+
asgi_tools/forms.py,sha256=ers1A52YEAO1TBYWJP73K6q6jArNU7QbV0LjTlpKdeM,5059
|
9
|
+
asgi_tools/forms.pyx,sha256=ol1iEXDwS--9vNIoxFFvcTRvzUF14gQC3SDWW9K5-k8,5340
|
10
|
+
asgi_tools/logs.py,sha256=FaXJF5UYClU-JdqLL7VANxQ8O-eYAEemt0Zc_GaEC60,148
|
11
|
+
asgi_tools/middleware.py,sha256=_hTALpm3Gv_3ssCyZfInzuFC8onNz2ZFVrDCdgOcnF8,15148
|
12
|
+
asgi_tools/multipart.c,sha256=EY4Z9r8PmtB-EuV7mI1evcyEGOFpKZCT-KeE5GPH2II,844007
|
13
|
+
asgi_tools/multipart.cpython-313-aarch64-linux-musl.so,sha256=0qR9pBNxaLRwXGDIy6g0-cqn7xF0lYeqb_3FqnfhvQQ,845704
|
14
|
+
asgi_tools/multipart.pxd,sha256=bPnRLYuBw51OX7v-SZTOgOpb4PxM1MtR5dGWVoymX3A,725
|
15
|
+
asgi_tools/multipart.py,sha256=8RkJm9JIjyjR7z2OIhYg8fgLKq21HBWCMEOwbhx-3GA,21707
|
16
|
+
asgi_tools/multipart.pyx,sha256=pq-DzmAaRhS0yMJIFPNI-GP7OjJUt4k3Y8vMbXJOpKk,21929
|
17
|
+
asgi_tools/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
|
+
asgi_tools/request.py,sha256=s-CqT9JI-aPZz46YtKyvSDR7CfLxEhPrIuH9OG6npzk,10802
|
19
|
+
asgi_tools/response.py,sha256=ZBe1UCu64k8hRqrgGvhGrk-mT653mWnaDa7a01LFkD0,18685
|
20
|
+
asgi_tools/router.py,sha256=1MCF5QLfYPWZH10AuXMRN0rTMTyQWciDSh3owgsFhk4,440
|
21
|
+
asgi_tools/tests.py,sha256=elUGlBE8qklBzKAov1x1i0eVHfkFLzj5Oifd6_JjHv4,12944
|
22
|
+
asgi_tools/types.py,sha256=QWmrnhqc_jEUaXUcMm5iMpxpd6vrTcCnlq4O9moKANg,926
|
23
|
+
asgi_tools/utils.py,sha256=6qNwZbUsKatg75Gi1ltRsAeJhBaf1gwJkuR0LemitRw,2813
|
24
|
+
asgi_tools/view.py,sha256=DO0Lr8euP98kMicDwmZLcbMpJ-Hzbhl3vYFYqAXpisw,1925
|
25
|
+
asgi_tools-1.2.0.dist-info/METADATA,sha256=Oyxz72uoD1qM5iK1fxjGVEYtWZ61H-Ma0GO16M_kPKA,7138
|
26
|
+
asgi_tools-1.2.0.dist-info/WHEEL,sha256=3IjWZRuuq2q-vKtU0x2XxSbfx92VUEmTDWR0AUEtZxI,113
|
27
|
+
asgi_tools-1.2.0.dist-info/top_level.txt,sha256=-6i6ebKuJ0cSaXJ3KWPmJLKUbmBE2UsuA2b7BcZMJSk,11
|
28
|
+
asgi_tools-1.2.0.dist-info/RECORD,,
|
29
|
+
asgi_tools-1.2.0.dist-info/licenses/LICENSE,sha256=ytogAgYcPT6gWj8aRc-cZwhSq9Y3wOzG-4KteKCyQOw,1070
|
@@ -1,29 +0,0 @@
|
|
1
|
-
asgi_tools/app.py,sha256=zMg_R3lAnpzWfHzWkByR2msG9wKZAtECxEbtyJR_h8s,8111
|
2
|
-
asgi_tools/errors.py,sha256=TTAtJL5w2EVm9dVNK2pqNBRWM1lGJXg7HnJTibjgkes,550
|
3
|
-
asgi_tools/utils.py,sha256=6qNwZbUsKatg75Gi1ltRsAeJhBaf1gwJkuR0LemitRw,2813
|
4
|
-
asgi_tools/forms.cpython-313-aarch64-linux-musl.so,sha256=JYqvdZeTfTePg2s0yY1dwlG6nHxBl75R4OnOKdlPON0,1101160
|
5
|
-
asgi_tools/multipart.pyx,sha256=pq-DzmAaRhS0yMJIFPNI-GP7OjJUt4k3Y8vMbXJOpKk,21929
|
6
|
-
asgi_tools/multipart.pxd,sha256=bPnRLYuBw51OX7v-SZTOgOpb4PxM1MtR5dGWVoymX3A,725
|
7
|
-
asgi_tools/constants.py,sha256=B7fJabLdpSE4COX0vAudyC32xV0dSpLgg0kob-FlCkE,128
|
8
|
-
asgi_tools/request.py,sha256=1wJ6wq_lZaVxicu1YDSLwszfuZ4iyYa6z3FV2VLw0eg,10433
|
9
|
-
asgi_tools/__init__.py,sha256=ULbf6SyqMpqP_eKw8YvY45QjujIdDpSuYtaX8Gi12tU,1413
|
10
|
-
asgi_tools/forms.c,sha256=0ONEEyzmLpS6MgbeLDz5D4dBEdBSsXpHNcpM8zHW_pU,816245
|
11
|
-
asgi_tools/multipart.py,sha256=LNQzATAogrLEmr6Iu6ofRPbjoFZbIdyC1WeLyxxcMHA,21730
|
12
|
-
asgi_tools/forms.py,sha256=r9J0suEl3GEuHX-MJUF-WT3lzyUZ69l3aQZOmbc9e_U,5091
|
13
|
-
asgi_tools/types.py,sha256=QWmrnhqc_jEUaXUcMm5iMpxpd6vrTcCnlq4O9moKANg,926
|
14
|
-
asgi_tools/forms.pyx,sha256=ol1iEXDwS--9vNIoxFFvcTRvzUF14gQC3SDWW9K5-k8,5340
|
15
|
-
asgi_tools/router.py,sha256=1MCF5QLfYPWZH10AuXMRN0rTMTyQWciDSh3owgsFhk4,440
|
16
|
-
asgi_tools/tests.py,sha256=xYDwDKooByo2b3DN7J1g4-rwzv9XAQ7hp_Bou-vhHM0,13043
|
17
|
-
asgi_tools/_compat.py,sha256=VHX73I6sKdhb0LyhShOddDNg5FlUZqODPFsQWlpZvTA,7523
|
18
|
-
asgi_tools/view.py,sha256=EgCWRjwO5IZ_VAK8s2FAK2yLLaAb9pQ4SNopIdST35U,1938
|
19
|
-
asgi_tools/response.py,sha256=UnZFWhiWGr5cxDGgu2l65xAez3NITjSOCyir_9gyFoo,18865
|
20
|
-
asgi_tools/middleware.py,sha256=1gvvV7v4lO6LceqP36bZFpFvb-hEfSAvyH2_IzahKes,15003
|
21
|
-
asgi_tools/logs.py,sha256=FaXJF5UYClU-JdqLL7VANxQ8O-eYAEemt0Zc_GaEC60,148
|
22
|
-
asgi_tools/multipart.cpython-313-aarch64-linux-musl.so,sha256=UA2NkvbAoa5xh4M2KTrXIqMFUBdSdATdeo4QIujoHi8,837968
|
23
|
-
asgi_tools/multipart.c,sha256=biO6lYLL8Op7_Nzkg3CVt3Lrz6Bfl5Td5Z-KTMc_tlI,810039
|
24
|
-
asgi_tools/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
|
-
asgi_tools-1.1.0.dist-info/top_level.txt,sha256=-6i6ebKuJ0cSaXJ3KWPmJLKUbmBE2UsuA2b7BcZMJSk,11
|
26
|
-
asgi_tools-1.1.0.dist-info/RECORD,,
|
27
|
-
asgi_tools-1.1.0.dist-info/LICENSE,sha256=ytogAgYcPT6gWj8aRc-cZwhSq9Y3wOzG-4KteKCyQOw,1070
|
28
|
-
asgi_tools-1.1.0.dist-info/METADATA,sha256=3O8KNeCEsQLDBlXEm_3Bc2YQhgGYJ2AKiThvLC_6AXg,7157
|
29
|
-
asgi_tools-1.1.0.dist-info/WHEEL,sha256=1sWSG1Xcgjh2lHdBEPlSDk-d4KPRxaHusCtaVMdZWHk,113
|
File without changes
|
File without changes
|