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.8-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34298cf8c3d82399cd47cb442f6a50552d2706d323225842251c197b59fa86c7 |
|
MD5 | eb59c58466a9268bd90a087061601820 |
|
BLAKE2b-256 | ffd0b4d67de3b367189dc5b0e9e2da7408d82956be3aeeb230e94391c4bc5ea7 |
Hashes for asgi_tools-0.64.8-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 753a8163cc8d8fa9f6a4a15217f9b531fe213996bcfba9175f00a9790895a985 |
|
MD5 | 5281fa7c3285896502514d8f3c3acc9f |
|
BLAKE2b-256 | 4d375c90aa26b9a43e6a41247e5fbe6b95f9041db2645b9f18b76808ec0b62ca |
Hashes for asgi_tools-0.64.8-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27853142237d312609ad839c9f679ba4315014f9b3c8d0a152c764a046c859c3 |
|
MD5 | e0cedbfa8fe266180a7faeee3f7492f7 |
|
BLAKE2b-256 | ab617e48ab4246b479d44d037edb758e6a7d0849db1179fafc768a641231927c |
Hashes for asgi_tools-0.64.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e02655f5b0b7cede50492fe3a348d548d353719ac923918c8fc77658dd83f3e2 |
|
MD5 | 67ee738a81de7c9eaf8839cde7bcf59b |
|
BLAKE2b-256 | 7fe5d1316ab7825cba994114483a3ef97254e2ab964c2fc4ad1fd981e53f5622 |
Hashes for asgi_tools-0.64.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ae745e470c7997885a9c084694ad1a5a705dc305692d529d038f22d865be996 |
|
MD5 | b38f92ee55519489ee490791b2463f9b |
|
BLAKE2b-256 | e9ccaa80e252b345a617d2c4058e7ff07329bb7f4afb60152065a7982987515c |
Hashes for asgi_tools-0.64.8-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc9a89a971113499dda55fea161e7c12c328fa95ab391af9ad856718c166120c |
|
MD5 | 454262fe10f2b0dd62bae37f0c8b8fab |
|
BLAKE2b-256 | c58547eeb99a868f2bd3418cad3f25d941d9e0c4a91106fbeab803625750e505 |
Hashes for asgi_tools-0.64.8-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cebf1469236f6526b3a97db4c02a6244ca859811ac711ef9bbae90f5beef06f0 |
|
MD5 | bf7fcbe9274cc913ab7da4c6116ce79f |
|
BLAKE2b-256 | b650e292ae97f2a3e70a82c41cfae6759eda9fe826b7120adeea191a37ad3419 |
Hashes for asgi_tools-0.64.8-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 807cabe67a5332859aca3f65e7a5c8fce888c8f284c2016e76ef43847b857561 |
|
MD5 | 04691954050264f7375f11b7ccae383b |
|
BLAKE2b-256 | dbcada7fa6623de0c3d850fa1cc4870bf2e1aadc0f57ec1367c9bf54123263a0 |
Hashes for asgi_tools-0.64.8-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70a0886ed54b958563f9b2fb08587fb3601c1f651e827c295bb316eaae6988af |
|
MD5 | 02c028e21c4b5844bd1af64fec242591 |
|
BLAKE2b-256 | 54593cbfc5b67bbd85408fef511be0eca10b5fba04a5162f2ed6df86c1eda1ee |
Hashes for asgi_tools-0.64.8-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 142b9cae4c574c44d34771ef2fd31264b91949a92c906031e866572d7b78a96d |
|
MD5 | 609f521ac4cd8e7387720ff1e41e7b14 |
|
BLAKE2b-256 | 4b0517fd161d1c4691bfd20198e8f144bf68b09c590994335f8d564bfbef2a3d |
Hashes for asgi_tools-0.64.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9cfb66505df2cfb4690af4ecae872f8a5bc898808fe5696db7ede30d353f343 |
|
MD5 | 331481070f73b7fa3c14d83ca84b8ae1 |
|
BLAKE2b-256 | 4f1bc177a9364d12a8ace3220db020d614e5e8472939aee292713a6599567a73 |
Hashes for asgi_tools-0.64.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8343f9ff8e81540c7401803c7444a2b258953b625de124738a8f3d98c30e9ea6 |
|
MD5 | 2209d90580e41a92bb3a36a4666a5c43 |
|
BLAKE2b-256 | 23daa6ebfc59f5efec8ab29647dfa070790bb2065f183b0241b48b7ae2075431 |
Hashes for asgi_tools-0.64.8-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75cfc572a8d7c061a5d3ef1fc3ca607d6b804ccf96a38040774b31cca7a09b83 |
|
MD5 | 77d22f3bc59ab5097d4e0270d5fb5a85 |
|
BLAKE2b-256 | 022454d40b53d563602ca16584be2211d8db45aed67caa8c85a68b7ce0be8e12 |
Hashes for asgi_tools-0.64.8-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b13632257b52f185def1be93d9cd08cac258bf698df0d0767eb323de34d63a7d |
|
MD5 | 3c24ad77ad7f92eae49ab6e3eec847f2 |
|
BLAKE2b-256 | adf99099cc8de93e99a737f946dc481e014155d1cc5a01b2a0e4628415b02f4b |
Hashes for asgi_tools-0.64.8-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74881fb3efcabdeb79b6ac01377ea229dbd5d7b4b16490c09e6892b264031685 |
|
MD5 | d3b45550a91cd8c71cbe7f32ff60f36c |
|
BLAKE2b-256 | 0660a040750fdd00e8126caeacba342487cee80195d9554c267966b0b482c6e3 |
Hashes for asgi_tools-0.64.8-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 392026c0871f6d83dbf457b95c146524b8c06d8bd5855eb2e83df89af83a8a43 |
|
MD5 | 9d436269e2e2a6f2b7660d243966f3fb |
|
BLAKE2b-256 | b1e6e32e0c19c4e55ae6a9aa21a2e674a40acf2a63972bc5c329e29ae4232be8 |
Hashes for asgi_tools-0.64.8-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29430b1b88f626b684b2258296fa5162a9c3b1bf36b8baedfa5770f9bb57ff9f |
|
MD5 | 8a8fe4eecdd53a64dd9b0c672ba2ace5 |
|
BLAKE2b-256 | 5cf51253b124c1fa6e6b61dd8742da9034017a5ed5e099d2e1fe746eef0f3138 |
Hashes for asgi_tools-0.64.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fab530f10e48be5965650003859772845cc258f49f81d6a3ba094487d2034d31 |
|
MD5 | 5faddcf07aad2fdc23002f41699c4462 |
|
BLAKE2b-256 | ad4e68b84b2154f45d07c14489d9130628684448c87e751956a7a810adafa14c |
Hashes for asgi_tools-0.64.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c16f2e07014245026de1cedf56abc574c753275466bd6e3f7d776f4d5cc2369c |
|
MD5 | ffd99c635e31776b73030b5e7fe6cd80 |
|
BLAKE2b-256 | 5bc79865aecfa6b6504936ca1ca00525881b9eef1c95747f7bdd1957c8210c1c |
Hashes for asgi_tools-0.64.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e9a35012d80b0355243e1c45e7172fbbfccd3a912f169d2534318b00bf1b413 |
|
MD5 | 0c6b9d9e530b89a8976c3a4eb862462c |
|
BLAKE2b-256 | de86efdca4af47630eafebd7d08b44dd5cdd8a0cce4c7118e236f82d8bde22a7 |
Hashes for asgi_tools-0.64.8-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4a64378fb764de5f6de0938868d67071d8a9c02418203963fd49868f9a4eb81 |
|
MD5 | 464a8558d9df994d50c1424a2431de81 |
|
BLAKE2b-256 | ffb155cdf1b69ccef257613c0c37ddc617506858213e1cb50d98079c4299b2d4 |
Hashes for asgi_tools-0.64.8-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47c8f46ab7f806b794beb4dbd374b791f8180b9eda124990f1b3aa6b44d1b554 |
|
MD5 | 564d5f33827caaae034748a84f2b864a |
|
BLAKE2b-256 | d1e9b2e55f15dc9c9ee71bb494da9cbe1443f595a60edbd73eabca49a968f71c |
Hashes for asgi_tools-0.64.8-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd2cbec626df853bc83ab1369992ee1123a182870ccd3b48e0dba99597923277 |
|
MD5 | 46f9d5e279a814b47691741e6696eea8 |
|
BLAKE2b-256 | 7a8884879911f2c59de311bec2fec63f1d5cf538cdcefd66d280721830513b4c |
Hashes for asgi_tools-0.64.8-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 134cfda4ef523b95cf87b49282379fa8ea5a1ede5e33e2043e31bd373e7219d2 |
|
MD5 | 4411b42b31ed4e94b37537c555b1a52c |
|
BLAKE2b-256 | d6058d06b1ebffefe015441530f418b5f17cfacadf57573b8582e172cd0221ef |
Hashes for asgi_tools-0.64.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81129f046e40853cc80d435382c86d3f19d8da2cbdebafa51e166b66a071bbac |
|
MD5 | f9b816ceaf2841506793dee3ddb70fc3 |
|
BLAKE2b-256 | 32ca4fda6e0c98aea2f337d5f90994633b2cc4b33f77eb10a656cee2bd3a8c9d |
Hashes for asgi_tools-0.64.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09390dfb7486c0e826422c6e38427faf5d7f40e31bcd30785e59c6e99a332972 |
|
MD5 | 37a14446cfcb4cc1c7af0db1ce7be7fd |
|
BLAKE2b-256 | 3b881f32abf55de114a0ced3021fa1be16fc5d2f372db3b2549607dd93cb6d86 |
Hashes for asgi_tools-0.64.8-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0840e8bacbf870a306a2284f3a232c6950377b2a849cf35fe3088eafad0860b |
|
MD5 | 31eddca3a0d9a6e3d3bf97576b5bea92 |
|
BLAKE2b-256 | bec68f5b06dbe67aa00ca1fe1efd55637c614695fd2191441b158bd23694bc2f |
Hashes for asgi_tools-0.64.8-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d086c45f83d40573acb280d3a0c24c58beeb43b7bbe09edffe376489310427a |
|
MD5 | 96740489920eb773233417420d6833c7 |
|
BLAKE2b-256 | 917b2c11543b7b5b47953d6af878e4cb556256358872ba335b698a2e41651fd6 |
Hashes for asgi_tools-0.64.8-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3b234292e37ce961026d1a56aa6afc487c94f2b8c69fdc41d3519a323f1dc0b |
|
MD5 | 3d0925106d92f1cffc7034e24cb25f58 |
|
BLAKE2b-256 | 2ce98c270aaf1af53f72ccf65847d874926fef7bd5724ab6c8855ba14d1e6f68 |
Hashes for asgi_tools-0.64.8-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f0e86740ffd9b9b544df7b9cae4c294ce79b10ef35ad240319f5fc22618e6cb |
|
MD5 | 6060ac20500c01764ad73b5caa6fd24b |
|
BLAKE2b-256 | 608b19657cf722a6ffc0949e8e06d54e2637b0c9ff31316246ca174864d775da |
Hashes for asgi_tools-0.64.8-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c45db6ebf7f9640487dbad2676099a76dfad9226485c02dc9354aec0fb36489 |
|
MD5 | b66aa878d4512983f85b2b21a9f77236 |
|
BLAKE2b-256 | 111674b3f1560bed17adffb35699e251b900df828a5bc3888a761a14bd707fe7 |
Hashes for asgi_tools-0.64.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34de89931487bce4dc5c8ac56f64f314ba077e5e3d496c1ae0546ce98900397c |
|
MD5 | 5dd284ed982c3f99e958ef3a93e7758f |
|
BLAKE2b-256 | 8ace843c973c3db921229a59d5eb20a9950f4d2a88e507291796e412b9397b58 |
Hashes for asgi_tools-0.64.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f94ed3262016602add6cbcfe214a7a3af48ddab928fd3e190f4b4e2862bd07d7 |
|
MD5 | 88705d4a6214951b889f45520b24c5e3 |
|
BLAKE2b-256 | f46b4c154db24ee1f62ead1e076f562e5a44b3cec387521747e63bc98b8f0489 |
Hashes for asgi_tools-0.64.8-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88addd1cbd60b972d240b6636e9a0fa7aec8f0bd0708afa73b7e39fabdd1c94c |
|
MD5 | a4565d152db29416f1c6ba55a71ad404 |
|
BLAKE2b-256 | 5de054ffa545617f87a15ab0ec3e0db72e6cb8a5a85b4eacd2dad5db1472adc9 |