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

Important

2.0.0 version still in development. To install it use,

pip install rororo>=2.0.0a3

or,

poetry add rororo^=2.0.0a3

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 typing import List

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.0a3.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

rororo-2.0.0a3-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file rororo-2.0.0a3.tar.gz.

File metadata

  • Download URL: rororo-2.0.0a3.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.4 Linux/4.15.0-1043-aws

File hashes

Hashes for rororo-2.0.0a3.tar.gz
Algorithm Hash digest
SHA256 969f6ad4f4762c48913f6d5b0feba3f221036349286ae40eaef8287403315f86
MD5 444f18b5a9b9a706bcfd8f05938dcbec
BLAKE2b-256 2993e032c39b672115f7cdac1a272572072bd06048130c3b263867214996d566

See more details on using hashes here.

Provenance

File details

Details for the file rororo-2.0.0a3-py3-none-any.whl.

File metadata

  • Download URL: rororo-2.0.0a3-py3-none-any.whl
  • Upload date:
  • Size: 23.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.4 Linux/4.15.0-1043-aws

File hashes

Hashes for rororo-2.0.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 e305b8125e8ff90b53c943fc284bfb33340e71cf09b8072856fa7aadb7c06fe8
MD5 ceb3f0122213e3745accbe0b5f95874d
BLAKE2b-256 8bd98173a738e65e4253f6200710b08ae653292a06600baccc9f13695ad4b397

See more details on using hashes here.

Provenance

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