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.6-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 499266a554483cf115c7d705c0ba7f900ddc05cbbacfbc58969ba187bdaf9487 |
|
MD5 | a3bfd1ced0dd3df34c1fb6f8a85fba8a |
|
BLAKE2b-256 | a4b68108f497283feebd10c4a759bdb784a3c324d99a98bb0deaef56b3e22ff9 |
Hashes for asgi_tools-0.70.6-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0bc18b53ec0ee223966ca69a113e7a622a3290e10d4cae3b026732fe47162f2 |
|
MD5 | e269f1ca6b7d9f044f660380334edb2d |
|
BLAKE2b-256 | b8f0e2f85cdbdc6a56b3b4aeda796a3ccd83c4b0ba775228684a6deaa0194188 |
Hashes for asgi_tools-0.70.6-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 186b01fc8e034b781eb3ea390aefd26a4ea53c948848f72157b7fc6167ed10f1 |
|
MD5 | 6a7cf6501ac5ca50036cd7591e7f807c |
|
BLAKE2b-256 | 1bdc006309e95a25fcd31167283a05ae0e99475a9ba229098b3a4b6340af5c7c |
Hashes for asgi_tools-0.70.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 296f92336ba1b13c9ed1e071dc4c6091e014029a70d8a9ccc7d1847ab9cd8c3f |
|
MD5 | 804e341c49f8056f97df7c37431800e7 |
|
BLAKE2b-256 | 61ced20551f3ee6a84d7a23341bdef6283aca7582f1ef277d05c5708abcc0990 |
Hashes for asgi_tools-0.70.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 674fc03b459c60daccca94c1dd79966036d474ca83482c58a49cde28e9b4c8c2 |
|
MD5 | 59edc1cc15be7821689a743ab556329e |
|
BLAKE2b-256 | 724826df122c716f742338dbd6e05cc3be6243d9352f284da55bf93f2ad04103 |
Hashes for asgi_tools-0.70.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d69179258ef72f859a979cbbb84d2f5e5b557a1b1aaa2578884b16b31c439c6 |
|
MD5 | c754003ef9133cc61df275c07f30e2f1 |
|
BLAKE2b-256 | a53b403c4f2ea1ec23d27698b15d9a10d04b7a1ab70eea24188a805905dc2635 |
Hashes for asgi_tools-0.70.6-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13dfed8524f979f074668e4413d16e89e3a5a042a41d8b6d41bc3ffda7e95c09 |
|
MD5 | 3859723fdcdc031606e97396efcdc3c1 |
|
BLAKE2b-256 | 09c96b5601d7e146c099245e71a3e880e624425fdce2ce2bfbab64d2e82e7f46 |
Hashes for asgi_tools-0.70.6-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ad294a5e9c272289e1f3b429a30e312557b13e18bba82634485c00d238da1d4 |
|
MD5 | aaefb3969b6c4eddd87d538f42b348ab |
|
BLAKE2b-256 | 6d89f50ee5d90ec1294f0ba715acf25925654a449a424eff6169719130728d81 |
Hashes for asgi_tools-0.70.6-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3548485c4a4eacd9a2a9affe508722af9a0a74a69618d615c7b989010aa9035 |
|
MD5 | 859fe17952141d98c067147c4e1afd0d |
|
BLAKE2b-256 | 4afc0004d30ae782e36e59c6fc12e7d30710cf74cbe4ffe53ea2fd38a28da28e |
Hashes for asgi_tools-0.70.6-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2771da7a2c3fe0b7e83c49ea8a0255486d491264f827e8eb7caa46b7e2d35be |
|
MD5 | fb15b118c698f6eed7e88fc8f1ac7b24 |
|
BLAKE2b-256 | 4131973dd3cbdcabc82a357df32d26a31176dce3a18f39d9345b63177d08f07e |
Hashes for asgi_tools-0.70.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 130baa8e5859025a3f8f7a515bd23897488f490d3fb83d4fbeebd3acca6c08f7 |
|
MD5 | 5fe72a6145361f03b420536595df790b |
|
BLAKE2b-256 | d7a033e65baf9c1fdd042f65cefa9e9bf870753b4267bdf4a4091e20e5e6c717 |
Hashes for asgi_tools-0.70.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e839da1e296fc980d16658fff7e67c2c08624a2c1cdebed68baa8e46c25bdc0 |
|
MD5 | c500e83955336511e4611efb07061bdf |
|
BLAKE2b-256 | 46b7174ff649fa2eeab2e3775310b415b1264bd7764d10b97d3b03dbc9fe7416 |
Hashes for asgi_tools-0.70.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14308efc374582a69253acd4913d081d106d058808404104d2ad9fd875e91cd7 |
|
MD5 | a292410a2f9edc840c97a45fd92e5af8 |
|
BLAKE2b-256 | 37db4d6e354805dd4dbdcd26a823231629c2a492ebeae3731db8b2a90b2ff376 |
Hashes for asgi_tools-0.70.6-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67bbaf1c0dd20733bb0d70400fb8ef361c940330b11303bf73ab70fa12d561cb |
|
MD5 | c903daa586dd78edcd5cb3436a2b880a |
|
BLAKE2b-256 | a038432a7cebdf9d3fd71388a9eda9b91d546e065545ff6a5d9c90fd11e49d17 |
Hashes for asgi_tools-0.70.6-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99a0c3ca7258c07b24c5153c88c00074608356f23406b6aef0e8b3255376dec2 |
|
MD5 | 9291aa36d42f6a0e9f87edc5b1f89d49 |
|
BLAKE2b-256 | a92cbd9adffc923f8a645105b28ba3c394cd12292e855d856a303c4d00a4ceb0 |
Hashes for asgi_tools-0.70.6-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f93b90f996387b2dc75e0a3f9d7d2a7eba6f32539bb5e0f23972ba9173cc81f |
|
MD5 | c3ae011550216baa63f52839ab6bcc1c |
|
BLAKE2b-256 | 8daf9f00ead302cbac46ade870c15153516405b1ac7810fc2ececeabff8624b5 |
Hashes for asgi_tools-0.70.6-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8082f228af2f25381ae3b6bc352156bcd759e0db9914379a561c7f97229e9dd |
|
MD5 | fcad42730634044cc376e39ef2d91a19 |
|
BLAKE2b-256 | 06f577614e9542720e2bb7a519360735f94e288f6bcd095ac9444175b931304e |
Hashes for asgi_tools-0.70.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8a3f588674192eb1bfeff5598b83ec65cf664590f26abab1eb1764448e493dd |
|
MD5 | bdfe63d0e008a89d65226e9d3eb8712f |
|
BLAKE2b-256 | b5c1dd9cd9e9b7d2309f45e3e92628637973ac55b1266f9d8aaacbae8eb26284 |
Hashes for asgi_tools-0.70.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3801e2ba3d530846e4286bc0af3311d310397f4b81bf11b2d1a8dbac11211348 |
|
MD5 | b42065c636c1575a259be8760a5e8a13 |
|
BLAKE2b-256 | 62aeaacaf17d4304b32a4e9b6ca332c0732c1e56e8a415eaf5f4b03f4e748220 |
Hashes for asgi_tools-0.70.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12dca02c9e94a317946d8d34423cb952ffee8a54a1d4f48eda418f5832e70d1a |
|
MD5 | 744ed6278ad6de2fe00cfe6d5c6cc34e |
|
BLAKE2b-256 | 998dad2f6041e7ca4a0c2795b9315ccd789b10bb196b331ff15fc84f3444b675 |
Hashes for asgi_tools-0.70.6-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0419414c8595113afd96787bc961025ab5dcc4986b4cb94a55d5a7c3a325539 |
|
MD5 | b2cefe09af07dffae069035d7ecebe47 |
|
BLAKE2b-256 | 34a4013aaaa52f0a65cf94f317dd0ba4a9f267ba3571650ccdc0595c0cf027e4 |
Hashes for asgi_tools-0.70.6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c97e3fd626d47a4f339f201c7fa2de15ab0bb2962766f2502b1dc67bc10e43be |
|
MD5 | d8b4ee03b04815654d877e3d5e9d93cc |
|
BLAKE2b-256 | 40ef9ed0fe0b53e18c560e3bb8970ec1b9f9fb9e1e3c9a4a17cfd7e14eaf8d2a |
Hashes for asgi_tools-0.70.6-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54015dd856e96a6f6c2acbdafc996fcc18160b56369dfcdd74f969fe96010c3f |
|
MD5 | 3cc4ff429ff110d9f75fe4913947498d |
|
BLAKE2b-256 | 0e15604d702d89d981d14c7ca55a2bffc87b851a91873f3ad6f242a6a787bec5 |
Hashes for asgi_tools-0.70.6-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | efeb9d6f436042687683660fa446218629c231623893d886f98d00c3174e2f78 |
|
MD5 | 50f6ed689ca2c6cb8b7984268e16ea83 |
|
BLAKE2b-256 | c708c1bae98796d25a0e55307e8ba6922e78f7de4533b4956fbae1772b5d851e |
Hashes for asgi_tools-0.70.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07cfd3ca2d8487f3c7b697d177b4b8de8f358214f97a626a8836fca8c65003dd |
|
MD5 | 5f3d34e145c418a5f725727e74aa3959 |
|
BLAKE2b-256 | 76f90249094edfadb8b094a2cfb0a75a3d23a4c2c74a22e4744dd8db5ee3672a |
Hashes for asgi_tools-0.70.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27eea6f6ad2780605f0a650ddc3e1b8a04a039f1ff0bf466c7a4664801dde25e |
|
MD5 | 88b87f935465791ad1b69b302bdf2c38 |
|
BLAKE2b-256 | ec89d3b2f994808476f92ada7a43b98d24e0fcea29b9118843d98a998e4b23b6 |
Hashes for asgi_tools-0.70.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48249321339ea75843943096d1122fc8482b375217026f86d9471a277cb2d50d |
|
MD5 | 9a7c3487022b0056df8c72e2538268e0 |
|
BLAKE2b-256 | 3d40cc8a7c10b9fd0afcdfc1591a479079afa2879088eee587519a2c865a9859 |
Hashes for asgi_tools-0.70.6-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 994fcafc7824dda453fdaa8ced686c1d36b67f48e4513a1e33b383f356413219 |
|
MD5 | 0ff9134b106c002117fa3e60b89cf7e2 |
|
BLAKE2b-256 | 42fcc889734b8b771537c36c05788b06da5e11bf4c4f10a4af9b92fbc5031bcd |
Hashes for asgi_tools-0.70.6-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28e1d02afad742f9a92bb8233da6d42a28e0276a095ac89a1d9262d3b8623f35 |
|
MD5 | 209579cc0e791c318a87882b9d2c2e01 |
|
BLAKE2b-256 | ed99246a4fb0c1c2edf73c98be3f51ecf740a1fc2b93a1baba3739fea47ba860 |
Hashes for asgi_tools-0.70.6-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2b487ce6d1d64452c21a587e249c1b726f1b0768530d39f28517b28e4014627 |
|
MD5 | 41ddf33ac9401b738812d9fb0d06c4a4 |
|
BLAKE2b-256 | 6d9034202cacf620c1c81da8668e2d41f2f65f7dc4d250f78649291cba48fe6d |
Hashes for asgi_tools-0.70.6-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf35b9a8f9262c5e1c99366b2a5296e027723e26fa24bf815162ee325702ec27 |
|
MD5 | ed581586285b30d85d0450039f2a9bb5 |
|
BLAKE2b-256 | 02f8c8e23a0e90d220c1e2af41cd75e6e9a6991695b5dfb64a5e2f3b015959b7 |
Hashes for asgi_tools-0.70.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2910dde7423a542615dec44168f8047afa4e4f2262757d044e06ff25ff11fcaf |
|
MD5 | 3e6a1a8fd255fe42b7e6a6446100e8bd |
|
BLAKE2b-256 | 592c7bfa63d66ca8e87c2416fdab0a60935f5c6ad98b1e75c9eb9a93e18be84a |
Hashes for asgi_tools-0.70.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d406c2f05ab7c0c6c41a6b96551e9cc6d7d3ac2f0a5bf2222b98cd04a97df233 |
|
MD5 | c5342cb6cb6ac137a0f3f8dea55d3b38 |
|
BLAKE2b-256 | 9734be4af89eb7db088e37330f3700d1d85fae77cf6a8cbc7510937541b98651 |
Hashes for asgi_tools-0.70.6-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 830b6bf725fb6bc46e7616218dedc1721e8e48e2c9f15ecdd353ffc39546bd93 |
|
MD5 | 78dc033f7ecd723abb34e61b86b593bb |
|
BLAKE2b-256 | 3060c3ca340e1c662427f329ef61f3779474ada1ec2ae3d402aa7c1e03509c0e |