Skip to content
This repository has been archived by the owner on May 31, 2019. It is now read-only.

kobinpy/wsgicli

Repository files navigation

WSGICLI

image

image

Command Line Interface for developing WSGI application. This library has following features.

Run WSGI Application in wsgiref

  • Run wsgi application with specified host and port.
  • Serving Static files.
  • Live reloading.
  • line by line profiling.
  • Validating your WSGI application complying with PEP3333 compliance.

Run python interpreter

  • Supported interpreters are python(plain), ipython, bpython, ptpython and ptipython.
  • Automatically import SQLAlchemy and peewee models when run the interpreter.

Commands

Run command

Synopsis

$ wsgicli run [FILEPATH] [WSGIAPP] [Options]
No Arguments Environment Variable Description

1

FILEPATH WSGICLI_FILE The file path for your WSGI application.

2

WSGIAPP WSGICLI_WSGI_APP The variable name of your wsgi application object.
Options Environment Variable Default Description
-h --host WSGICLI_HOST 127.0.0.1 The hostname to bind to.
-p --port WSGICLI_PORT 8000 The port to bind to.
--reload / --no-reload WSGICLI_RELOAD False Enable live reloading.
--interval WSGICLI_INTERVAL 1 Interval time to check file changed for reloading (sec).
--static / --no-static WSGICLI_STATIC False Enable static file serving.
--static-root WSGICLI_STATIC_ROOT /static/ URL path to static files.
--static-dirs WSGICLI_STATIC_DIRS ['./static/'] Directories to static files (multiple).
--lineprof / --no-lineprof WSGICLI_LINEPROF False Enable line profiler.
--lineprof-file WSGICLI_LINEPROF_FILE WSGIAPP(2nd arg) The filename profiled by line-profiler.

--validate / --no-validate --help

WSGICLI_VALIDATE

False

Validating your WSGI application complying with PEP3333. Show help text.

Example

$ wsgicli run main.py app -p 8080 --reload

WSGICLI Run Command DEMO

Shell command

Synopsis

$ wsgicli shell [FILEPATH] [WSGIAPP] [Options]
No Arguments Environment Variable Description

1

FILEPATH WSGICLI_FILE_PATH The file path for your WSGI application.

2

WSGIAPP WSGICLI_WSGI_APP The variable name of your wsgi application object.
Options Environment Variable Default Description
-i --interpreter WSGICLI_INTERPRETER 'python' Supported interpreters are ipython, bpython, ptpython and ptipython.

--models / --no-models --help

WSGICLI_MODELS

True

Automatically import ORM table definition from your app. Show help text.

Example

$ wsgicli shell main.py app --interpreter ipython

WSGICLI Run Command DEMO

Requirements

  • Python 3.3 or later
  • click
  • wsgi-static-middleware
  • wsgi-lineprof

License

This software is licensed under the MIT License.