ASGI Toolkit to build web applications
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.72.3-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4677e7b505d956b76421db682965bad455f42d563bf30c96a4837d54b76a7e1 |
|
MD5 | a0642cac6229fe78924d493770b12a8a |
|
BLAKE2b-256 | 8e74e2c2cfdd1b588021fb6da8aa1cba93b6c15a7576cd4e4d1ca91024b0055b |
Hashes for asgi_tools-0.72.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38d17e1c75efa0e7e41e05844fecbe10e178c5655fc43b82668a31ec001d49e3 |
|
MD5 | f3acc57a4b739d03091dfc0dbe042be8 |
|
BLAKE2b-256 | e718f87a6f32cf8273ce1179a6f7df1d327dea449cfed52a771c1e9bc3c2845c |
Hashes for asgi_tools-0.72.3-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44248085c5d8fc55a5a03a164213b153551d2c28596337c6ccd40337a73b9c5d |
|
MD5 | 96d399d2fd92e81ef6f74ce4247379a7 |
|
BLAKE2b-256 | 465c7133ac2c0f4ad8c204497fba3fb3916ffd9a8db777a846d6ebadaaf2f3b5 |
Hashes for asgi_tools-0.72.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c037b2dc1f718ea01ad12def79d8455a31bf53b7fe6c7e4ca2927d4d948d3bf |
|
MD5 | a48945f21eb9628cd47bb302ffc68d3b |
|
BLAKE2b-256 | 5526ff19076f6640324ac635995f0b9dce603569bd90d030066b6c94a07f731f |
Hashes for asgi_tools-0.72.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 430c20b12d6bd8222d81c10315a88d6917798d0446f5d62cfb764de5abe2e3e1 |
|
MD5 | 41460ef1e7f9c47e1f4a8dc005cdeb2f |
|
BLAKE2b-256 | 7b13fb4a2e8cb235ffeb03cba3cdc84d4bc9376fbe3e9b16ef60f23a77ade65c |
Hashes for asgi_tools-0.72.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c08b4691f19527a5104fa866db523333f059f72c72d14856c99091e172ccd21 |
|
MD5 | 63b3d6bd6763bd245cf7578bbb4f488e |
|
BLAKE2b-256 | b765db8d2d326256965a8dfb5d52252fd6647614924ceaeab0fab3d7b32dc942 |
Hashes for asgi_tools-0.72.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ae4328b7e89d1d937d1a77c8839379612334c8aeea6733b2b41639c66463585 |
|
MD5 | 715f59b03b775f68931de124b3a77a82 |
|
BLAKE2b-256 | b3cade3d42109406bb883996e60abf998329d442ebd68a176879b8449e52f665 |
Hashes for asgi_tools-0.72.3-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf3676506c157a79b9bf0018096c4a79d5b2afb0bd9c8825ce37aef78940c6a2 |
|
MD5 | 94d96c1d5e0f93f96670434ebb02bfed |
|
BLAKE2b-256 | b106647ca1766405daf3519b2b05c6d978c9896fd2ad2bc6321c2d03c930cde3 |
Hashes for asgi_tools-0.72.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d781e39b56101c1a4f30f3beae3e42b7ef995a6c356fe99145b1fc59c96b9cf5 |
|
MD5 | 5c87348d416f4a30ef3f4895c7f30b28 |
|
BLAKE2b-256 | 6853bc80cd9fb0d698b0a20d744000e96ebc6858af101f22d4ba6bf62b63a091 |
Hashes for asgi_tools-0.72.3-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d145825d2de6227b0a18f46220e46b02522e0faec1a8c91ff09f5aefeac84578 |
|
MD5 | 078998d031baa718f9899766340a616f |
|
BLAKE2b-256 | 99625814b23955f1b07e37ccd983a7102b4f501e079ebb8ca77dcb6a26aed1b6 |
Hashes for asgi_tools-0.72.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a12450d50868b657b32cf8e0e16aa1e0825b4985ae5abe04e87642880ef4925 |
|
MD5 | 31a07e388f6c111e81a273782702762e |
|
BLAKE2b-256 | 199c6eeb446a5906f6cf8937948e1740de0a294b79aa278231654c0a163b89ba |
Hashes for asgi_tools-0.72.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c87ae1910774bd690786fddf47226c3678b05791610cdc3bc62761bd8b68d98 |
|
MD5 | 0c70ceb907ffdabe7ba3260f3a690eed |
|
BLAKE2b-256 | 77eace67ccb29d1a53bb8323f9ff8bc6b61a6275dad98a23fd8c66536b6c22cb |
Hashes for asgi_tools-0.72.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c6850072f42ba0a00ecea37d7f808d3a32ed3e34826b72a09d464b7e64a531a |
|
MD5 | 0c8bc06fe2dee7b88903853d1c8d1632 |
|
BLAKE2b-256 | 10fd395a30ac5a112fe320a2aef4b367560f695fa366d87c74942e408aec4448 |
Hashes for asgi_tools-0.72.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1798a5f5ec3c6229143f180f052f72b14b19f10ce0c2cd89e01ba9b4f4779be |
|
MD5 | 8ae28cf7c6d3860589b087164922cceb |
|
BLAKE2b-256 | f5eb3d54954721b4dc95f77c89c66c57c659049d27a2af899fee176c032ade6a |
Hashes for asgi_tools-0.72.3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec2ea91694446810601a832c128a1536d0364dd1d59d84c07dec444dd935f324 |
|
MD5 | bdb28bc58a112e68f9d6125c2d91f29a |
|
BLAKE2b-256 | 050a553b31b6eae62c8d2ad60e7a9532a1d9270ae5b0196f11b11bdc66154889 |
Hashes for asgi_tools-0.72.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 506e3f8f3fa9ce4e36c7fa9fad25866c4885dedbb47ba7af80986cef7ab8360c |
|
MD5 | 3db3ab5b0c321e0602a32adee4e464fb |
|
BLAKE2b-256 | ec913bb61ee642c878a7e8652f6a798525f611965a70fa9a9ae84a4cbf5f86f7 |
Hashes for asgi_tools-0.72.3-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cf2637f9c5a84d28d56fef9a3a9c6ea459b1316649fa764f12b87b496bb029c |
|
MD5 | 8e216456303871319ae025e51d3cc468 |
|
BLAKE2b-256 | b5454f533951968a43af6d585c6dc6424f9d247f79eda96068a04b2854ab9889 |
Hashes for asgi_tools-0.72.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c609d8a7b924e6a596c614b48b160fa9329a1ef5e4dcbfd75c01d79afcdf8375 |
|
MD5 | 58c3a6424f2d9a5ff3b402a89e397cde |
|
BLAKE2b-256 | 48effd83f9d6b447d2b5b5c76db8a75fe83fb931486932f6538adcedea1a500e |
Hashes for asgi_tools-0.72.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 605ddc0f8463732592957e1304bd9cfab3d5b385e3b13dc254a242b66b6236b7 |
|
MD5 | 5e27e2950fbcc29e259748df0b7c0028 |
|
BLAKE2b-256 | 17e677a014b2cb520c154350135a5d53954fd302c484ee5fe18f267558110c42 |
Hashes for asgi_tools-0.72.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 337662a84a6d4cd229c374929f26bb6c7b6470124458fb3dac645b0b0a0415b6 |
|
MD5 | b5cdc0992c8b54590b67b4baaba5b0d8 |
|
BLAKE2b-256 | 0e584008c5866c7ac7c48670b9455e514b31cd50411b7605b3157458232941c2 |
Hashes for asgi_tools-0.72.3-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26a22781c24da4113040d389d874d62f5236c9b1f68f2a3048fda9606e089db3 |
|
MD5 | 56d8f4b45d513017b8e36db3f3185a05 |
|
BLAKE2b-256 | 1912dded4f793670d370d856626b1975bde7d3187abde72165482381da546e6c |
Hashes for asgi_tools-0.72.3-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd9f3823783ae4b97c3f465d85442c22813ed114027e2cc905af6a10af419bc7 |
|
MD5 | dbc253a4bd060e21d073bf34015441b3 |
|
BLAKE2b-256 | 28171003ba045e74bfc64ef2fe21f2644d0e79e6ec47a19b6a15eca2a4381958 |
Hashes for asgi_tools-0.72.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d053a75e7593c63524440660424e57b6b5f2382a4f9770ded4d5c52ff2e3400f |
|
MD5 | 009e63b153bf3f7bd45fa43f67ddedfe |
|
BLAKE2b-256 | 041cf4d3fd9eb3b8843594dfe73accd61395c692b7c418981c494bb9241c3818 |
Hashes for asgi_tools-0.72.3-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 445d8619c44979ccd1e5e0654fb563e5709aa45c9fe490bdc7d2637efba60399 |
|
MD5 | b150af43993dd8c1989245fd08756c1e |
|
BLAKE2b-256 | ed8be60c3a2b6d282c71ee735a0286ae4494396e41f3f7d0df88a58e46c44ce3 |
Hashes for asgi_tools-0.72.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87bd86f5a742c76371ec323727b967083a34fcc23f11d6013db2ec04057bdee8 |
|
MD5 | 7aada3c9f9f5fd9832c275098777c2bf |
|
BLAKE2b-256 | f9b9d70dec3724603578b9706a3293e83853e13f7dfe962ce997bae6c04cc8fc |
Hashes for asgi_tools-0.72.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ecc07f342a0ae87f877787fdd9e71d9d762affcfd1cf36e8e2923ca91c31ae6 |
|
MD5 | ef003ea449d02ef34326d2fc828e5b0d |
|
BLAKE2b-256 | 9b149f93c5c7f93ff73ae10dba64b9533dba862909bc9de6ea90efdb56c2127c |
Hashes for asgi_tools-0.72.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3edaa99751c7139c8721649fbf108a7335daed6db1ff8af83c11e9c0ae06f387 |
|
MD5 | 75cc52ed41db31d4789eb0b38dbf001c |
|
BLAKE2b-256 | 7588ee6da61b73a2f0eea08e31e00b9820bec545846aee28d17b861235c77342 |
Hashes for asgi_tools-0.72.3-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92cba3e2e4f399e3532cb69516036c9d7a62b95c07bad6b3ee9509e35994d89c |
|
MD5 | 903f3a0f909bedf8c0f5ead3c21163fa |
|
BLAKE2b-256 | e07c7f7798489100c5ebdbad6b28b049a6dd5946f0a8067a93a42c83346c9677 |
Hashes for asgi_tools-0.72.3-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c19a7cc419136ca141f9f4a94a7cdcefc68a5dbc92bc2aeb051fb810b85e150 |
|
MD5 | cb41835eb6f904f6783c414abf346cd3 |
|
BLAKE2b-256 | d1ab016512f8d6a0da4ec6f26cd5ed53e251585c040bf4b916d7674e5f829695 |
Hashes for asgi_tools-0.72.3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47c5f8d308f53874724c6e82c04636228049c6cb4421d26f124596dd19af3798 |
|
MD5 | ce4b4efb0f3c775b7480081ff9e0c7b7 |
|
BLAKE2b-256 | a13a834604cc003cb7c33030b976cbe19dc31fbda729740fc99edaf94915551c |
Hashes for asgi_tools-0.72.3-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7e90d71ea49b313407e0134e15c93a9dd85eb5e4396d657cb4b98a70b9c73b9 |
|
MD5 | 83fee7a4d39ae7066a3aa3664b8756a7 |
|
BLAKE2b-256 | 6c63a703c7a2b3f504d7c2774a0c752ed1dc30e09f9acd21ada26a8b6d04acc0 |
Hashes for asgi_tools-0.72.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9922c2d46e1c147d58fffff2eba4f57c45070a943aa9c790c8e519d005d04324 |
|
MD5 | da3fbb77c403cb4b11c18a8ec3151ced |
|
BLAKE2b-256 | 05a9c6344e2ad4291a5736b6919ee70ee546789c26a4de9f1758956dc23a9a4c |
Hashes for asgi_tools-0.72.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec9d6cedcd9aefb17cac649dc7d4807e48babc56fe794c6de10ebf5b5cf4396a |
|
MD5 | 5963da1a2bde274b3dc1adb4542609dd |
|
BLAKE2b-256 | cc48611c4bce80c2bd3b2c3df7c9a633b42f734219d0f62d9934da4b159fba70 |
Hashes for asgi_tools-0.72.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 179a9232e4d22c47edbccd73d9f19695e295750281bd68f06e9898d99a717c0d |
|
MD5 | 129578cf18c6d840dd3cf57cb8a8bed6 |
|
BLAKE2b-256 | 753f28a7cb6812dd080e5cafdf56118ab86081df39db2aa14b809d6cf44940d3 |