The Web API toolkit. πŸ› 
Clone or download
Pull request Compare This branch is 7 commits ahead, 4 commits behind encode:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
docs-theme
docs
scripts
tests
webtypes
.codecov.yml
.coveragerc
.flake8
.gitignore
.isort.cfg
.travis.yml
LICENSE.md
Pipfile
Pipfile.lock
README.md
mkdocs.yml
requirements.txt
setup.py

README.md

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