abetkin / webtypes

The Web API toolkit. πŸ› 

Home Page:https://abetkin.github.io/webtypes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

webtypes

A smart Web API framework, for Python 3.

Build Status codecov Package version


Community: https://discuss.apistar.org πŸ€” πŸ’­ πŸ€“ πŸ’¬ 😎

Documentation: https://abetkin.github.io/webtypes πŸ“˜


Features

Why might you consider using webtypes for your next Web API project?

  • Schema generation - Support for automatically generating OpenAPI schemas.
  • Expressive - Type annotated views, that make for expressive, testable code.
  • Performance - Dynamic behaviour for determining how to run each view makes webtypes incredibly efficient.
  • Throughput - Support for asyncio allows for building high-throughput non-blocking applications.

Quickstart

Install webtypes:

$ pip3 install webtypes

Create a new project in app.py:

from webtypes import App, Route


def welcome(name=None):
    if name is None:
        return {'message': 'Welcome to webtypes!'}
    return {'message': 'Welcome to webtypes, %s!' % name}


routes = [
    Route('/', method='GET', handler=welcome),
]

app = App(routes=routes)


if __name__ == '__main__':
    app.serve('127.0.0.1', 5000, debug=True)

Open http://127.0.0.1:5000/docs/ in your browser:

API documentation


webtypes is BSD licensed code.

webtypes

About

The Web API toolkit. πŸ› 

https://abetkin.github.io/webtypes

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 76.3%Language:CSS 12.0%Language:HTML 10.6%Language:JavaScript 0.8%Language:Shell 0.4%