Skip to main content

generate swagger spec from json (or yaml) file

Project description

https://travis-ci.org/podhmo/json2swagger.svg?branch=master
$ json2swagger --help

usage: json2swagger [-h] [--name NAME] [--annotations ANNOTATIONS]
                    [--show-minimap]
                    [--logging {CRITICAL,NOTSET,DEBUG,WARN,INFO,ERROR,WARNING}]
                    [--emit {schema,info}] [--dst DST]
                    src

positional arguments:
  src

optional arguments:
  -h, --help            show this help message and exit
  --name NAME
  --annotations ANNOTATIONS
  --show-minimap
  --logging {CRITICAL,NOTSET,DEBUG,WARN,INFO,ERROR,WARNING}
  --emit {schema,info}
  --dst DST

example

data.yaml

# from: https://github.com/nfarina/homebridge/blob/master/config-sample.json
bridge:
  name: Homebridge
  username: CC:22:3D:E3:CE:30
  port: 51826
  pin: 031-45-154
description: This is an example configuration file with one fake accessory and one
  fake platform. You can use this as a template for creating your own configuration
  file containing devices you actually own.
accessories:
- accessory: WeMo
  name: Coffee Maker
platforms:
- platform: PhilipsHue
  name: Hue
$ json2swagger examples/readme/data.yaml > examples/readme/swagger.yaml

swagger.yaml

definitions:
  bridge:
    type: object
    properties:
      name:
        type: string
        example: Homebridge
      username:
        type: string
        example: CC:22:3D:E3:CE:30
      port:
        type: integer
        example: 51826
      pin:
        type: string
        example: 031-45-154
    required:
    - name
    - username
    - port
    - pin
  accessoriesItem:
    type: object
    properties:
      accessory:
        type: string
        example: WeMo
      name:
        type: string
        example: Coffee Maker
    required:
    - accessory
    - name
  accessories:
    type: array
    items:
      $ref: '#/definitions/accessoriesItem'
  platformsItem:
    type: object
    properties:
      platform:
        type: string
        example: PhilipsHue
      name:
        type: string
        example: Hue
    required:
    - platform
    - name
  platforms:
    type: array
    items:
      $ref: '#/definitions/platformsItem'
  top:
    type: object
    properties:
      bridge:
        $ref: '#/definitions/bridge'
      description:
        type: string
        example: This is an example configuration file with one fake accessory and
          one fake platform. You can use this as a template for creating your own
          configuration file containing devices you actually own.
      accessories:
        $ref: '#/definitions/accessories'
      platforms:
        $ref: '#/definitions/platforms'
    required:
    - bridge
    - description
    - accessories
    - platforms

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

json2swagger-0.1.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

json2swagger-0.1.0-py2.py3-none-any.whl (6.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file json2swagger-0.1.0.tar.gz.

File metadata

File hashes

Hashes for json2swagger-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a9c5b41c412f0d3d694d56b951b390b08651dd069629c346b4104197111762d8
MD5 4dfef3b038df9c0fe61f1f887face607
BLAKE2b-256 cd583860a76550079ba58ffb75644313a92fb60ff4c52c1ae90f61fa1be50df6

See more details on using hashes here.

File details

Details for the file json2swagger-0.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for json2swagger-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3a94dea8a8378ddb3a936ef268a72c362685138067215034d12690bfe026560d
MD5 f552fc96626192aebda17f4251ca5924
BLAKE2b-256 62e8460a6b55f46e3c401ddd9ef78f2d7d5356742e60a7114f93a149a7f440bc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page