Skip to main content

Lightweight framework for building resource-oriented applications.

Project description

Roax

PyPI License Python GitHub Travis CI Codecov 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.
  • Command-line interface to resource operations.
  • Generates OpenAPI interface description, compatible with Swagger UI.
  • Schema enforcement of resource operation parameters and return values.
  • Authorization to resource operations enforced through imperative security policies.

Quick start

Installation

pip install roax

Hello world

Here is a minimal application that responds with "Hello world!" when the client accesses http://localhost:8000/hello.

import roax.schema as schema

from roax.resource import Resource, operation
from roax.wsgi import App
from wsgiref.simple_server import make_server

class HelloResource(Resource):

    @operation(returns=schema.str(), security=[])
    def read(self):
        return "Hello world!"

app = App("/", "Hello", "1.0")
app.register_resource("/hello", HelloResource())

if __name__== "__main__":
    make_server("", 8000, app).serve_forever()

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roax-1.2.1.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

roax-1.2.1-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file roax-1.2.1.tar.gz.

File metadata

  • Download URL: roax-1.2.1.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.4 Linux/5.2.0-2-amd64

File hashes

Hashes for roax-1.2.1.tar.gz
Algorithm Hash digest
SHA256 b7777ba061da797d29931e3c834918586781424272a8e4691e8485c7e0b1365a
MD5 1c25324b892b586610dc206e890ede36
BLAKE2b-256 c70328b48a8979e4036021526e97a2f59b867dea81409888bcab165e70eaad0a

See more details on using hashes here.

File details

Details for the file roax-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: roax-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 33.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.4 Linux/5.2.0-2-amd64

File hashes

Hashes for roax-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1c9e9cb23ba24e97c40e9c6f36bf81c1394f03c55d90b8167cb2c37eddb8b783
MD5 c6052b8d3b97254ee7e7d031d86f5540
BLAKE2b-256 232a28a4e4a795e7bb241c2b9528e4df29444afc08b68a3cb3a0f0254ea2725f

See more details on using hashes here.

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