Is a toolkit to build ASGI applications faster
Project description
asgi-tools – Is a really lightweight ASGI Toolkit to build ASGI applications faster.
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:
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 – A test client with websockets support to test asgi applications
App – A simple foundation for ASGI apps
Requirements
python >= 3.7
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
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.
from asgi_tools import App
app = App()
@app.route('/')
async def hello(request):
return "Hello World!"
Run it with uvicorn
$ uvicorn app:app
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
Development of the project happens at: https://github.com/klen/asgi-tools
License
Licensed under a MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for asgi_tools-0.64.3-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c556100b9ba2d05e68c6f12e098be7a2c922a8c1a2ccc98d7a996eed95940e19 |
|
MD5 | 5f76cc9fa1900323c3c6c37cf8cce515 |
|
BLAKE2b-256 | 367942c292450db8e07c3355ab82bd6653279a89c039c272b2acbb60e9f6440e |
Hashes for asgi_tools-0.64.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4324b0fbeb00abee464e8fa2b0e6464e6fe8530979b63fb806c0d9b06d84e6cd |
|
MD5 | dc97d500a87084d4e128f87027e09eef |
|
BLAKE2b-256 | 3c474cf9eb95ef8b7ec8b6aad484b19050d75d3d3d16b24cb89e5f788b4035c2 |
Hashes for asgi_tools-0.64.3-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00fe9a08eabfd754164266890acb6c780ea94b5da9d75ae3cd32965f8a89ffc9 |
|
MD5 | 5024713c175d2e4f30dad71d9b176456 |
|
BLAKE2b-256 | 4afcfe5feeb37251fc2e7963bc22bff049f53f1827b8e4d4e52da3c8eb442a27 |
Hashes for asgi_tools-0.64.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04d6edaef44f465354c83d32d95f5303de1ea7acf85ca604087e63ad724ca63f |
|
MD5 | 60fbdf22cca3b8ff57e7920f7119353e |
|
BLAKE2b-256 | d714808c4604d8dc7f23d287e329344a5d2cfe0583e8626ed48ba302d0280990 |
Hashes for asgi_tools-0.64.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faedfdf39777f087a601afd9171e4cd78b493b72b8dbb9720c800d5426655df0 |
|
MD5 | 6f653694e40077de9e5b89dde5fb5e60 |
|
BLAKE2b-256 | 9269ce75204cce47987ce0bb96869f2cf97244ac3a0f6a7e3027be76ca9d052b |
Hashes for asgi_tools-0.64.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88b9b769a28753dfe7321440af6fe6db54f9edb01613ac4de9a2707d1b26a90b |
|
MD5 | d458cc13088b88db42571bf79f957f4c |
|
BLAKE2b-256 | 1990fb184cb6a3ec6fafed45828f97ba8fdd09a75f45b2ccca1287712535f504 |
Hashes for asgi_tools-0.64.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70638d22943ddcc573f9067f2e7213ade2b8522a63a653a22703bbe61cf51d4a |
|
MD5 | 28130af4ac03433c1960bf0c57ef6ef7 |
|
BLAKE2b-256 | 0867a778b731e42f2811f4f07c9fbc3aaa467e76d8332ebcfc411ead8e85de57 |
Hashes for asgi_tools-0.64.3-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 520108502f77f9780ee59bf9959e2944c9f5ecd524da22f570c37fb1a14272ef |
|
MD5 | 28533b198459970ec50c8159e4aa050c |
|
BLAKE2b-256 | 53241ada4e02237402c94fd89bd45c717ece8b69a00d8a16b224903b13e14150 |
Hashes for asgi_tools-0.64.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61187f929bc27e21f81b2ba8314c49eeab7f9e3447ff3f9f5bfac9dc7cec7daf |
|
MD5 | ecd8ae810ca58e936586959836c83f5c |
|
BLAKE2b-256 | 6df543c0fa53b2461ef85cdb7b19bf5ed6ace7224fd2bb2bc5cbc26de8df8c8e |
Hashes for asgi_tools-0.64.3-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5c6a60cfd0631fc116996ff9aadf4cf0b5dac96d09f32e51e23a2158204cdd5 |
|
MD5 | 1ebb5331de4f4af3579d7ffd020376e7 |
|
BLAKE2b-256 | 13e1c206f9b437fdd01d2301fc1d004a5fe2b4e95d46459fc48f52f5c4683cca |
Hashes for asgi_tools-0.64.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32d504fb8e03f758a8e4d150140cbe72c0f917db26f3a43ccf25732507c66561 |
|
MD5 | 1fd1880a7caab4c01bd822b300a39447 |
|
BLAKE2b-256 | 16620db95d70642f81169ff46991f4e58476ade3d9847b910d68843a76100554 |
Hashes for asgi_tools-0.64.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09d023b0cb07781a8ba39c8458f428210bd41cc9337b7e93f17d6693314e6d1b |
|
MD5 | 470eee750023950aab72ac606c27f0e0 |
|
BLAKE2b-256 | 0a1c65728fb4f82856ead2c55dacaf2d9576cdd61f890491416f4e3b39512956 |
Hashes for asgi_tools-0.64.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b38e60033e26d9ec80b4651e696bbf26d913baaffe3c52a90f3987937e8fdb4d |
|
MD5 | 68b827e76cdc7a8bb46ea3665a6f9260 |
|
BLAKE2b-256 | 85ae8ef214ca48b0039d94bf814be1ec26051a600a6d8ae861b051ca9ff2beb7 |
Hashes for asgi_tools-0.64.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa0d5e00d5bfc93038609101809f16137e3ead8350bf2d12fee65dcb16329410 |
|
MD5 | 197d440b33eca7ccc231c9c08a1caba1 |
|
BLAKE2b-256 | 755e5ad90d35d3b456eeadd44a9a8ed7898aabc93baf10d7b5eed4dc133ca09f |
Hashes for asgi_tools-0.64.3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8affdbe767c25b523eaa77d27868570174d9c83e0379148855bd94a7b1f4047a |
|
MD5 | 4af48fb211c9a14dce259668d2123520 |
|
BLAKE2b-256 | f3176659dc6aa83adbe4e9a2625cfa561ee734f102986d35b932ba087e94b3d4 |
Hashes for asgi_tools-0.64.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f91ab1b9b0ad10521b1d97a9d22fa39b4e0885e8a3e2866111236b275012984 |
|
MD5 | 18d108101e8598f0dcb46d26b5d54851 |
|
BLAKE2b-256 | 5d9e87d14b21f3dd329c21f97f237dfb11d5c6342364008179c493da333f78e0 |
Hashes for asgi_tools-0.64.3-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c160d249813d0ca052b99b3d9313c98c78ce2f6671e3f669eb735426944a4a17 |
|
MD5 | 799dfe202f23ba82564264406fdb735b |
|
BLAKE2b-256 | 60136aab411583830c893e62f7bb111bde001ad02e3eb658f8612a8dd7e4ec21 |
Hashes for asgi_tools-0.64.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cd19c560f7127d25181052e487367f71b928c1834b4d291c9da4de2377f18a8 |
|
MD5 | cf17fe1e8b9c34611143d67e19dae7b4 |
|
BLAKE2b-256 | ce08e367dfc78c29ca371e9fec1d8f4cf2b013d0a5d28e75cba88609f0958828 |
Hashes for asgi_tools-0.64.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6797a3a54b5397381021cc18b8e871a65cb5361a8b98c231f5024ad272e4652f |
|
MD5 | 41d5e26175f9f2ca0923c85a522b6a4d |
|
BLAKE2b-256 | 8c684e298301b3d372dad90660ad0ab424e0fad5e412a36a27807455fdad4b81 |
Hashes for asgi_tools-0.64.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c5d72043b1c44b262f0020065de791ff083122937d195e2d059a8c6c6951e55 |
|
MD5 | 4b95dce39baf8bf78ad2a7d7e3c48d56 |
|
BLAKE2b-256 | f4fb8d16e1490975f31b6ded845879a43ff887b17935e60b6bf96dd70eedde82 |
Hashes for asgi_tools-0.64.3-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c66802b530f9d8e9fbc598a99f451c7b7f651ff77ff1e2bd8aab336ef869fc4 |
|
MD5 | 4e82b1f00a67e4a75f4abf1b5e016fd5 |
|
BLAKE2b-256 | 0f94c8f303677fe7a22bae092b3d7e00e456a8a3665bcf73659c51722cbecb5f |
Hashes for asgi_tools-0.64.3-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 704ec71967050377062cdc30a41ad36c68c1b4738410d06aaa8257dd8a46e777 |
|
MD5 | 121f5a08df89a0474e0d758b85c1d2c6 |
|
BLAKE2b-256 | 717c8a13b451f27d6f319c209c2fd081918351f770433e742655b67341bcc62d |
Hashes for asgi_tools-0.64.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 330adbb33c82b05cae0a426b22445c042ee796147556d7640e5bfc681c24e684 |
|
MD5 | 4c6a507f122150ed497ed2ecc131a43d |
|
BLAKE2b-256 | 06b50904dab944da9e24eba45c65fe77df06bd48440701b458b8e1f70925d89f |
Hashes for asgi_tools-0.64.3-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b810cb0aabe160675aa410b1a231d5a8773a9d907b4d206e43e48f4520b75b94 |
|
MD5 | 187ddb8a0f5ed7144610ce39901fd2ef |
|
BLAKE2b-256 | 0cd1343453f2da37d3173d11b0d669f4ab8d8ffcd7c99c8c8e3a55c78553201c |
Hashes for asgi_tools-0.64.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04409eab8eec0583613e73930dfd3b2364b8eb931f485c734000947b56441303 |
|
MD5 | a54d15ccf4c03aada87661d5aab192b5 |
|
BLAKE2b-256 | 5217b5842e766c2aa89d40fafffb07aac413c34fe2df7dab3f03002b0308afd1 |
Hashes for asgi_tools-0.64.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 189cfec46666160cbbf457e4617fd7c4784cdefc437eea9bd80a135b08f2aa72 |
|
MD5 | 44e99c7e33e9990047eb2df76539b23f |
|
BLAKE2b-256 | ec7ce07c1036b787c27561ec0c784b3f98ce4c94608069153f5a9d1772aa2c89 |
Hashes for asgi_tools-0.64.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93623fa239be511b2416ec37bd3df5fe98b70816f9e3fed7db6ee5771636bbef |
|
MD5 | 5f77187ea4cbe7ea9c3ccd7b4bf9d997 |
|
BLAKE2b-256 | 8497efdec1539c452818c9d238e65e6c49a39379263020498e730d64a353527f |
Hashes for asgi_tools-0.64.3-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a47169c2a30e33a7c6556ff0a82f3e28deb06e4b6374366cbd503e8d28d8043 |
|
MD5 | 4390af0ac7e557d94c0bf531478fd42d |
|
BLAKE2b-256 | cd80d1e021d066e936586b1b6e0a11e4f7714a8de7eff525dfdd8841543a467b |
Hashes for asgi_tools-0.64.3-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b21fe3419a733c9505cd36311448edb58dc57c09dfa1611c4c8b673ffde61632 |
|
MD5 | 889851b56544dff2a73c70e5b6ecb581 |
|
BLAKE2b-256 | 821543435d4de1e404efd6059fb8bc037f34d46afcb2b42f90edde725be4ed3e |
Hashes for asgi_tools-0.64.3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a2a9fbb7834cef9e653f2d4d75669f9c51b94727588affce6cde374894c801d |
|
MD5 | d62314528b96f5323057603cbaf50ecd |
|
BLAKE2b-256 | 4e2b0c1db6737eb57745269453212ca333da6727b61a0078ac924469ab0a1684 |
Hashes for asgi_tools-0.64.3-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f233912205bebf81c7d4dcb3a16edd5723c9674b4c9fc5d381ae71b4640d096e |
|
MD5 | 2bf91afd2840850a8da55ed43bb92fee |
|
BLAKE2b-256 | 73d539a801545bd63580634a922fd1ecda3af9b85a41c4f6ef768fb2feb523b9 |
Hashes for asgi_tools-0.64.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b069dde095bb1a37e6d8684b373ebd787123d773b292784dc2ac4870d1fd5576 |
|
MD5 | af79d911eca0609aa31da593082029d8 |
|
BLAKE2b-256 | 09b0199b8b07fb0ddb8a127a327db697d09912dfffb58a42115f7144f4d20e66 |
Hashes for asgi_tools-0.64.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5226fac03e1de36181dfbcdc42b31c8b0f9c5d61ee91374fc55eee2c830f808b |
|
MD5 | d698fc19d1c0ce1061539a2f6b3beeba |
|
BLAKE2b-256 | d07aa2f2df14290bb4a8939e771cce7c16d4f10834367fe52e7c4af83abefdaf |
Hashes for asgi_tools-0.64.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66eb5a29b2ff6a46c73cc74e346b19cc28df74be1da397fb67daa7ceac5bd4d8 |
|
MD5 | 3a0974991729ba39eaf9452cbc2b36b6 |
|
BLAKE2b-256 | 231840ebc3ae8350494383f23524458f5b9cfe03763fea566f8733d3492b186d |