Lightweight framework for building resource-oriented applications.


Keywords
wsgi, framework, resource, openapi
License
MIT
Install
pip install roax==2.0b5

Documentation

Roax

PyPI License GitHub Test Black

Ro·ax /ˈɹoʊ.æks/: A lightweight Python resource-oriented framework.

Introduction

Roax is a lightweight framework for building resource-oriented applications in Python. By composing your application as a set of resources that expose operations through a uniform interface, they can be automatically exposed through a REST and/or command line interface.

Features

  • Resource operations accessed through WSGI-based REST API.
  • Schema enforcement of resource operation parameters and return values.
  • Authorization to resource operations enforced through security policies.
  • Schema-enforced data structure definition using Python data classes.
  • Python annotations define schema of data classes, operation parameters and return values.
  • Representation of SQL tables as resources, with SQL query builder.
  • Monitoring of resource operations and elapsed time in time series databases.
  • Generates OpenAPI interface description, compatible with Swagger UI.
  • Access to resource operations through command-line interface.

Install

pip install roax

Documentation

See the docs folder for documentation.

Develop

poetry install
poetry run pre-commit install

Test

poetry run pytest