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

Uploaded Source

Built Distribution

rororo-2.0.0b2-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rororo-2.0.0b2.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.8.0 Linux/4.15.0-1052-aws

File hashes

Hashes for rororo-2.0.0b2.tar.gz
Algorithm Hash digest
SHA256 6061465746d1fb8ab52026900025e92da7a8c5187749c83ec257edf6e6e46284
MD5 ef526dcec0d381f04787089748ab632d
BLAKE2b-256 140b5b7caa266f92f269c5b19c3657c6782e7dfe9b24c970d69976c77cb6d0c7

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: rororo-2.0.0b2-py3-none-any.whl
  • Upload date:
  • Size: 25.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.8.0 Linux/4.15.0-1052-aws

File hashes

Hashes for rororo-2.0.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 5d3ea52360fb9a567302284cfde388689d32564c8a8fc35aa49001e2b0c499c4
MD5 97f55335aa5e95d5464923f56a3d57b3
BLAKE2b-256 4133f1c2ce076df5cdcb8a15304a3c6c351d486d9cd4e3785e96341959e913bd

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