Roax
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