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.70.1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50ed853751b2c308aabab413f9f864800a0d98053602771dd11f3f62ec2c8b2f |
|
MD5 | 2c7f73f12b0ae1a08ee8299b72fdeba5 |
|
BLAKE2b-256 | 260a9c99159581835c94e977789658dbd6078a29b4d1ccede7608c1044fa0a65 |
Hashes for asgi_tools-0.70.1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d93902fd602ece22a3a6dba594e91860a69ba4c2befb694bdfa8a57f052bd603 |
|
MD5 | 6b9068c073f06180e3f3d975e7f63bd4 |
|
BLAKE2b-256 | 4c34aa155669d2631387e5f64d1a3e19cea4386d03795e7dd7938db4a64004ef |
Hashes for asgi_tools-0.70.1-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10f25dadaf7bfbff39b278a00de71ca1cca22e002c6b166b9b8891d2b2e0d34a |
|
MD5 | 0421fdc5149f058b403397fce3c20150 |
|
BLAKE2b-256 | 93e95a1e8f867229ecf1e4919a47cdce16242dfa7d273c9bb9cfdc83a864ae9a |
Hashes for asgi_tools-0.70.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fb19bf6cb9f885931bddacdfd0c50d666a241af76dc9bb6dc2ab18d89330863 |
|
MD5 | e13dfa77580fe9749e07acb36dd0e3bf |
|
BLAKE2b-256 | 52a0bfbd1546896eeeec8cd81f28be73727405687a9ade74a3ffac49ecab0d68 |
Hashes for asgi_tools-0.70.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea486487a492c63123db253549c2c809f10cbad1e214e294bfb4f890754d0d1f |
|
MD5 | eefdd2c4e20982e122d72b5ee9241b50 |
|
BLAKE2b-256 | 9918a79cc6c2b887a23c326a5871d67c74f58e6dc0c370ff6bc2d7daeff199ab |
Hashes for asgi_tools-0.70.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23e946b7a93eedfabd08654a4180300eb096419c7a24fbd35a0acbd6378e9eec |
|
MD5 | 868c3ab5ae10de616e7ba2fc842609ae |
|
BLAKE2b-256 | 67fc29f189c4e4ee3e24d1b234fbceca4cd954fbf26a2f6106771fd35c041944 |
Hashes for asgi_tools-0.70.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddac7afdb6065bad28325a6d86788e852657e9ec023634053fb7e8d66715107a |
|
MD5 | ed66abb5545bb5fc3bf19a528e6e034a |
|
BLAKE2b-256 | f23fc2d00c6ed9aa2ce1d6ce2519c9601d14ef5707b7e1697ca2b87d7d713a6d |
Hashes for asgi_tools-0.70.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af0b3ce1a93ab85917d82846f477ace85def90120649d42767a12d8cb32ea496 |
|
MD5 | d0901082c431d55de3759d9835844bde |
|
BLAKE2b-256 | 877db19de3e4e05155b66b9e0bbacc27c1afd274f27bee5460faae1588c708a0 |
Hashes for asgi_tools-0.70.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae2766ed0b4a5d17c968a87ca8c5850e83e19a66047e66ea2008df806888f506 |
|
MD5 | c955ec1489ce3ea33d4a22cc7a009133 |
|
BLAKE2b-256 | 035bda7fb0ff4121f9ba0f544745270bb99337a5a13fee7d15e45481aab2b8fc |
Hashes for asgi_tools-0.70.1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 063d3b827c41b1f8b3a96cb67619c33c76d5dce473c79743beab3c7ad13c15a2 |
|
MD5 | 61bc343ade01eae00e419c68b5539f49 |
|
BLAKE2b-256 | 5f65e465459e1bd7ae0a9e6da94f84f4eae616a8215c7982de4ead8717beddd5 |
Hashes for asgi_tools-0.70.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c837ba1dd2d960ad5ec7a32aaaf0ea7b272b704100e9e7ef674a4d62baef62da |
|
MD5 | bd071b60d025dcff6fa33b5332b5c301 |
|
BLAKE2b-256 | d6891ebd8ed0df6d62f03ba464c7dd7ab1ad9b2a6e45956f3eae82a2a9f26390 |
Hashes for asgi_tools-0.70.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df2a14361b07a6bf3d2a1e3e38b8c1107c875cba0a80259a60709efe5a326a5c |
|
MD5 | 17fb70cd2894d681bda30f2187c04229 |
|
BLAKE2b-256 | c64b91bbebd808ff0b8639f025b1821f31f3d3f2adcd0f6b1942ab778eecfbb1 |
Hashes for asgi_tools-0.70.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3de05a4fe57c82582bfe249ac79b9fb63e64f909b20ad9bd70383503f1c0ba14 |
|
MD5 | 42e85c5b405edd152db65e25bf25fadc |
|
BLAKE2b-256 | 1f4e35a594e5e8a7ac5615c80d0df8b2a01832ae79796449b22e501ecc01238a |
Hashes for asgi_tools-0.70.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25f7c78362c3a0b413683e7d5cde437c5cd01c07b919c7885da041dd85318977 |
|
MD5 | fe4ef393724958aa6767dc31b8122de8 |
|
BLAKE2b-256 | 82b779add79490506378b023b8da6a2b96a37f2bdf78b4891109befd7b808689 |
Hashes for asgi_tools-0.70.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcd52a244a7fc4097f463eadc7a057790d9a0326a721097dca275018b5cb1720 |
|
MD5 | da2fa822d217db82faa9e3892bc0e31e |
|
BLAKE2b-256 | 747d123a37c4bec3860e3b5670a97471defa4af56412b523d3ab5b203b4a1664 |
Hashes for asgi_tools-0.70.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c1838bd8e708755427ce9ffc507fa01f8e57d1075cbb8d52f1d103d68a7c3c8 |
|
MD5 | 4193f105f051f2574483ea3f7640b335 |
|
BLAKE2b-256 | 239ddddea6b0a6fa401de192cc43b3b5b29f0ca73c0071c1f6612efffaba3e33 |
Hashes for asgi_tools-0.70.1-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5db23f9c03097336adf3aa6c2d10d53e411cafef1fb50a534416cedc73c7989 |
|
MD5 | f84aa7213ae75f90543b5215d62b2ef3 |
|
BLAKE2b-256 | 05752d115186e360e2a8cd91a1552acfc3e5e3dc42a201bf220780d5ec2ec6a9 |
Hashes for asgi_tools-0.70.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e31220c5afc3dae2b32ce830ac5b365ea77d8c360e33b1a6f1d8306b96930d74 |
|
MD5 | 4dedc7b8d56351cdb3c937e99e021cf4 |
|
BLAKE2b-256 | 0f9c95c881906952c6e6f228af3adc38e765b7d185af4f156f845f02718995b1 |
Hashes for asgi_tools-0.70.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffbcc74fee4c09535b6b806df0aaf06899762df30ab724a3f471678296276b0c |
|
MD5 | 5ca1eca5e9ed1965a1eab6087dcd246c |
|
BLAKE2b-256 | fb5612bcd656992ea5bac4b6f7279d9eb8c81395291993375f96ba96d86eaf4d |
Hashes for asgi_tools-0.70.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa038944a03a122e2194ed0f95fe5821792092606a1d8a7e2c4720b141f0b6c1 |
|
MD5 | 2f890863afac11469ec89da78a99d7d2 |
|
BLAKE2b-256 | 74136044251fa4206847f5a436c7559d5b3384454e21824c343b3bdad89fc77b |
Hashes for asgi_tools-0.70.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e765ccb86278c66082a76e28537f39f4e752b31df5aba543cdad80f0b2301f3 |
|
MD5 | 4776d2388dea2065f55c9b84223825cd |
|
BLAKE2b-256 | 917280238fc127719139ce85c016bcbb42a93badbcfd2df05221968bd2384562 |
Hashes for asgi_tools-0.70.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28f87d0f3654a941930b13bbcae8db06dc7105a4c5de86171882e201c820b4fc |
|
MD5 | 324234f525d4d59cf6d62f0f0667162b |
|
BLAKE2b-256 | 61f7f14077a91997615228d5a3a7ff8ae1ba9b664b8e4313aaf9936134e91c61 |
Hashes for asgi_tools-0.70.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af39259f6e564225c2646f31fac5e06fa65b1349548e99eae92027cef91cdabf |
|
MD5 | 5d99dda12d07befa24f92d282d28325e |
|
BLAKE2b-256 | 32d8ef7cfb4a4930193a74b7c1a99de82d09cc1ae8b0ea3253931016b745c661 |
Hashes for asgi_tools-0.70.1-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1362f6a761125eba8c5eed27ac5e6a8ee669ec65c3da961c2fd30c3f1c3d58b |
|
MD5 | b27ca09f4b4ce363801121163478c813 |
|
BLAKE2b-256 | fe98169ca4dedecfc4cbaf3066a1c7d02779fccf16eeb64357acfb4bfa9f9796 |
Hashes for asgi_tools-0.70.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15cb2c849b1c76da62ad92fa69bdb3daa006428233d93da66625bc13468bf2a4 |
|
MD5 | 1425cf286750ea0d09dd551fbfb71abe |
|
BLAKE2b-256 | e6094d7d9197e7186566504bc44825ae19ea3222b0330a1b3dccaf443f2b8122 |
Hashes for asgi_tools-0.70.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4103850e4286b5a0d4eca9affd643a775635add89acefcb5d93212ba20c0875 |
|
MD5 | 1a91aa33305b9b194dec9145fe75ac71 |
|
BLAKE2b-256 | d7fe9ae5db194673f8c0d223da81138eb22dd74e40b109a16f401bb2d43b87c5 |
Hashes for asgi_tools-0.70.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c79b8f290c04d70f9b8f92f7046658d7e4e7d3c1f7bf322195191f2c4dd4cd68 |
|
MD5 | 7d951187f5dc985672fb29d247e94c32 |
|
BLAKE2b-256 | f29fb17215e809ab26bd36f8fa3d420d5deac4992ca9988ae3b629d500eff372 |
Hashes for asgi_tools-0.70.1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7474f82c5f06a81ab56ab3bbdb224748984af1f71299aac2be835daa053c74b |
|
MD5 | 5607acf4a38397e6f6586465e72e90d0 |
|
BLAKE2b-256 | 0be477d1d10ec7e58ff85477d190ecb00b4b5947058b372872cbfa3c41699b65 |
Hashes for asgi_tools-0.70.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76b92b0180b8ece0d4bec32fe542fa2005362e208f132d98fe47875169c82720 |
|
MD5 | 664debeef6369af151a3d9aefc2271ff |
|
BLAKE2b-256 | aa1d982b723398b3d73be1a1291057edcf5468df32017e768648960c1a3e0476 |
Hashes for asgi_tools-0.70.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 012f83c32ba9677cc45d8b6db47076abe985f333d8cb9beffe61c5da69f39d3e |
|
MD5 | f5defa2391b9c386857ef7370c6ce98d |
|
BLAKE2b-256 | 1c38893453bc7907334ed83cc44edced79bdae65e2fe4b95bc1426678bd0b66d |
Hashes for asgi_tools-0.70.1-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c609300d0d14229f72f9d91c748df787c606b1ca1da86da710cf9b7b1f2c6680 |
|
MD5 | 0a35151d61097d1291c99ac1b9a60674 |
|
BLAKE2b-256 | 66828e34925ec5197d8a3d40e2288a19ef67ccfb4759a847e518c8aa109c766c |
Hashes for asgi_tools-0.70.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2aaf3fac6c1ef094de98aae9539cf39f03300fce1f91061f8722a8def13b1216 |
|
MD5 | 09666a3b4c7ab5d5108630952f6a3968 |
|
BLAKE2b-256 | 24ddd36ac97f9f27423b391bc34adbb8c663ec8596e50fffdc9a45dcd268f127 |
Hashes for asgi_tools-0.70.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a7a6677af402fff136ce6f0bcb8ec98d319e1f0eb0564edcf32f99db11118c2 |
|
MD5 | 530fbf9498b23dc1ef16771551880e4f |
|
BLAKE2b-256 | cd97f87daa43d32b830029dca4f5701fb049030a9568833683347e9e0f99bd91 |
Hashes for asgi_tools-0.70.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89336184eb47ae77d1791d00ca5f7dd06ecca48532e2ef60de9b694215c517d1 |
|
MD5 | a18d37e7fc6c634e76c793551aa4d2a4 |
|
BLAKE2b-256 | 5f32a87f6f31a7fb268c93b58a03d661ec307ff0d583290b27fec3b4e6d641f9 |