Skip to content
/ falsy Public

FAL.S.Y python api framework(the framework for using falcon, swagger, yaml together)

License

Notifications You must be signed in to change notification settings

pingf/falsy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

falsy

FAL.S.Y

description

it's an api framework.
using falcon, swagger, yaml together!

license

MIT and Apache v2

showtime

ScreenShot

how to install it

pip install falsy

how to use it

  1. create the dir for static

    mkdir static

  2. writting the server code(main.py)

    from falsy.falsy import FALSY
    
    f = FALSY()   #you need create the dir called static before you run
    f.swagger('test.yml', ui=True, theme='impress') #impress theme is the responsive swagger ui, or you can use 'normal' here
    api = f.api
  3. 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
    
  4. writting the operation handler(demo.py)

    def get_it(name):
        return {
            'get': name
        }
  5. run it

    gunicorn -b 0.0.0.0:8001 main:api --reload -w 1 --threads 1

  6. visit the ui page

    http://0.0.0.0:8001/v1/ui/ make sure it ends with '/'

video demo

ScreenShot

extensions

there some improvements compare to standard swagger, 
you can define `operationId` for handler, 'beforeId' and 'afterId' for aop hooks,
and 'validationId' for validator, see the files in demo dir for details.

About

FAL.S.Y python api framework(the framework for using falcon, swagger, yaml together)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages