Skip to main content

A backend core utility library.

Project description

Nekoite Backend Core

pypi build

Usage

Requires python 3.7 or newer.

pip install nekoite-be-core

There are some examples to look at.

Basically, choose an adapter (or build on your own), create some views and routes, and give it to the function register_routes.

routes = {"/a": AView, ...}
adapter = SomeAdapter(*args)
register_routes(adapter, routes)

Modules

View

Extend the class ViewBase. Override the function handle_req. You can specify the request_schema and response_schema, and if they are not specified or None, then the request or response format will not be checked. method can be a string or list of strings indicating the HTTP methods accepted by this view.

class TestView(ViewBase):
    request_schema = {"id": fields.Integer(required=True)}
    response_schema = {"id": fields.Integer(), "timestamp": fields.Integer()}
    methods = ["GET", "POST"]

    def handle_req(self, req: t.Dict[str, t.Any]) -> t.Any:
        return {
            "id": req["id"],
            "timestamp": int(time()),
        }

Fields

You can import fields from this package. It includes some field type defined in marshmallow, and the Nested type is rewritten to accept dict as parameter.

The detailed usage of the types in fields can be found on the homepage of marshmallow.

from nekoite_be_core import fields

# ...
request_schema = {
    "id": fields.Integer(required=True),
    ...
}

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

nekoite-be-core-0.1.4.tar.gz (6.6 kB view hashes)

Uploaded Source

Built Distribution

nekoite_be_core-0.1.4-py3-none-any.whl (9.1 kB view hashes)

Uploaded Python 3

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