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.63.3-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5407134343b6dabd6498d12c8a4a105d1483a136a481c800917f788b495ea92e |
|
MD5 | 889b38440dc9c75a3a5653fc0fe0fe31 |
|
BLAKE2b-256 | ff96bbb8039120878ba6a346c5b84896103315b76c11287bbad8ec449ee515e6 |
Hashes for asgi_tools-0.63.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 504ab5e88accabb5083ce066349f798068f24415072dbe38f6073edf38678eb8 |
|
MD5 | 931f3c49981b55bdd71b89f94a246a75 |
|
BLAKE2b-256 | 23854573a6bb1f2ee8000d17a0b3071b970fdb1abf26437f33a0b03692dc9bb0 |
Hashes for asgi_tools-0.63.3-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe8e2c89be29b4459558a72fccdbfb5d61464db7623dda0636a10052a7e9e93c |
|
MD5 | 56050fee099e6a8cf15cb7ade88c9144 |
|
BLAKE2b-256 | 61bf0a598a37e1a9fc6c3f2ddaf63299f1c60b33dae0cd4c1d52b3597d1601a3 |
Hashes for asgi_tools-0.63.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0ff639d963cbce0636eaa77ad71824184f87afc1179d640a0130478107712a9 |
|
MD5 | 770a6b2f08b3c5d388775dcd220639d5 |
|
BLAKE2b-256 | cdd5fd4be7bde06cf40fc32079e1a59a0ce5e382c9a7b1989b1ba3dbe4665adb |
Hashes for asgi_tools-0.63.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bf4ed2209a225dc6739b702e32ae697b9ddc4bc5374086e4696088c9dc8ed8f |
|
MD5 | 46db9640c880d55be5831a5ed845d3c9 |
|
BLAKE2b-256 | 7dfabccb5b73594a29124abce334511d6191aea246636391b7e73c832f6dde55 |
Hashes for asgi_tools-0.63.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4a165a77c0a02eb9fcd8ca64d6ef1a1f1bfb4757c5f391a17fb420c341bffed |
|
MD5 | c56d826e669f785db2943b8db1089490 |
|
BLAKE2b-256 | a1f1818dab97a438f38f79aadc30f938ea30eefe976ac62f1d02ff87734238c8 |
Hashes for asgi_tools-0.63.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c4859f9b15de49b2f9487ba8d24e430a9ebef787aee490dc53edb033e841fa3 |
|
MD5 | d63e62c0c4531efff4e022222599dedf |
|
BLAKE2b-256 | 5be0cf8b641ba995391dcc9327017c2cd3841bb830ac0ba322c1bad56c7bc954 |
Hashes for asgi_tools-0.63.3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 030194ac833d2777443641ac60149824878ecad1887c7bbc7b8a75c07a0bd333 |
|
MD5 | c6de84c1c2bfeb6cc1495923af41a2a9 |
|
BLAKE2b-256 | 41671c8370fa8416ba7afe0239db29167e3a43c1e3f493e3f30eba4246f652de |
Hashes for asgi_tools-0.63.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3072c7dcf5fa194526186fb6c8670fea201da2644e249d945084d253a07be2d7 |
|
MD5 | 027cb57bb02c1f81fe8290d96764b339 |
|
BLAKE2b-256 | fd5f06ec68e85c035bf1c2a715f2c1b5c172aa2be7636f3e47d48e31c2d7acc3 |
Hashes for asgi_tools-0.63.3-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdd70b290fd2bf690cb916a64230422ae861e114d8af10838203a91a9bf3af12 |
|
MD5 | 39187c2f718d97e1b9fb95f70ef5fd12 |
|
BLAKE2b-256 | 4e45f3a509463df7fd22472ea62d8ca273bda19ae103ffdf5ba538a84578c8ef |
Hashes for asgi_tools-0.63.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c40b1bdb126c995ab82c1f5f37761241a7860b186d87d634ee5330d54ea6bfb5 |
|
MD5 | fc69b3f2099dac08890bfbf9a9a8e3f1 |
|
BLAKE2b-256 | 98f24f54cf0bfeef735e82669f96079f994dbbbba7c47423fd87508d11aa35bc |
Hashes for asgi_tools-0.63.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3380faa27173cc15f45cac7659bfc84bdd63c462ac4d8802b81f0a40ed75db43 |
|
MD5 | f54b98d249ef9eda9dcc8e2e5b4dcac5 |
|
BLAKE2b-256 | 41b1a5d045221094e30b81315c4d657f055c42ffa304f4d70c02489f70876cfc |
Hashes for asgi_tools-0.63.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2ac50e641c097517617ed0c38fa8d1db7ac1e3390825ddaf7b24e49a5a1a8a7 |
|
MD5 | ea412db35a622d3102a061a25baee022 |
|
BLAKE2b-256 | 2180d9396a467bd522aac7a4fbdf7bdeb981907dc0603f5f345dbc8abd0b3afa |
Hashes for asgi_tools-0.63.3-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ee68356cf38ca02a3aa29399bf851f29adb7ee2256a25174c4ba8d77134220f |
|
MD5 | 4d1309125b61c6d0c8b78bf583f52ead |
|
BLAKE2b-256 | 3200db8bfe0a1727181b4a80a0d2072f551de01da9ed98994257596e6d5de9ab |
Hashes for asgi_tools-0.63.3-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f1b8338572d8c9b4f85657eac9de987f002abde4a228eb569f55229476fac34 |
|
MD5 | dcd551442610f9135295ffccbae877f8 |
|
BLAKE2b-256 | efa11320e0a178248299de0b9417ab56fe2b475690972321eb6b33837d25d854 |
Hashes for asgi_tools-0.63.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9db01c35c3e78c57cbcb726963fa21152f4b02d69ed207a0d1070fd3191d611 |
|
MD5 | 812531b30790e8bbdf2ac466c0730d81 |
|
BLAKE2b-256 | 6333d27e20f8ea722f5b83d72defbc1749c185efc32271a7798d7433c6c2c6ca |
Hashes for asgi_tools-0.63.3-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33b35357a6d4170d2ea237f9a2f9b9ada4811b1776ef001142833ea7d1e5e546 |
|
MD5 | abf5299a51ebcc369450975e8dc8b820 |
|
BLAKE2b-256 | 6b326309b81283a2d36060fd45f03f52be95ec7e3f01fb8df3a7a401a795fa75 |
Hashes for asgi_tools-0.63.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e9c3df8364caf8c02b2a2df392584371a8231cf07d6eca66df45f651b442ebb |
|
MD5 | 9104a9a6c97a48cd0a808cabd0dcc696 |
|
BLAKE2b-256 | 73135f2f627f338fa214c13013392548dd20833ac18b7b7208d5514da182cec8 |
Hashes for asgi_tools-0.63.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79ddca5b2a0b75da8e2c12734e5e8dab6828574ae7bedf74d49e609366dec208 |
|
MD5 | 9208ded93161aa06c50fc2bb287ab21c |
|
BLAKE2b-256 | 7f184e777adf5f9e13dc5a33a6d1e5166690366c2cbe4a846882b021d9df2b53 |
Hashes for asgi_tools-0.63.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 774edcf33bac97db697f1a9ebfac1e63d2fb9bcdaf31f6124295fc6ec15d060a |
|
MD5 | c6fdba28ec298d31afedf761cf903bc3 |
|
BLAKE2b-256 | 0c840a8569365e6a035cda7119a4da8ad7ebc502fcfcaa9ad27764f796e62110 |
Hashes for asgi_tools-0.63.3-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1064d644599c16f4c3da4c2c108c9b76f218b6ebffa70b1ff30f48430b2d6c9 |
|
MD5 | 5ff80dd1878bf6712c1830e53e6b46af |
|
BLAKE2b-256 | c238a26795af5577ea9e6bd01d7efbdd9567eab4b25930c584e9304a94226eae |
Hashes for asgi_tools-0.63.3-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 577195539fb6fa0f48dd85d160d2de4fa0895586d6bc2db65f745e56b9107a31 |
|
MD5 | 6d3748f2da51f7c0f75be9179772fe97 |
|
BLAKE2b-256 | 5ba71ed5a20ad10bd00862ee80cc9f1f6340ce49fac27862d92770e3112f1abc |
Hashes for asgi_tools-0.63.3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6958a8214ab43f251af5ffc0e11b91bfb7c22e2fecf3e355f92593598f59a878 |
|
MD5 | 5c66ddf472aec057616e1e3c9fe4092e |
|
BLAKE2b-256 | 58f6a05bf8a806b88c7a91341acf01c56ab9fa494c564e70ab0342bbc29f19f9 |
Hashes for asgi_tools-0.63.3-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cd7fab4630fd9c71aec66298343100752d3720adfa1cfb5dd6757d7e6b23000 |
|
MD5 | 276b379d8287bee05d9c98ad8095785a |
|
BLAKE2b-256 | 430d7b2dae7a3d25f84cc5a79268e6fc4e0f8e7ed4939540e2e92ef48ef6e21d |
Hashes for asgi_tools-0.63.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9af7695ed78d69b94dae19f9aa41e02466a70103fecc1555696900632d7d1d1d |
|
MD5 | e2127aff9d552c87003425c4e6a346ba |
|
BLAKE2b-256 | aefbd17f36014cd2db2ce23f827f974685744f9b75112e2394a1cadce20d1e62 |
Hashes for asgi_tools-0.63.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00d97c6a74c9a470bd194fadbac2df0b04e704b99582090f7758e8b9369e440e |
|
MD5 | 8b6fe940d1b8d5e517457dd3324737f6 |
|
BLAKE2b-256 | 62a21820e57959bc3abfff615dab354d67f27d03ff4721a3c47b2422eb5b2642 |
Hashes for asgi_tools-0.63.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ee34e63529358b2a968c7963afdc00c6fd4ef94eab2eb8d1b3b7b48f7bc7b20 |
|
MD5 | 9f715bc71f1b0d25f899f44f098fd090 |
|
BLAKE2b-256 | 76f03d74eb3ac6a891f07c6b073d7476d6507659abc025522b1ca374becc93a1 |