Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

guokr/swagger-py-codegen

Repository files navigation

Python RESTful Web Framework Generator

Build Status PyPi Version

Overview

Swagger Py Codegen is a Python web framework generator, which can help you generate a Python web framework automatically based on a given Swagger Specification doc. Currently, the following languages/frameworks are supported:

Alpha version for now, it may not handle all validation properly. If you found a bug, feel free to contact us.

Install

pip install swagger-py-codegen

Usage

Create all:

swagger_py_codegen --swagger-doc api.yml example-app

Command Options:

-s, --swagger-doc Swagger doc file. [required]
-f, --force Force overwrite.
-p, --package Package name / application name.
-t, --template-dir Path of your custom templates directory.
--spec, --specification Generate online specification json response.
--ui Generate swagger ui.
--validate Validate swagger file.
-tlp, --templates gen flask/tornado/falcon templates, default flask.
--version Show current version.
--help Show this message and exit.

Examples:

Generate example-app from api.yml:

Flask Example

$ swagger_py_codegen -s api.yml example-app -p demo
$ tree (flask-demo)
.
|__ api.yml
|__ example-app
 |__ demo
 | |__ __init__.py
 | |__ v1
 | |__ api
 | | |__ __init__.py
 | | |__ pets.py
 | | |__ pets_petId.py
 | |__ __init__.py
 | |__ routes.py
 | |__ schemas.py
 | |__ validators.py
 |__ requirements.txt

Tornado Example

$ swagger_py_codegen -s api.yml example-app -p demo -tlp=tornado
$ tree (tornado-demo)
.
|__ api.yml
|__ example-app
 |__ demo
 | |__ __init__.py
 | |__ core
 | |__ __init.py
 | |__ v1
 | |__ api
 | | |__ __init__.py
 | | |__ pets.py
 | | |__ pets_petId.py
 | |__ __init__.py
 | |__ routes.py
 | |__ schemas.py
 | |__ validators.py
 |__ requirements.txt

Falcon Example

$ swagger_py_codegen -s api.yml example-app -p demo -tlp=falcon
$ tree (falcon-demo)
.
|__ api.yml
|__ example-app
 |__ demo
 | |__ __init__.py
 | |__ v1
 | |__ api
 | | |__ __init__.py
 | | |__ pets.py
 | | |__ pets_petId.py
 | |__ __init__.py
 | |__ routes.py
 | |__ schemas.py
 | |__ validators.py
 |__ requirements.txt

Sanic Example

$ swagger_py_codegen -s api.yml example-app -p demo -tlp=sanic
$ tree (sanic-demo)
.
|__ api.yml
|__ example-app
 |__ demo
 | |__ __init__.py
 | |__ v1
 | |__ api
 | | |__ __init__.py
 | | |__ pets.py
 | | |__ pets_petId.py
 | |__ __init__.py
 | |__ routes.py
 | |__ schemas.py
 | |__ validators.py
 |__ requirements.txt

Run Web Server

Install example-app requirements:

$ cd example-app
$ pip install -r requirements.txt

Start example-app:

$ cd demo
$ python __init__.py

And generate example-app-ui from api.yml with ui:

$ swagger_py_codegen -s api.yml example-app-ui -p demo-ui --ui --spec

Then you can visit http://127.0.0.1:5000/static/swagger-ui/index.html in a browser.

OAuth2 Scopes Usage

See the wiki

Compatibility

component compatibility
OpenAPI Spec 2.0
Python 2.*, 3.*(Sanic only 3.*)

Authors

See the AUTHORS.

License

MIT

About

a Python web framework generator supports Flask, Tornado, Falcon, Sanic

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 15

AltStyle によって変換されたページ (->オリジナル) /