rororo

Implement aiohttp.web OpenAPI 3 server applications with schema first approach.

BSD-3-CLAUSE License

Downloads
1.1K
Stars
105
Committers
8

Bot releases are visible (Hide)

rororo - 3.3.0 Release

Published by github-actions[bot] 2 months ago

Features:

  • Ensure support of latest aiohttp, attrs, environ-config, and pyrsistent versions (#412)
  • Use Python 3.12.5 as dev version (#413)
  • Ensure Python 3.13 support (#415)

Other:

  • (deps) bump typing-extensions from 4.5.0 to 4.6.2 (#367)
  • (deps) bump cryptography from 39.0.1 to 41.0.0 (#368)
  • (deps-dev) bump hiredis from 2.2.2 to 2.2.3 (#366)
  • (deps-dev) bump pytest-cov from 4.0.0 to 4.1.0 (#365)
  • Monthly maintenance (Aug 2024) (#395)
rororo - 3.2.0 Release Latest Release

Published by github-actions[bot] over 1 year ago

The latest rororo version allows to install library alongside latest version of attrs & email-validator and require latest environ-config version. On top of that rororo==3.2.0 ensure that web.HTTPRedirection errors will not handled by error middleware and will result in proper redirects.

Features:

  • Ensure support of environ-config@^23.2.0 (#360)

Fixes:

  • (settings) Ensure setup_settings_from_environ function works well (#361)
  • [#191] (openapi) Do not handle redirection errors (#362)

Other:

  • Monthly maintenance (Jan 2023) (#314)
  • Bump dev Python version to 3.11.2 (#326)
  • (deps) bump actions/checkout from 3.2.0 to 3.3.0 (#323)
  • (deps-dev) bump redis from 4.5.1 to 4.5.3 (#328)
  • (deps-dev) bump types-redis from 4.5.1.3 to 4.5.3.0 (#329)
  • (deps) bump requests from 2.28.2 to 2.31.0 (#353)
  • (deps) bump attrs from 22.2.0 to 23.1.0 (#349)
  • Bump dev Python version to 3.11.3 (#359)
  • (deps) bump actions/checkout from 3.3.0 to 3.5.2 (#352)
  • (deps) bump email-validator from 1.3.1 to 2.0.0.post2 (#346)
  • (deps-dev) bump mypy from 1.0.1 to 1.3.0 (#357)
  • (deps-dev) bump redis from 4.5.3 to 4.5.4 (#330)
  • (deps-dev) bump pytest from 7.2.1 to 7.3.1 (#347)
  • (deps-dev) bump pytest-asyncio from 0.20.3 to 0.21.0 (#336)
  • (deps-dev) bump types-pyyaml from 6.0.12.8 to 6.0.12.10 (#358)
  • (deps-dev) bump types-redis from 4.5.3.0 to 4.5.5.2 (#356)
  • (deps-dev) bump furo from 2022.12.7 to 2023.3.27 (#332)
  • (deps-dev) bump sphinx-copybutton from 0.5.1 to 0.5.2 (#344)
  • (deps-dev) bump sphinx-autodoc-typehints from 1.22 to 1.23.0 (#345)
  • [#159] (openapi) Cover oneOf schema from Verifiable Credential API with test (#363)
rororo - 3.1.0 Release

Published by github-actions[bot] almost 2 years ago

Features:

  • Set aiohttp 3.8.1 as minimum supported version (#304)

Fixes:

  • [#308] Depend on specific openapi-spec-validator version (#309)

Other:

  • Update dev Python version to 3.11.1 (#306)
  • (deps) bump certifi from 2022.9.24 to 2022.12.7 (#305)
  • Sync common project files (#307)
  • Update CI workflows & composite actions (#310)

Full Changelog: https://github.com/playpauseandstop/rororo/compare/v3.0.1...v3.1.0

rororo - 3.0.1 Release

Published by github-actions[bot] almost 2 years ago

This release ensures dependency on openapi-spec-validator<=0.4.0, so now it is safe to run poetry update in projects, which depends on rororo==3.0.1. Previously, poetry update has been installed latest openapi-spec-validator==0.5.1 and as side-effect introduce ImportError: cannot import name 'default_handlers' from 'openapi_spec_validator' to the project 😢


Other:

  • Sync common project files (#291)
  • Update Python dev version to 3.10.8 (#293)
  • Enforce mypy no-implicit-optional setting (#294)
  • Introduce no-optional pre-commit hook (#295)

Full Changelog: v3.0.0...v3.0.1

rororo - 3.0.0 Release

Published by github-actions[bot] about 2 years ago

rororo==3.0.0 release drops Python 3.6 support, as well as ensures that latest versions of dependent libraries, such as attrs, aiohttp-middlewares, and environ-config can be installed alongside rororo.

Features:

  • BREAKING CHANGE: Drop Python 3.6 support (#276)

Other:

  • (deps) bump isodate from 0.6.0 to 0.6.1 (#222)
  • Fix example code in README (#224)
  • (deps-dev) bump mypy from 0.910 to 0.920 (#223)
  • (deps) bump attrs from 21.2.0 to 21.4.0 (#227)
  • (deps-dev) bump aioredis from 2.0.0 to 2.0.1 (#225)
  • (deps-dev) bump mypy from 0.920 to 0.930 (#226)
  • (deps) bump peter-evans/create-pull-request from 3.11.0 to 3.12.0 (#228)
  • Update Python dev version to 3.10.1 (#229)
  • Fix operations typo (#230)
  • Fix more typos in README and code (#232)
  • (deps) bump pypa/gh-action-pypi-publish from 1.4.2 to 1.5.0 (#238)
  • Fix links in documentation (#234)
  • (deps) bump peter-evans/create-pull-request from 3.12.0 to 3.12.1 (#237)
  • (deps-dev) bump mypy from 0.930 to 0.931 (#235)
  • (deps-dev) bump types-pyyaml from 6.0.1 to 6.0.4 (#236)
  • (deps) bump pre-commit/action from 2.0.3 to 3.0.0 (#265)
  • (deps) bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1 (#271)
  • (deps) bump tibdex/github-app-token from 1.5 to 1.6 (#272)
  • (deps) bump peter-evans/create-pull-request from 3.12.1 to 4.0.4 (#266)
  • Sync common project files (#279)
rororo - 2.4.1 Release

Published by github-actions[bot] almost 3 years ago

Maintenance release, which in same time ensures that rororo installs typing-extensions only for Python <3.8. Thanks @q0w for contribution.

Other:

  • (deps) bump actions/checkout from 2.3.5 to 2.4.0 (#218)
  • (deps) bump actions/setup-python from 2.2.2 to 2.3.1 (#216)
  • (deps) bump actions/cache from 2.1.6 to 2.1.7 (#214)
  • (deps) bump tibdex/github-app-token from 1.4 to 1.5 (#215)
  • (deps) bump peter-evans/create-pull-request from 3.10.1 to 3.11.0 (#217)
  • (deps) bump aiohttp from 3.8.0 to 3.8.1 (#211)
  • (deps) bump aiohttp-middlewares from 1.2.0 to 1.2.1 (#209)
  • (deps) bump typing-extensions from 3.10.0.2 to 4.0.1 (#213)
  • (deps-dev) bump coverage from 6.1.1 to 6.2 (#210)
  • (deps-dev) bump types-pyyaml from 6.0.0 to 6.0.1 (#212)
  • Fix link (#219)
  • Install typing_extensions only for python<3.8 (#220)
rororo - 2.4.0 Release

Published by github-actions[bot] almost 3 years ago

Features:

  • Ensure support of aiohttp 3.8.0 version (#205)

Other:

  • (deps) bump actions/checkout from 2.3.4 to 2.3.5 (#204)
  • Switch to Furo theme (#206)
  • Tweak documentation (#207)
rororo - 2.3.0 Release

Published by github-actions[bot] almost 3 years ago

Use Python 3.10 as dev version, as well as update minimum supported openapi-core version to 0.13.4.

Also loose a bit pyrsistent & PyYAML requirements to allow dependent projects use latest versions of given libraries.

Other:

  • (deps) bump actions/cache from 2.1.5 to 2.1.6 (#185)
  • (deps) bump peter-evans/create-pull-request from 3.8.2 to 3.10.0 (#186)
  • (deps) bump environ-config from 21.1.0 to 21.2.0 (#183)
  • (deps-dev) bump pytest-cov from 2.11.1 to 2.12.1 (#187)
  • (deps) bump email-validator from 1.1.2 to 1.1.3 (#190)
  • (deps) bump pyrsistent from 0.17.3 to 0.18.0 (#189)
  • (deps) bump urllib3 from 1.26.4 to 1.26.5 in /docs (#188)
  • (deps-dev) bump aioredis from 1.3.1 to 2.0.0 (#192)
  • (deps) bump tibdex/github-app-token from 1.3 to 1.4 (#197)
  • Use Python 3.10 as dev version (#194)
  • (deps) bump peter-evans/create-pull-request from 3.10.0 to 3.10.1 (#198)
  • (deps) bump PyYAML from 5.4.1 to 6.0 (#201)
rororo - 2.2.2 Release

Published by github-actions[bot] over 3 years ago

Fixes:

  • Ensure that Operation ID is an optional value (#178)

Other:

  • Depend on typing-extensions (#179)
rororo - 2.2.1 Release

Published by github-actions[bot] over 3 years ago

This release allows to install latest versions of,

  • attrs
  • environ-config

As well as depend on only supported version of openapi-core library, which ensures that poetry version do not install unsupported version of openapi-core.

Other:

  • (deps) bump pyyaml from 5.3.1 to 5.4.1 (#147)
  • (deps-dev) bump coverage from 5.3.1 to 5.4 (#145)
  • (deps-dev) bump pytest from 6.2.1 to 6.2.2 (#146)
  • (deps-dev) bump pytest-cov from 2.10.1 to 2.11.1 (#144)
  • (deps) bump peter-evans/create-pull-request from v3.6.0 to v3.8.0 (#148)
  • Bump Python dev version to 3.9.2 (#160)
  • (deps) bump actions/cache from v2.1.3 to v2.1.4 (#158)
  • (deps) bump pypa/gh-action-pypi-publish from v1.4.1 to v1.4.2 (#157)
  • (deps) bump peter-evans/create-pull-request from v3.8.0 to v3.8.2 (#156)
  • (deps) bump actions/setup-python from v2.2.1 to v2.2.2 (#165)
  • (deps) bump actions/cache from v2.1.4 to v2.1.5 (#166)
  • (deps) bump pre-commit/action from v2.0.0 to v2.0.3 (#167)
  • (deps) bump environ-config from 20.1.0 to 21.1.0 (#164)
  • (deps-dev) bump pytest from 6.2.2 to 6.2.3 (#163)
  • [#149] Pin supported openapi-core version (#170)
  • Apply isort pre-commit hook (#174)
  • (deps) bump attrs from 20.3.0 to 21.2.0 (#171)
  • (deps-dev) bump pytest from 6.2.3 to 6.2.4 (#173)
  • Update requirements (#175)
rororo - 2.2.0 Release

Published by github-actions[bot] almost 4 years ago

Features:

  • [#133] (openapi) Allow to pass kwargs to validate email func (#135)
  • [#100, #132] (openapi) Improve validation errors (#142)

Other:

  • Update dev Python version to 3.9.1 (#136)
  • (deps-dev) bump pytest from 6.1.2 to 6.2.1 (#131)
  • (deps-dev) bump coverage from 5.3 to 5.3.1 (#130)
  • (deps) bump actions/checkout from v2.3.3 to v2.3.4 (#141)
  • (deps) bump actions/cache from v2.1.2 to v2.1.3 (#138)
  • (deps) bump actions/setup-python from v2.1.4 to v2.2.1 (#139)
  • (deps) bump peter-evans/create-pull-request from v3.4.1 to v3.6.0 (#140)
  • (deps) bump tibdex/github-app-token from v1.1.0 to v1.3 (#137)
rororo - 2.1.3 Release

Published by github-actions[bot] almost 4 years ago

Fixes:

  • (openapi) Allow to use parameters within path object (#128)

Other:

  • Several updates to pre-commit hooks (#122)
  • (deps) bump aiohttp from 3.7.2 to 3.7.3 (#125)
  • (deps) bump attrs from 20.2.0 to 20.3.0 (#126)
  • (deps) bump email-validator from 1.1.1 to 1.1.2 (#124)
rororo - 2.1.2 Release

Published by github-actions[bot] almost 4 years ago

Fixes:

  • Proper handling of operations with empty security list (#120)

Other:

  • Improve examples & tests structure (#118)
  • (deps) bump aiohttp from 3.6.3 to 3.7.2 (#119)
rororo - 2.1.1 Release

Published by github-actions[bot] almost 4 years ago

Fixes:

  • (openapi) Proper handling of operations with empty security list (#115)

Other:

  • Do not enforce commitizen check at CI (#113)
rororo - 2.1.0 Release

Published by github-actions[bot] almost 4 years ago

Features:

  • Ensure Python 3.9 support (#109)

Other:

  • (deps) bump attrs from 20.1.0 to 20.2.0 (#108)
  • (deps-dev) bump pytest from 6.0.1 to 6.1.0 (#107)
  • (deps-dev) bump coverage from 5.2.1 to 5.3 (#106)
  • (deps) bump pyrsistent from 0.16.0 to 0.17.3 (#105)
  • Integrate badabump for release needs (#110)
rororo - 2.0.2 Release

Published by github-actions[bot] about 4 years ago

Features:

  • Depend on attrs>=19.1,<21 to allow install attrs==20.1.0 in dependent projects

Other:

  • Massive infrastructure update: move code to src/ directory, use latest pytest for tests, better Makefile targets, etc
rororo - 2.0.1 Release

Published by github-actions[bot] about 4 years ago

Features:

  • Ensure rororo to work properly with openapi-core==0.13.4
rororo - 2.0.0 Release

Published by github-actions[bot] over 4 years ago

Final 2.0.0 release, which completes reimplementing rororo as library for implementing aiohttp.web OpenAPI 3 server applications with schema first approach.

Quickstart

rororo relies on valid OpenAPI 3 schema (both JSON & YAML formats supported).
Example below illustrates using openapi.yaml schema file, stored next to
app module,

from pathlib import Path
from typing import List

from aiohttp import web
from rororo import setup_openapi

from .views import operations


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

Then, you need to register operation handlers in views module. Example below shows registering handler for operationId hello_world,

from aiohttp import web
from rororo import OperationTableDef


@operations.register
async def hello_world(request: web.Request) -> web.Response:
     return web.json_response({"data": "Hello, world!"})

Documentation provides more information on implementing aiohttp.web OpenAPI 3 server applications with schema first approach using rororo.

rororo - 2.0.0rc2 Release

Published by playpauseandstop over 4 years ago

Fix:

  • When possible pass request body as string to OpenAPIRequest, not as bytes

Style:

  • Update pre-commit hooks, integrate flake8-variable-names
rororo - 2.0.0rc3 Release

Published by github-actions[bot] over 4 years ago

Features:

  • Allow passing schema and spec keyword args to setup_openapi (#86)

Fixes:

  • Handle all errors on creating OpenAPI spec from schema (#74)
  • Allow nullable arrays & objects in request/response data (#85)

Other:

  • Cast return values instead of type ignore comments
  • Do not include changelog into dist (#72)
  • Update docs with new rororo slogan (#76)
  • Create GitHub release at pushing git tag (#78)
  • Bump pre-commit hooks
  • Preserve multiline strings in release body (#78)
Package Rankings
Top 10.81% on Pypi.org
Related Projects