Skip to main content

OpenAPI 3 schema support for aiohttp.web applications.

Project description

CircleCI Latest Version Python versions BSD License Coverage Documentation

OpenAPI 3 schema support for aiohttp.web applications.

As well as bunch other utilities to build effective web applications with Python 3 & aiohttp.web.

  • Works on Python 3.6+

  • BSD licensed

  • Source, issues, and pull requests on GitHub

Quick Start

rororo relies on valid OpenAPI schema file (both JSON or YAML formats supported).

Example below, illustrates on how to handle operation hello_world from openapi.yaml schema file.

from pathlib import Path

from aiohttp import web

from rororo import openapi_context, OperationTableDef, setup_openapi


operations = OperationTableDef()


@operations.register
async def hello_world(request: web.Request) -> web.Response:
    with openapi_context(request) as context:
        name = context.parameters.query.get("name", "world")
        return web.json_response({"message": f"Hello, {name}!"})


def create_app(argv: List[str] = None) -> web.Application:
    app = web.Application()
    setup_openapi(
        app,
        Path(__file__).parent / "openapi.yaml",
        operations,
        route_prefix="/api"
    )
    return app

Check examples folder to see other examples on how to use OpenAPI 3 schemas with aiohttp.web applications.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rororo-2.0.0a0.tar.gz (18.3 kB view hashes)

Uploaded Source

Built Distribution

rororo-2.0.0a0-py3-none-any.whl (21.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page