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.7-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27b310df995b60aadda70bd06f552899e15d5d25d98600de9b0f26095a8ea5d2 |
|
MD5 | 6a5c2a21d4af1bcd0054245c418c232b |
|
BLAKE2b-256 | 043cb1be5a163e75c6af117cbc764d05ef3f7cfcb886013053d0558dfae78376 |
Hashes for asgi_tools-0.64.7-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8b6076868fb8cf804702c8121511926b490cad38a211863a16abf5dccf141f5 |
|
MD5 | a7c7d5d69a09bf8a97aadcb1d36402f7 |
|
BLAKE2b-256 | 0d7f6fea0b1d61091cd0a05a7406d11ba9316f28b2a855cdb796640bc979d146 |
Hashes for asgi_tools-0.64.7-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cffb38483685bf70dcd1e00e2516a396b02c0c358a4aff3f8492824483cc19be |
|
MD5 | b82a82416bc86b532c4c218b1bdc10d4 |
|
BLAKE2b-256 | 26def72e85799313ef29287e27352d00f1cec5a93803227fe5ebcc4588cf7609 |
Hashes for asgi_tools-0.64.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1b8303e1da7664d4c9ef6541a7708f407e4ed4cfd7d99cf23586a314b0a7501 |
|
MD5 | d7b06e520ba7a9b4503d47e55fba09af |
|
BLAKE2b-256 | 98fa3400cf892b08aa819240e76349bf3629fae642c028cae4d6cd7d407b9ab0 |
Hashes for asgi_tools-0.64.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31313cddd5336d547236f4a6dee73b853f9caa3fd1528845be47fad14c067b82 |
|
MD5 | 18975aee2a21d380cf35696fa3bbcb14 |
|
BLAKE2b-256 | b39236a221d629620dffb9808d5ead48d4c1d7b56b60e97176dcf6d3d522ce82 |
Hashes for asgi_tools-0.64.7-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0588658304489873355435a98f82bedc8acd3b3a9eefffb0b817c4b8fbaca084 |
|
MD5 | 089133aff00a7e7a6d5ce65d4c05bc24 |
|
BLAKE2b-256 | fb598f4e064ae0cf91c14f242f99c2cb3123f70cd88d037232008f1b93174aea |
Hashes for asgi_tools-0.64.7-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6684692eb217b19df745408b9393dba9501573bffed02e816e4c43d03836734 |
|
MD5 | 6eb6b00602f27d6f638ac65725c4c545 |
|
BLAKE2b-256 | 5bf684c94a6e84e55a546f3e1de2622c135c50241e6a34519b0dbb72b64bc3c0 |
Hashes for asgi_tools-0.64.7-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c895a003516fc712fc6cf2af803354a39d0373741529393c37ffc6846a056837 |
|
MD5 | de9901bcd03b6bda34b1557189a8eb48 |
|
BLAKE2b-256 | 07920d76f640ef47467415de0c98d42ab2891f099f8cc8a2816f4d7ba79c5936 |
Hashes for asgi_tools-0.64.7-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3561800eec411e21d4f35dce427a3b143955dc37d9b4734579b8073d1f6132ad |
|
MD5 | e4c936167ea0cede16501230c80290e4 |
|
BLAKE2b-256 | e7f6e726f1798b040460e89012b6094b59742b96e76f0c246e8847db5c5bcb49 |
Hashes for asgi_tools-0.64.7-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f17683d51f1e3098675ca6faa2e42ac577bb154aebb88171abc1d916274801f5 |
|
MD5 | 72311450f837c3e66961c22d4d778dda |
|
BLAKE2b-256 | 53de29e7a1acbc2f7274dc9ea25d2e1333e17591604e7c41ca49521b9d2aba6b |
Hashes for asgi_tools-0.64.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2eaf384381a9da28a38eaebca734dbda9cc20ea24bb4731cbc8fbed86b3d469 |
|
MD5 | bbefa1ab4efd76137deb61fe9994f6ac |
|
BLAKE2b-256 | c5810dbf459b9b834e267ab8b769239fb5b77daa9b1a57c049c21f708b0c3b63 |
Hashes for asgi_tools-0.64.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbd90a356e3172241bafa01c28f665a04cd185a6ac69c46bd68b087645a471f9 |
|
MD5 | 9663d035f872c947ce99a5fc7cce9c37 |
|
BLAKE2b-256 | db35b10621c52e28dfb6ea61feaf70d478b00982b92243e1437fa91a22a0ac53 |
Hashes for asgi_tools-0.64.7-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ff295f2dbee3ffc95820f653e289ef06b1689fea116bf33765a3415c8c6fea3 |
|
MD5 | 91bd49f19adcac514be71806ec8804f3 |
|
BLAKE2b-256 | da995a3041153caeb54e9c7b112a8617ef195629aebc57b3f24e9ba5ab62c208 |
Hashes for asgi_tools-0.64.7-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1a47c46bceb4bf695d55ae36fb64b12be4ea29c76c98e96a051181f44ca9775 |
|
MD5 | ad8b2e040c41ed331c6bee0dfd650fe5 |
|
BLAKE2b-256 | ce67cba6feb80005d5e2a9b1387fe9ce38967217215a4238a368a4f27a82d760 |
Hashes for asgi_tools-0.64.7-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae7467c2aead90153e5892ddd13d3bd266a69f35142f7647c6545321f3aa824e |
|
MD5 | 8d989588bfc29bad0d78965562d43186 |
|
BLAKE2b-256 | e3babf2c30abe46a8be16962635db8b0b575341be925221eb60da6fb8026998f |
Hashes for asgi_tools-0.64.7-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb515446f3561aac51ba57ef3b3d3043a4b18d07a9f0b45645ad48eadad1f2b0 |
|
MD5 | 41ab7107a9355bff556ce496cdf97d0e |
|
BLAKE2b-256 | 6543b53221d7783b5ec32c103786c34812489318ec451048f9470c526634371b |
Hashes for asgi_tools-0.64.7-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc649e6b66d78d47c67be4343741d94acf2510e16633b308ee635f257d0b62a5 |
|
MD5 | 127f9decc8943bc62fb6d2a71da43228 |
|
BLAKE2b-256 | ad0bf47f364178b488cd081398f627afe5abfd5e30970e2b4b1c3b876dab6d4a |
Hashes for asgi_tools-0.64.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e50356b043bc3e0373ab9da9fcb2090b57bacd91ff58472e1fcad9687bd4e4ff |
|
MD5 | e8a7aa6631f7e647ddd7ad0d355c37cd |
|
BLAKE2b-256 | ad2c9acfd9430b9818ab88511a81b37fe2288526855db09c5b54175e58490e84 |
Hashes for asgi_tools-0.64.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e95fcff2679a5f85a20ed127a2fe2b4eeb5f87a1aa534d82b99613a3d624c0e |
|
MD5 | 97623e4169c7c815424a980ba9e5de10 |
|
BLAKE2b-256 | 46b28cf42556336e8bfafd4995ba912eb6a6b511dd7f52c9c34ca9e813f9d914 |
Hashes for asgi_tools-0.64.7-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c32de5d411f6f6eb735d5806f067857c2accd8d75e0b9f1579265cd2fbb790cd |
|
MD5 | d5b5f57218a052c0de7c2b6dc10af395 |
|
BLAKE2b-256 | be2111a6fda3bf7183a20e9ed69c5fdbe9d7ad5b3d5356c290c6785bdf27f8a3 |
Hashes for asgi_tools-0.64.7-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d81a30293f9296497744fc663b3314e21dd22a734ece76bd9b42d7769bde4856 |
|
MD5 | 42330e2b5729a2104553ed39cf70984c |
|
BLAKE2b-256 | d306b67fe9fd05593811bf9a1e17f0d9ac886e219696a8b001ce1c4a21cee8f1 |
Hashes for asgi_tools-0.64.7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e2af051c1e7215ae0e1b17c0eaef2f51b815e41c1bff990d8d327ab68f8a87d |
|
MD5 | 411a1166443e24c565da84833d9ca49f |
|
BLAKE2b-256 | edb2f981f04a9c79a1f0dfe93c6438c5f07993930ec108e7083f833765e501f9 |
Hashes for asgi_tools-0.64.7-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71f3cc3d9418fa6c0750b213fbcc64b5fef5a13440b3a5cb74c4c76bdda69706 |
|
MD5 | 0402ab8a62a59dafad520147b121598d |
|
BLAKE2b-256 | 0f555b3ce442f5d01e05847bcf4b7bf4792a61fa66eac05c9763d8af9b6e31b9 |
Hashes for asgi_tools-0.64.7-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b488e86702af417262660d1a52ce8a6740e61d809931b126512d54bee0344f27 |
|
MD5 | 5f9abe0ee7f495926964b9b8fd85783c |
|
BLAKE2b-256 | e854a6bee04b843cc969495369d184b85155a5b8b56efd3eeb765c3747dd4786 |
Hashes for asgi_tools-0.64.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c575a24d9bf41ba41a200d0ad9927f8b9348a95904f904e67ac7aa91770f7904 |
|
MD5 | fab94ddff1a8c971eaa45d6a753618ea |
|
BLAKE2b-256 | f8b783f8ef90c38f559955e56cf0bd62fba9b7bfe188081456884fc696fcefef |
Hashes for asgi_tools-0.64.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd2f36c1c1f48f4a3d431e2843f11de6264fa5279654cb770eb377bccb338928 |
|
MD5 | 9057711f3446883c612505fa27763f3d |
|
BLAKE2b-256 | 4b34f8465aef40a2cd622f86429dee86431996bd388c3a9594ee129f7537fb2e |
Hashes for asgi_tools-0.64.7-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 735bb9f872b8aad2a7d681b8238434475744db125094cac3432710414eba79c6 |
|
MD5 | af805f1affdd389ce8adc81adfb6e712 |
|
BLAKE2b-256 | d8044e410f8ad6f793bc54df0d8d2acfa4a4f88d9646cb0a29b7913e219e3a96 |
Hashes for asgi_tools-0.64.7-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c04b150d0388b5f68208a4abbf35162f90cacea999180ed792f48dcccd8ea488 |
|
MD5 | 340398a0329da27dba782c86f4103875 |
|
BLAKE2b-256 | 5d6457be6ca795e748d36f6dd0d7bf384ae17b1c644be331a03e08d316204370 |
Hashes for asgi_tools-0.64.7-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0b823567a22b77507c1b63f1ab37588e9840094cfa5e6aba1742c0ad76c1e64 |
|
MD5 | 3d581c7d32063f8148d7f0e8a6ae0e82 |
|
BLAKE2b-256 | 6e437287adeede78803ab47ef9f512bcac75ff3ff091c4f86b55878f55173bc7 |
Hashes for asgi_tools-0.64.7-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3778e8d85af3a1731ad1151a6cc98547b01d1bcfc9a24d0d0fba70e661b09916 |
|
MD5 | bdef2b2cfb9030a54305207028b3219c |
|
BLAKE2b-256 | 620abe8d32251594a56846c583527580a74f9a92f922a258ad0ff0deeace0725 |
Hashes for asgi_tools-0.64.7-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbe14ef5a552ce6fe52477cbccb109b70ae3f9d14d000247b5760cf4e8671fc8 |
|
MD5 | 55125f6d751444172f341071694d7ad6 |
|
BLAKE2b-256 | 5f837c584bcd6b9be1d8c3d29901eb4da8dc6d93154bc819b88503d791056e7e |
Hashes for asgi_tools-0.64.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f76cb635deaf7ce92d5d1aa3b91bf6c3d39c8269915be743e352b75595b17eb |
|
MD5 | 7ba2ce4debeb037fd9b4325aa8a87776 |
|
BLAKE2b-256 | 8e0b4930abcfa351a3a2975716eaaa20677b56f80301f16a82dc6c6d0725d131 |
Hashes for asgi_tools-0.64.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae9d095394bec6c38a93cecc4529cf21c3071ab22293abae7171e7f4761e691e |
|
MD5 | c8e26fe3a588d9748eaaea50c6be86ba |
|
BLAKE2b-256 | 692cb18d34ef0405daf32d769800dd3560f4e96f8bbe1d89e1a9ba3920e1c4e8 |
Hashes for asgi_tools-0.64.7-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29497190f39fcb697b4fe8317aa053ebaea9e4a7d4fa9096c6273e54a4c15d6f |
|
MD5 | ba11ef83d532cf17d7eb65e51f8368df |
|
BLAKE2b-256 | a47feeca28e7a6e8671d4aaadafaa2f5948f3d461cae3047242f9ac46f327d24 |