Metadata-Version: 2.0
Name: falsy
Version: 2017.1.3.dev17
Summary: falcon.swagger.yaml
Home-page: UNKNOWN
Author: Jesse MENG (dameng/pingf)
Author-email: pingf0@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: License :: OSI Approved :: Apache Software License
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Dist: falcon
Requires-Dist: PyYAML
Requires-Dist: Jinja2
Requires-Dist: gunicorn

# falsy
FAL.S.Y

### description
  it's a api framework.
  using falcon, swagger, yaml together!

### license
  MIT and Apache v2

### showtime

![ScreenShot](https://raw.githubusercontent.com/pingf/falsy/master/demo.gif)


### how to install it
  `pip install falsy`

### how to use it
1. writting the server code(main.py)
  ```python
    from falsy.falsy import FALSY

    f = FALSY(static_path='test', static_dir='static')   #you need create the dir called static before you run
    f.begin_api()
    f.swagger('test.yml', ui=True,theme='impress') #impress theme is the responsive swagger ui, or you can use 'normal' here
    f.end_api()
    api = f.api
  ```
2. writting the yml file
  ```
  swagger: '2.0'
  info:
    title: FALSY SIMPLE DEMO API
    version: "0.1"
  consumes:
    - application/json
  produces:
    - application/json
  basePath: "/v1"
  paths:
    '/hello':
      get:
        tags: [Method]
        operationId: demo.get_it
        summary: testing
        parameters:
          - name: name
            in: query
            type: string
            default: 'john'
        responses:
          200:
            description: Return response
  ```

3. writting the operation handler(demo.py)
  ```python
  def get_it(name):
    return {
        'name': name
    }
  ```

4. run it
  `gunicorn -b 0.0.0.0:8001 main:api --reload -w 1 --threads 1`

5. visit the ui page
  `http://0.0.0.0:8001/v1/ui/`
  make sure it ends with '/'

### video demo

![ScreenShot](https://raw.githubusercontent.com/pingf/falsy/master/falsy.gif)



