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
)
$ pip install aiohttp_utils
Full documentation is available at https://aiohttp-utils.readthedocs.org/.
- Docs: http://aiohttp-utils.readthedocs.org/
- Changelog: http://aiohttp-utils.readthedocs.org/en/latest/changelog.html
- PyPI: https://pypi.python.org/pypi/aiohttp_utils
- Issues: https://github.com/sloria/aiohttp_utils/issues
MIT licensed. See the bundled LICENSE file for more details.