A lightweight ASGI framework
Project description
bareASGI
A lightweight Python ASGI web server framework (read the docs).
Overview
This is a bare ASGI web server framework. The goal is to provide a minimal implementation, with other facilities (serving static files, CORS, sessions, etc.) being implemented by optional packages.
The framework is targeted at micro-services which require a light footprint (in a container for example), or as a base for larger frameworks.
Python 3.8+ is required.
Optional Packages
- bareASGI-cors for cross origin resource sharing,
- bareASGI-static for serving static files,
- bareASGI-jinja2 for Jinja2 template rendering,
- bareASGI-graphql-next for GraphQL and graphene,
- bareASGI-rest for REST support,
- bareASGI-prometheus for prometheus metrics,
- bareASGI-session for sessions.
Functionality
The framework provides the basic functionality required for developing a web application, including:
- Http,
- WebSockets,
- Routing,
- Lifecycle,
- Middleware
Simple Server
Here is a simple server with a request handler that returns some text.
import uvicorn
from bareasgi import Application, HttpRequest, HttpResponse, text_writer
async def example_handler(request: HttpRequest) -> HttpResponse:
return HttpResponse(
200,
[(b'content-type', b'text/plain')],
text_writer('This is not a test')
)
app = Application()
app.http_router.add({'GET'}, '/', example_handler)
uvicorn.run(app, port=9009)
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
bareasgi-4.4.0a1.tar.gz
(22.4 kB
view hashes)
Built Distribution
bareasgi-4.4.0a1-py3-none-any.whl
(30.9 kB
view hashes)
Close
Hashes for bareasgi-4.4.0a1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da8bfbc5223c8875ce715e92ae1255e21c0d2c1982d617f096dce6c07605b08d |
|
MD5 | 9f1d42746445436f96b364f1f9b0e5c3 |
|
BLAKE2b-256 | 9ba03a29733d45da20372ecc2a0861d3df7bb4b2115211b871830e8b5b0549dc |