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.4-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67c48f741356acf98b5d3bea0974dd7778bed8ee8ea42292ecf7a88701af8884 |
|
MD5 | 1a06aa6640696ba726d9dab4385e9487 |
|
BLAKE2b-256 | 9bbd862ad09e8258c6872b6e722190b7d2a8f49467dccc813a9f1a8dca8200a8 |
Hashes for asgi_tools-0.70.4-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9ffd117610f72e1430757ac0e4a46d221e12a8ad57a09bf0b3980d9fbb8ccc0 |
|
MD5 | 2a549976650ab3203ab9ab5c96d59bc4 |
|
BLAKE2b-256 | 0272dcb273acb702bbaaa027d61eb55733e87c5d71a0c78f73041827048ebf4b |
Hashes for asgi_tools-0.70.4-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa8c08495ba2c9b1dd5955d4dd3e82b4005ec02fc38b0cb562dc2b25f1027c31 |
|
MD5 | 5eb7f6d073dc163a6a820fba32e6e0be |
|
BLAKE2b-256 | aa989017eaecdde33d080c2e11633373e4c6de806c3c012274309d5c9bed1969 |
Hashes for asgi_tools-0.70.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca2d705ec3d6c6b2eba3090014c104ea0faec5beb7dcb6b577ede50bb1939002 |
|
MD5 | 627b063ba00eff3fa57f9cd07047d872 |
|
BLAKE2b-256 | 6417081a5662d729f119750b814e3a298e5f9dc4f8d69c2572160cead8fff955 |
Hashes for asgi_tools-0.70.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6861f47e56913ce244817280709bc5889fa8525a9254a7a3a9912a3eb53351c7 |
|
MD5 | f4c9ee4ca355f2a378317c00f56d7982 |
|
BLAKE2b-256 | 765cb478c8224f0bbac1b4d364de4729ba40551513b7beaee3268f726c485bf9 |
Hashes for asgi_tools-0.70.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a48a7ab0da6318802b72d232801202446eac8375870dc20a87c0ed9db41cc1d |
|
MD5 | ae327c42d3466d961e43efdb49743d76 |
|
BLAKE2b-256 | bf4559834622665e786b03a9a42d14244300fc11dd646343589c6eecfea5453d |
Hashes for asgi_tools-0.70.4-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fc6056a52cddccca339aa8ec746165f0263228d5e8203958a7a724b25ab88e3 |
|
MD5 | bd089fff510512deca8fd1bce07931c5 |
|
BLAKE2b-256 | 6d53a0399dba32bed95cdef438536717d9c07de8bdcd7ea8a3fca3b7bbc3d127 |
Hashes for asgi_tools-0.70.4-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a92f1776da489d5204d3ebb29039ef8ac9464a92db45e833abcf5812c631196 |
|
MD5 | cd3885995bed5e62afabaa3f9773d769 |
|
BLAKE2b-256 | 1ed44acfddea5e6cfc215ae2a04bec669946a6c0a08a27093a0bbd030680ed37 |
Hashes for asgi_tools-0.70.4-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46acc9db9d89a9f842eaf6d62e2a9d7c553ab24cbd5a4e695f654703450f3df1 |
|
MD5 | 2348bbe3ec153309925b6ca001acea86 |
|
BLAKE2b-256 | 8134c2f971697096695c834af96e45732234d65c98f7b877b75dd05949c020bd |
Hashes for asgi_tools-0.70.4-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 490e742514d08bd8a792a9f5f363036da3e64bb4ab4c952e7f6f732398c332a3 |
|
MD5 | ca514679584e43bb7e66e37fb259d4c2 |
|
BLAKE2b-256 | f9b237de40671130cb375039db345112c51a865c420f26cb803da5bdbf943023 |
Hashes for asgi_tools-0.70.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d286f30d571dc91bdaa3410dd781eb03ebc727b284114975aa8dedd8714d4b0c |
|
MD5 | bba6f709e5247c21dd44124a2fc59995 |
|
BLAKE2b-256 | 80dcceb2a020cc9f08615fe9f570ca44c59692d7621b8b4b5ee6c2dec6a8f620 |
Hashes for asgi_tools-0.70.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 260ec6a947d19be91bd2427d074e2556176a5c63739d9b413bba4ed8abd42171 |
|
MD5 | 024bcb20c5b4e5704944698a0e8096c9 |
|
BLAKE2b-256 | 82d7516942be513e3afbbd295ae585b4939b43aef4406472a04fe0c699be2c4c |
Hashes for asgi_tools-0.70.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e96241bcf91cb043d778b889b9990a030a8194d825127fb68579a66dd0a2aaa1 |
|
MD5 | 8d72963fe42cd5127a94818382535788 |
|
BLAKE2b-256 | 89f9026bfed4bf1f34dd1e20fc08c97436680ca011a75f39d5685fe016dbb6ab |
Hashes for asgi_tools-0.70.4-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2588a4348fb6f64dc35ac049b632e1accf9bc9a53688fb2c0bb548a644e5c37 |
|
MD5 | a2e579e4f32039366b7185979f646c5c |
|
BLAKE2b-256 | e679c3a8c968c252c9a738baab423ed08569b70a7f1fb00a677603baaf02300f |
Hashes for asgi_tools-0.70.4-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5a83193fcc82db16ca6c6a6655e62c63dbbc31af29510b9055d8e390be46338 |
|
MD5 | f92afa729499ba543c051e78320ef32f |
|
BLAKE2b-256 | 48ebd5f941ccc25c8005d509370992d8dff83ee8a23e75203d0a2c35085c84f0 |
Hashes for asgi_tools-0.70.4-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c718641dad6e02a1010cbee22293790daa71407be0a7f411e49a2fd42c3f890 |
|
MD5 | eb2773c2f8f71920286286f8e9a741ad |
|
BLAKE2b-256 | cea25effc3bcbfe6182d2d6276ec29ca749e4a27ff42340b5f6d9eda9befd366 |
Hashes for asgi_tools-0.70.4-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7eef4b29959bc6113c1ffe87c35ff929fe66240fc681f83b475557ed533217b3 |
|
MD5 | 5e7a468bf3326df7a433585aa848aa26 |
|
BLAKE2b-256 | c31770cc4f1b11c72755a8b169f4b15b86e748590bafbd6f0d05e979826a661e |
Hashes for asgi_tools-0.70.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93701ece1e13048703c78bc52a86eb79413e6832f163358d21f31197b32f5dff |
|
MD5 | e56dcee19dcedc44f9f32457904a1a48 |
|
BLAKE2b-256 | 7743bf1b41db64323f1e88437adb9dcd835ebb29ac84291a29dd40df73da5ee6 |
Hashes for asgi_tools-0.70.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ebdee6581f5365f93ba78d7a8e3c0fbb27503625981e8b84e484b2ffd59d467 |
|
MD5 | b4457dff21388e46a0dc42dfa2e002b8 |
|
BLAKE2b-256 | c0ccf97dbc318f63c980c4f3dc75529a3a801730cb33fc7867722a0de04ee397 |
Hashes for asgi_tools-0.70.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a897dbe7d01312fab7689e9eca8e58094c5bb84aeb6fce1ef42a9000af40bfef |
|
MD5 | 847ab04a9b87d578e517488de34345bb |
|
BLAKE2b-256 | 437fbf455ba8083b57ba9490f5ae612dd7d7c2e8299f286a1d94ccc6dc1b9529 |
Hashes for asgi_tools-0.70.4-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1eb4bc2322179421045e81291f5866c052c025db07e7b51ae1faddc13582a76a |
|
MD5 | 1da7ae54dcf1c1174a541ff7e3bddad3 |
|
BLAKE2b-256 | 2d3bf1c4f5a4863cb0196bb37b9338d152616d8da1004a0e7c99662ecb3cf458 |
Hashes for asgi_tools-0.70.4-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3799ae2308f7e986ef3186ef03fae6be9e704939dc5ae0a5eaeafed028330500 |
|
MD5 | 7cc01b19bae50c6556240b3cb0c585f4 |
|
BLAKE2b-256 | 7cee0a3fc8263c32b4cc0d139838df5875b6a2a960eb3328b53c47ceeb91e0ae |
Hashes for asgi_tools-0.70.4-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63de0a0cb8a17ac11aa38f76629f4776d98d46047207852b50b0a1a0fce0d0bd |
|
MD5 | 5c7d8413de739eae7d66aa761d7140df |
|
BLAKE2b-256 | fdb95f20efdb1254d9e1cca02a7698af6dbcd75bdd609647d249919afa1a8c2f |
Hashes for asgi_tools-0.70.4-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9763208fa4c7dc2622a29320c7763a0c9857cf44931d087f8a307f6c07f8533a |
|
MD5 | 69c9729e884f623a96c21503ba7f153b |
|
BLAKE2b-256 | fbee90029641e8c66535efe3db8eb8da9fd3150919b651d2eeae142240b0904b |
Hashes for asgi_tools-0.70.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02103e745b26beeea96135e95c04c3f30e3af630de66883a29348924c8ee4674 |
|
MD5 | fc965c9348eb6c59d5670daa1803678a |
|
BLAKE2b-256 | 546a6cdcc4c0fd0b50e148ccf896aacaf5d4a29324fd2947bdcbebdf54b56a1f |
Hashes for asgi_tools-0.70.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9b0f0e2db2649885b74a5f223093dc50313f416b5a4b3e5efce5154f4113a4a |
|
MD5 | 9e74296355f3bd1e4ec5984ae7f4dfcb |
|
BLAKE2b-256 | e791f2899c8774640ab294997d295778d14edcd438bfcd5c8d024bb934a25bea |
Hashes for asgi_tools-0.70.4-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93162ce20705fbeb47ba3b61f33161b0c7072a8ceca62da8d771fded22248075 |
|
MD5 | f317cb6bc4abef43946411560d5b2b0d |
|
BLAKE2b-256 | e64e6d6064c3ceae807d9dc027c0178ebaa2a9d107b647c1b3141141fc4e0375 |
Hashes for asgi_tools-0.70.4-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b856132eff3b45601cfd6997053e7d87e7c5ba732dd5abe75ab01e29edea912e |
|
MD5 | fd96ed505cd6efb5d4ecc361e553a18a |
|
BLAKE2b-256 | ed93bade7c2429d1446a4056c9b57ed5cfdc3ce2036d29a09856d2c238ad00ad |
Hashes for asgi_tools-0.70.4-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c49fe01985e4f629ba6df62c27c6006b126b7d73728f83d60a8ce25f176cbca2 |
|
MD5 | ab464c30a717759aa6aadadcd75a22b3 |
|
BLAKE2b-256 | 4d628898cb0d8ffdb6c50e918805dff07f577ce7095115c9e5bd763394d60420 |
Hashes for asgi_tools-0.70.4-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c791a75c44e5628277287a4768d1e1c43f15141c7875dd054bf20f2e2c2a6b00 |
|
MD5 | 60cc25894fddf12c5da159569bb26f7c |
|
BLAKE2b-256 | 61b55075d05eb922bb49bd50ba4134287a6d5463cdc5c21fd2eff9a0ff0e2c24 |
Hashes for asgi_tools-0.70.4-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2363a2f48e051df74cb38365f314e85188715649a773eaf743f744faa2002088 |
|
MD5 | e964db974642c6e20dda16123018c1d0 |
|
BLAKE2b-256 | 8f120c78436b674644f786a6ca46e1d109f928ff5701c72b8ac0cea0a0c94bbf |
Hashes for asgi_tools-0.70.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbeaf806a806386fd1d0839ae54e415e29496db2c0892385580f2ce764c05292 |
|
MD5 | 260df5c6445a30a185833eb780c4c286 |
|
BLAKE2b-256 | 3b3936d2278a104e8e78d0233825716a9a2ab5468aaad0e9ef92aa36ae868dcc |
Hashes for asgi_tools-0.70.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfcf782b995e1419440b4672e1ebc4365d005f55cc3023ea9d07a4c38578a953 |
|
MD5 | 82e5aaf4d076f9ffb8d71c59dca0d981 |
|
BLAKE2b-256 | 7d77f9684e31fcf6ccf293350ad698c5aeddba4cfbe39d14cbfb1f797158e95d |
Hashes for asgi_tools-0.70.4-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c5b9bc7f7a4c0645394ad09bbd4540a3f6a25f74bfb93c13c1e33040afa9c98 |
|
MD5 | 52462b0cf9c5d244f046adef8252eddf |
|
BLAKE2b-256 | 547aab7c0daf43a564a585fdf05060e0d350a118d7f7f14bf3ee911ff4e5d4a4 |