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.
pip install swagger-py-codegen
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.
Generate example-app from api.yml:
$ 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
$ 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
$ 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
$ 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
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.
See the wiki
component | compatibility |
---|---|
OpenAPI Spec | 2.0 |
Python | 2.*, 3.*(Sanic only 3.*) |
See the AUTHORS.
MIT
swagger 简介 swagger是一组开源项目,其中主要项目及功能如下: 1.Swagger codegen:通过Codegen可以将描述文件生成HTML格式和cwiki形式的接口文档, 同时也能生成多种语言的服务端和客户端代码。支持通过jar包,docker,node等方式在本地化执行生成,也可以在后面SwaggerEditor在线生成 2.Swagger UI:提供了一个可视化的UI页
解决swagger几种报错问题 参考文章: (1)解决swagger几种报错问题 (2)https://www.cnblogs.com/wangxc20181130/p/10186195.html (3)https://www.codeprj.com/blog/9b6dd31.html 备忘一下。
Py++ is an object-oriented framework for creating a code generator for the Boost.Python library.
py 是为 Erlang 生态系统准备的分布式 Python。该项目有两个主要特性: Python 的简单封装接口,封装了 ErlPort 调用,可方便地进行: 进行模块级调用 获取模块级常量 实例化对象 调用对象方法 获取对象属性 使用方便的包装器调用内置函数和运算符 在分布式环境中运行 Python 的方法,充分利用 Erlang 的优势,包括容错、可伸缩、并发、实时等特性
init.py
neutron_plugin_base_v2.py Neutron plugin的抽象基础类,是实现plugin的参考和基础,它定义了实现一个neutron plugin所需的基本接口。 包括下面的方法: 属性 Create Delete Read Update port Y Y Y Y ports Y ports_count Y network Y Y Y Y networks Y networ
ovs_models_v2.py 定义了继承自model_base.BASEV2的四个类。 NetworkBinding代表虚拟网和物理网的绑定。 TunnelAllocation代表隧道id的分配状态。 TunnelEndpoint代表隧道的一个端点。 VlanAllocation代表物理网上的vlan id的分配状态。 这些模型类供ovs_db_v2.py进行使用。
quotasv2.py QuotaSetsController类,继承自wsgi.Controller。 Quotasv2扩展类,继承自extensions.ExtensionDescriptor,提供quotas管理支持。