Skip to content

adamchainz/aiohttp_utils

 
 

Repository files navigation

aiohttp_utils

Latest version Travis-CI

aiohttp_utils provides handy utilities for building aiohttp.web applications.

  • Method-based handlers ("resources")
  • Content negotiation with JSON rendering by default
  • Local development server with auto-reloading
  • And more

Everything is optional. You can use as much (or as little) of this toolkit as you need.

from aiohttp import web
from aiohttp_utils import Response, routing, negotiation, run

app = web.Application(router=routing.ResourceRouter())

# Method-based handlers
class HelloResource:

    async def get(self, request):
        name = request.GET.get('name', 'World')
        return Response({
            'message': 'Hello ' + name
        })


app.router.add_resource_object('/', HelloResource())

# Content negotiation
negotiation.setup(
    app, renderers={
        'application/json': negotiation.render_json
    }
)

if __name__ == '__main__':
    # Development server
    run(
        app,
        app_uri='hello.app:app',
        reload=True,
        port=8000
    )

Install

$ pip install aiohttp_utils

Documentation

Full documentation is available at https://aiohttp-utils.readthedocs.org/.

Project Links

License

MIT licensed. See the bundled LICENSE file for more details.

About

Handy utilities for building aiohttp.web applications

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages

  • Python 100.0%