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.65.1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8150b589d8e4c733817f9f2120d3aba9dd522bad2a910531fb29374414f3b2ee |
|
MD5 | 446b7c7087c21b4c468f29dadcd77c60 |
|
BLAKE2b-256 | 11783a2cf54c6ffccda4e8f21e64a33febbe5ff87ecdb664c3f713d58fb44645 |
Hashes for asgi_tools-0.65.1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f946b3cfb79f6966429974373d25dee172b4e92ba1321be5f79df87686954e1 |
|
MD5 | a5e081a90d2ab41760888d00e618ebde |
|
BLAKE2b-256 | a93bbd26543f49cb199605ddba9685c64031e2874a4f24a1397738a93a8d9e3f |
Hashes for asgi_tools-0.65.1-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d690af624739d68ccef586405a42449abd0015ada6d9a0f095d66a56a5554f2 |
|
MD5 | 84d5f7712763607db6b037bc289ae8ca |
|
BLAKE2b-256 | 324a62aeb3f1045f6cc0690670899278456fdf91e39bafcfb9b942561ee07584 |
Hashes for asgi_tools-0.65.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7908661ebe07fe22c14f0f09ad23a063e9d0dc05d67b3fa38ca54fd9f16f63cd |
|
MD5 | 44a6a36fc0577fa8865495ef767736ae |
|
BLAKE2b-256 | 6804a78a17237b166ebbf9df7c47f927a369a1150aca122a8a51ed338c1a0e5a |
Hashes for asgi_tools-0.65.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff033668ecd21142d97e7c0303225f32aaccb8a7818d18fbf75bab6e0651084b |
|
MD5 | c629e929c9132f5ad661276608b3c2a6 |
|
BLAKE2b-256 | dcd586e81e3c35c4b551ce64d0f1500397d4419bb0175dd16fac17df63bd2404 |
Hashes for asgi_tools-0.65.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb3f227d9b9bd377a3486f1cf12f5b6bb5c88deb8e72cec117d17e407a1a3b57 |
|
MD5 | 3390d3569f461a517f80d3c413cc010e |
|
BLAKE2b-256 | fa81e9f771c84a88332b8263b7003f9f87a0e4e82040b613bba84d8e62b2b3a7 |
Hashes for asgi_tools-0.65.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d9d1d719038f43f444c3eabb22b1908a63030790635fa0d9fc6e2737fde4fea |
|
MD5 | f1e11c2d4cff446bd0f2530cfd6ba798 |
|
BLAKE2b-256 | c3fe2ba3c6139301ba5234d64bd05cb4b54ea085ac46f140980f9c4fe4c4fbce |
Hashes for asgi_tools-0.65.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 593d786f538997e9c3e6a71da7bdbae0c65bb2c12c1971d149fa5edffe5a89b1 |
|
MD5 | a9d991b335035ff895bf06fcd02630f9 |
|
BLAKE2b-256 | 8d4db3897a28ae58712d0b36d572cada4e17226a7a80678ab4a826890f1af2e7 |
Hashes for asgi_tools-0.65.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2e75fb4cb597e0369df236fc4f93fe48207ed9640f2e1dfc90ca166f7294c73 |
|
MD5 | 8c7c643aec21b4cc31ac6cdc6ac63a1b |
|
BLAKE2b-256 | 3397a42c5c6116cfd0db61f54278ca3a51e6753bb630e1285e81d9e4297ab535 |
Hashes for asgi_tools-0.65.1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddca02b0283d7425cf71a75bcb26ad4235e518a1a39fd6aaf96f9b220a8fc6ba |
|
MD5 | f8d34654025c781859d6683e3eb533a6 |
|
BLAKE2b-256 | ed2b63c06d8a868a2950c4fdc6d059323f4f0b37389318b34a6760ccb761a264 |
Hashes for asgi_tools-0.65.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d55aad41b3dcb4b8bdec7260a76d41c214d06f555b9d9085b59d8f4fba28b166 |
|
MD5 | 343895cc5071ccaad608abdc0afa1de0 |
|
BLAKE2b-256 | 285c0dcbdfe3a304be901817ed0f4c3c1b2f4ebad34f9ab1b1683a1d1d65b9df |
Hashes for asgi_tools-0.65.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7580534f929fb8ec9f6a5b278976f192c0fd68046d770adebb7352260ae20c9b |
|
MD5 | e8e4f3dfb255ea526c99062b78680ed9 |
|
BLAKE2b-256 | 518e958aa9d130f2b9dfb984f822de454635584c4b373e4dac19718eb0a83b47 |
Hashes for asgi_tools-0.65.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5cffeba19d8483eecc3d705d9b724c844b074b8eeb877d24753e0f7b4886d78 |
|
MD5 | 7543bfc8ad97b2be5b8f3fa78c8c5707 |
|
BLAKE2b-256 | 0ae49470df84c78b879f69a65395efc197e561b6e419e5d6a5b9a7b32534ab4c |
Hashes for asgi_tools-0.65.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a30b932dffe2c6e720b159ad605cadd7da6e0a7cfdc86b2558a0a50b9d486e26 |
|
MD5 | 0b9af47baf9eecd30f786acdee95af14 |
|
BLAKE2b-256 | 14e8a0a6b40554d5f497cadea80ca74e882d67b9793183793beb88566d40d435 |
Hashes for asgi_tools-0.65.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b072f572537e1f4fe7b81c7e6345da88bb5b64b9fbe791b871b96d48c601ed31 |
|
MD5 | 7d58b311ee8079b687689f6d42587107 |
|
BLAKE2b-256 | d074022cd37ce470587b131c52cf6a64fe2a81f9150acbc654d58f6b58fc3e6f |
Hashes for asgi_tools-0.65.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f1e5918a8f5bde6b5c719249ae1991a3c2087997e083c211109027cb1c416d2 |
|
MD5 | 01a17c729d80a63ae50638763c59fa31 |
|
BLAKE2b-256 | 95294f06d79e135c40410da591c2624362dfda7f76d8716959625dca407cb573 |
Hashes for asgi_tools-0.65.1-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43a2e7efbc8fcb525b93e2164efe9d08adda11cb9ecbc97ad2203ab37dded46d |
|
MD5 | 61d7b09bae9740ede23f58f99726cdd5 |
|
BLAKE2b-256 | 9760c61fee9a3ed0b1df76be0042965143505bb233640be4571abdbf6c0414ce |
Hashes for asgi_tools-0.65.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6588ff5340a653f0f7a8f4549895c61f6972beeb12fa0c16d513ae23d2c6137 |
|
MD5 | 0fbe396241328a96f01c1c69a061c8d5 |
|
BLAKE2b-256 | ae682f1a03b628e733feacb164edf68e9d05f44c18856918c1f60f74fb9490c6 |
Hashes for asgi_tools-0.65.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c6379a4af06fdc59fc6a1177f1553c911c8a9b168a247cc3f28c81ef143314f |
|
MD5 | b7f1c4fc4664554af930f035316c935b |
|
BLAKE2b-256 | 94c6b7ac309ee5afabf5faf9d760dd8705c79d311e9e392a1c048a4675807877 |
Hashes for asgi_tools-0.65.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cc8ae48298206c51b32d9de718dea3325e06093b69ed23795d5f641d8f32335 |
|
MD5 | af41421801f59feaae28f99791317927 |
|
BLAKE2b-256 | b338adfdc42cf94333c06ded380c86653df763526920b363b246a6084a1aa51d |
Hashes for asgi_tools-0.65.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aaf0803738162dbdbb40a085c63fd066e9dd378cdbed8d711bb4086211ffa72e |
|
MD5 | 957f5998665c2016c3c626a40b17a216 |
|
BLAKE2b-256 | 274b369f6a8798ffae121fd14db08596c1d88a481a8b61b746fed95a0e211d60 |
Hashes for asgi_tools-0.65.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56619e6d3526e4a03c8e97018a1b360497b94a08fafad35f7046347d286efd74 |
|
MD5 | 6deeab8c3f84294f16180c276ff66341 |
|
BLAKE2b-256 | 07801a8f6af9ff67aa502a9e3e67f1b706579960a4ca08ecf1a95cc009a89c9e |
Hashes for asgi_tools-0.65.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d0c5cbed8e530a60cc9ba8c51016d4e3b52a4cc0453742782a15bd19e27005e |
|
MD5 | 80f057ef9995115e6be7c686a2515559 |
|
BLAKE2b-256 | a4a157491f14b39d23b2b6b74eea188b75fae371c8238224137f5f13bafbe10c |
Hashes for asgi_tools-0.65.1-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fea26a362a8864cf81f77629cdbec7d1a98265441a69f2f557f62ede3f2801d4 |
|
MD5 | cb8dacae5e8c2d5dcc66cc37b8b7cd29 |
|
BLAKE2b-256 | 78e8c218e3ac903408aed156866c0f1c9471f7383442a2613ed39642eb9c6b33 |
Hashes for asgi_tools-0.65.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06ef5c870d6f8bf0c559c52600d96b08fe7865b2b226be4e62d9ae80150da717 |
|
MD5 | cd03b84145ae4eb97cbb44bed4084ea8 |
|
BLAKE2b-256 | 56fbfe53eb4d4e3b59a1a36307d6cef1affa2708a47ac850640e7f0d7f4a51fa |
Hashes for asgi_tools-0.65.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f173f15eca5dcf9176f01d5bf7a8cfa9bc24a1c9b17639b2970a6081a50c6112 |
|
MD5 | 274c87fea686207e206c1f6520fb5b57 |
|
BLAKE2b-256 | fb8e258f6df9d7b71acb4f5c0536232c18369dac3a2705f73206b489aaa22cbd |
Hashes for asgi_tools-0.65.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dbe776ee428f628b186870e1a9e8571ff504c0d939d837027a92c1bc9dcea09 |
|
MD5 | 4806aec48aac5b09288299e89a4af9ec |
|
BLAKE2b-256 | b9711aedc4132d047798544a02fba3380dead239bc913a7286d311cf10459939 |
Hashes for asgi_tools-0.65.1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffcb973626e66998d003f525ffafec05dd906ad4f07143f52f7e6381bd05c450 |
|
MD5 | 00d896ee36b20089adb6c5439e20bf5c |
|
BLAKE2b-256 | fe4943d34818da88746e41cd70460c0ac600cb017d87babec1c948718042e51e |
Hashes for asgi_tools-0.65.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c51d35604e2f835e747b221e78a196f8cbe4b5063c168f188cba2392532dcadb |
|
MD5 | a761dd36acc9734a0454b15f07222bf4 |
|
BLAKE2b-256 | d0e170319b2efe7823d07f4250ab1a58b5c9789e8413270e2d9a2fef6567992a |
Hashes for asgi_tools-0.65.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63a3576844375959eae30e4fb6218d3a487b9ed33560391fbf6a0c9cb57fd100 |
|
MD5 | 649c284f8b1907f0ba032c848ffc4898 |
|
BLAKE2b-256 | 7406ebd01e01aa5452e3453e5bc386e7dbbfa903bcf3821544690832235f3753 |
Hashes for asgi_tools-0.65.1-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11530692afa706686688c44e260284f339ce19382735a4ceadf2a6da23847621 |
|
MD5 | 254a422a4d297d5e338717162f1e1050 |
|
BLAKE2b-256 | 19ddd55e9da3c478d57f2c9e790f1b308bab52e517a908cdd88a30e92d631ad4 |
Hashes for asgi_tools-0.65.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f97cec2dfa4349a50602101815626535c94abe54e9d9da5836259436331ccf90 |
|
MD5 | b5b3522e1bf3eb91f13d54ad8b247c0a |
|
BLAKE2b-256 | 9dcb6cf82ead039fa9da1eeb63f3bce54ab32c403ba1f692c8e539ef9c19b5ae |
Hashes for asgi_tools-0.65.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8a9b431d18afda9f4384fa5e7d9c9536264774980f292524f08c5693c4e356c |
|
MD5 | 627b064d98ebcdd0bc912f9acfefb68e |
|
BLAKE2b-256 | 9a200090ed6df4989c7d312b472ce79073720e7c23dc36d42962895683d129b9 |
Hashes for asgi_tools-0.65.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7170c8ab34eb1fdcb4636859b11eadd10764b21754ee46f51b07a82aae8320a2 |
|
MD5 | 2f9a2298f5c62344f041d9bfe3f85253 |
|
BLAKE2b-256 | 781e2045b677742e6f4c65e033e5c306040a479e2b5998f1e2e96da9b48f3c3a |