The Wayback Machine - https://web.archive.org/web/20201123224217/https://github.com/guokr/swagger-py-codegen
Skip to content
master
Go to file
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
sc
Sep 12, 2018
Aug 16, 2017
Jun 28, 2018
Sep 13, 2018
May 25, 2017
tox
Aug 17, 2017
Oct 26, 2018
Aug 16, 2017
Aug 16, 2017
Apr 16, 2015
Aug 16, 2017
tox
Aug 17, 2017

README.md

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

You can’t perform that action at this time.