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.5-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 905263bd37728659da82a9cd4a484494819b534fdfe2194cd29e3498f90c77eb |
|
MD5 | 1f54e1ed4e4db9f2572f2d096fde4ea3 |
|
BLAKE2b-256 | 382864b05721546cd67977d711cef5036191e802ad1fbf4f9d1574f43b53c042 |
Hashes for asgi_tools-0.64.5-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd371b91c4713372cf9cf9f3bde996b0bfc270d4b09ee40aa112cbd328945fb2 |
|
MD5 | bdcb58ed838f3a2dfa091bf9d05aa17b |
|
BLAKE2b-256 | f70a136d758360207c58eaaad1ebf9851adf3bee140481ba1fad6c935dd295bc |
Hashes for asgi_tools-0.64.5-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73937da414c9c794ef98ea41956baa58907ffd67daf97c0269371d162f13bd78 |
|
MD5 | 9a52799638ae1f14134853008bc0eae6 |
|
BLAKE2b-256 | bb0f1bb6ebf63fa9677d4f6eb4b83fb0545e281caa5fb96d99be0857c9ebe9e6 |
Hashes for asgi_tools-0.64.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e73b662ad4fb4dfee97d20d9c0cfd68fe90dea2f3de4c39764fa765843f5724 |
|
MD5 | 803e1084c71c54065b2bcefb4d9544e6 |
|
BLAKE2b-256 | 5c335cb3ab9abb827f1e320c283903c892007d0163da47fd59c4832f741ab228 |
Hashes for asgi_tools-0.64.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df2b3104f9e4f05ed51c18a08d7e51f4ebb1eaf04c23eaca00d21f07a72d764a |
|
MD5 | d36de9c1e7ee2e62ec0463f0c864acc3 |
|
BLAKE2b-256 | f116a46876532e34d9273e5c88a7503e774dcb803a053f979c50ad0b0090be13 |
Hashes for asgi_tools-0.64.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9d397db862c34fea5833d0cf900e6049b72f8a844caaaa5b2c5e0590cbdfdf8 |
|
MD5 | b689a3c6cac809eb41ae36f5926c2ac2 |
|
BLAKE2b-256 | c7bbe7221e9a881e9a27972c64c1fe29ba09899a7cbeaae737b11b2462c40026 |
Hashes for asgi_tools-0.64.5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dfb7855484e2af1b1f5fa7c005c2210d84b79a5e06851b5b744a91c8ea0349c |
|
MD5 | 200a41c81f872733f9c5331e3ac57a8b |
|
BLAKE2b-256 | 1361f3915c83d1c2a5967e516698c7d33ea7d35b07b959e0dbfa2c2f2818e575 |
Hashes for asgi_tools-0.64.5-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 748002b970c9f1e47c1e6d65379128fbd260edf2fd79cb9c78832d7c94a8cc11 |
|
MD5 | a626d73617b3a6a016ce2476805d6751 |
|
BLAKE2b-256 | 3991de55e0344848ae4a7ef10672ed028bf04303c6af5a6b3fca7a7c46898435 |
Hashes for asgi_tools-0.64.5-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a59f98b3b3294304991ff840b6708560654f7f14ae4a447c26b62bd5ada55406 |
|
MD5 | 7159789455b53ada31ec74b16fd92867 |
|
BLAKE2b-256 | 884f67806f99ae580d895d7c2e8936ac81f0ef4484c3839e2c25499f8073f27a |
Hashes for asgi_tools-0.64.5-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7acab58a304b0abd20f16f99a3882eaf61bd4b6da6a1b61e0c85c5ed8e4dbd49 |
|
MD5 | 194f71f73f9712da5ac88d0df8765f50 |
|
BLAKE2b-256 | de0d3d85420c440906f927c272a92a113f2a4aad2fbf674d6140b090bb1ff59e |
Hashes for asgi_tools-0.64.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb825e04099ab14c9a6e9a2468d6d167f9885bee7119b1e7022974c505c51504 |
|
MD5 | 141e159d482c9112099dfa1bf75f5cb0 |
|
BLAKE2b-256 | 7deb2dd6f2314e1dc6b4098186961853827bcb899e57c411e9140b0e9a4cbb28 |
Hashes for asgi_tools-0.64.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0cff7a0dfaef618aa6ae3a3a33b4095a81e919999a64919d19831edcab02014 |
|
MD5 | 18eedeff89882fd0ae0de74babdcf6ee |
|
BLAKE2b-256 | bdbdcf401c99c9d7620c00364892287a2de9c5baef0b40084a10944e5472ad79 |
Hashes for asgi_tools-0.64.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67fbdf483b99a9e5f9cf4535d5836539668aa24d8e61349463d6a02b296ff3cd |
|
MD5 | 8f322df53a298cfc298fc1014e62aa41 |
|
BLAKE2b-256 | 4f1408e1bcb74901379cf13f26163dcac1bd2b088838ff134e80f87339fb6bd2 |
Hashes for asgi_tools-0.64.5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07e115afe6c3ce7f217ee8971888440acc1ddd9000ab6fac770104d91d92ba3c |
|
MD5 | 9a0ba1cab7a93c6c19aff1cfef19487f |
|
BLAKE2b-256 | 8e6cdb0b359c43d9f43fa85ee436e6c091b4897110ffa6ca1c7327ed5a3a0a86 |
Hashes for asgi_tools-0.64.5-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e29b50ef118c6c4290772a32ad1900a62961734856aafc6c265eacdc52353da5 |
|
MD5 | af9fe93306dbe9ef49eee093e9738483 |
|
BLAKE2b-256 | c7ba35c296f05636f72b6d866a9b3dc966f695254375a61a9945d528a7396ff4 |
Hashes for asgi_tools-0.64.5-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bd37305c3905d831ae2ad6303595c81cbf9e9fc30f892e05d53cb3bc667ad68 |
|
MD5 | be75021861badbbc50d3932351d2a8fd |
|
BLAKE2b-256 | 45b13564054ca602cd19b69e3a4f4747466f4a0242863072fc84bf2ad0a4885f |
Hashes for asgi_tools-0.64.5-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85b347dcc5ad0423fbba4d2f3ab1d6c1e29735bc99504f8f6d58e67b4b2af24d |
|
MD5 | 1c735001150408025b73d643da1a64fd |
|
BLAKE2b-256 | 15b02bd346f3f1ef1aae919cccef80ff53532221a1301e7c23f57c5ab738e63b |
Hashes for asgi_tools-0.64.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8851630b8fb507f1da3850ce2116df90efd6adc080840bede71f5035e175011 |
|
MD5 | 3205b79c4294a1af792286cec7bc8e3b |
|
BLAKE2b-256 | 2d215ecf2d67148e90cd2425848fdba2270e78fd7164d9c70a137f229af5ad27 |
Hashes for asgi_tools-0.64.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30722782d0e1daea4c7a67b139cae5bca5d5bf9e2dfdaec67bbc4a0583599ca5 |
|
MD5 | 62ddc023fd0c7ba3dfdcc9f9def05066 |
|
BLAKE2b-256 | 0f91be80f19cc8dad05c3c6186c0dbaa0d8c5c023e5fe389379f2f5ecbdac59d |
Hashes for asgi_tools-0.64.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2c50641ca2d54dd66f501d36da15a5b9a6fc1bf58911353f25407b0df54fe3d |
|
MD5 | e160492dba853ccaffe0b48cf49c23ef |
|
BLAKE2b-256 | 18c8408e21930beee6d85154d14ab62dcee5fd1d935ac81351564e4e0f30f6dc |
Hashes for asgi_tools-0.64.5-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4e0004fed1c5d9f6f5a7cec2551ea571340bd0ae019844df2e1e9a9c5e8548f |
|
MD5 | 838a0004a74d171205299eb90d8108d4 |
|
BLAKE2b-256 | 62fb194335ae4527087ab2c41090aa98edb511a8ec432873a88935a107363e34 |
Hashes for asgi_tools-0.64.5-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0291a05d25cdbc61f17d72c9bba5c7dce0ecf58bc340db2bfc22b6fe6a47888 |
|
MD5 | 08060ab27190d5376a77392cda33e00d |
|
BLAKE2b-256 | ccf3f49a6eeeaa29a6f07c8abe56133430615b1e05767d83b8cd0031943a0eb4 |
Hashes for asgi_tools-0.64.5-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e6ae49d2192f93685bf129b14ecffa546c88c4a84f04244a57bb796fcb53080 |
|
MD5 | 7e3451d5b13dff79a5ba99e40123f523 |
|
BLAKE2b-256 | 684ef784a17d176c54c4f9933c8a77a725919b3a06fcd430021ed0671e041ac2 |
Hashes for asgi_tools-0.64.5-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4f8f5d668448ced07c964e5b657b490c62ac5b8a841773791385612e3f46a0b |
|
MD5 | f79363e6039184b81836f63b3537b083 |
|
BLAKE2b-256 | 26c008e0eb17af9cf70da5b819adb47a518d47a87667724ee91ee518757383c0 |
Hashes for asgi_tools-0.64.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c069fb91096f4a525905f0a988c89d8df138eb843273fc869d4a00bdc878b079 |
|
MD5 | d57ca2b0f89078daef01f08765277b85 |
|
BLAKE2b-256 | 862f4cf7c6c190cde9bad062694eb5c87ec05c40a232995b655ab6407abab880 |
Hashes for asgi_tools-0.64.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c7d0b01bfddbe17ee1d8c0a5f1209c324bb03787242f1495bfcf73889abb23c |
|
MD5 | 42a4b3e5a5b10e142e23996869dc3fbd |
|
BLAKE2b-256 | 758669c749630c442dd5068430a44a8bbf1b34ff04bc579779d0df5fb2c6c948 |
Hashes for asgi_tools-0.64.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 649a1a59d18b098da8e83f104484aa8361de8adb844f80c93eef74c26988204b |
|
MD5 | 03ed7c18850f3553eff4dfbe36a49646 |
|
BLAKE2b-256 | 277c3c1b8da209633999e363f351b734109925945f75a570f5dd8d5c21386f2b |
Hashes for asgi_tools-0.64.5-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81820e7d4323a001c002b410433cdddb0b011b38622f2f4814c176d94ec731c3 |
|
MD5 | 1207919b181204512ff62b58272e60a0 |
|
BLAKE2b-256 | 8901751afdf43fab93077234425165bca34ecf2883df50fb32bbca548155887a |
Hashes for asgi_tools-0.64.5-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 779992ede072280bd39996799fa745f15d79a0ca0ae8d0dc7495017cb5d651be |
|
MD5 | e2a8fb647918caaaad4da16ccfe5610f |
|
BLAKE2b-256 | 770c4060780afc3c1fe8d40cb8c064d6f6350888ec802749d39226f92911c0f2 |
Hashes for asgi_tools-0.64.5-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcd795e05c6902942b7c0f9dfe85418bc93b972c43b8c8ed917d73f661e2b094 |
|
MD5 | c143552fac005b0ffb02e13e4425954b |
|
BLAKE2b-256 | 8c410195fb03d09ae44af08bede021ee31316cd485eb44241889b4785f9994ae |
Hashes for asgi_tools-0.64.5-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f348eb0290c913904807819c66c5b914ecc9ce42681833995ad5daae57227fe2 |
|
MD5 | c44b613e43bcec89f5088f68d06e3bde |
|
BLAKE2b-256 | 7a8873371a5446e7c23c97f652de14b980e0c5471cc8101aa8c78aae32c35215 |
Hashes for asgi_tools-0.64.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd3e4034567839b1cf9c85bc12fa2bd574a93f971f6ca82e0b880003b6095e57 |
|
MD5 | a926f2e1c38295b797c04b936003cbcd |
|
BLAKE2b-256 | b9c797dd9bc9d4fb3c345b62350318af748562053dc6a6af75f5a737415dc960 |
Hashes for asgi_tools-0.64.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91e179420f8ecba8f23cca9f790e52549f4a5c51b347d80ec364139141d0a9e2 |
|
MD5 | ac87f8735a150850a5c7aaf3ea7a88d8 |
|
BLAKE2b-256 | 7cd327e96292be981b1dc8752319bf538d0e169cabc2cfb6d91d970b772a7546 |
Hashes for asgi_tools-0.64.5-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03d64c5722e5a50c2f7dc276a2eb3275a18a8618a081f97be249396f6c1b8c25 |
|
MD5 | f51a89a9b0426b1229eef6927ec86422 |
|
BLAKE2b-256 | 93d11d84fb52722cb96ede76b6b8c12f2c47046cd62a845a4c568b35ea44fec0 |