bottle - command line interface
Starting with version 0.10 you can use bottle as a command-line tool:
$ python -m bottle
Usage: bottle.py [options] package.module:app
Options:
-h, --help show this help message and exit
--version show version number.
-b ADDRESS, --bind=ADDRESS
bind socket to ADDRESS.
-s SERVER, --server=SERVER
use SERVER as backend.
-p PLUGIN, --plugin=PLUGIN
install additional plugin/s.
--debug start server in debug mode.
--reload auto-reload on file changes.
The
ADDRESS field takes an IP address or an IP:PORT pair and defaults to
localhost:8080. The other parameters should be self-explanatory.
Both plugins and applications are specified via import expressions. These
consist of an import path (e.g.
package.module) and an expression to be
evaluated in the namespace of that module, separated by a colon. See
load() for details. Here are some examples:
# Grab the 'app' object from the 'myapp.controller' module and
# start a paste server on port 80 on all interfaces.
python -m bottle -server paste -bind 0.0.0.0:80 myapp.controller:app
# Start a self-reloading development server and serve the global
# default application. The routes are defined in 'test.py'
python -m bottle --debug --reload test
# Install a custom debug plugin with some parameters
python -m bottle --debug --reload --plugin 'utils:DebugPlugin(exc=True)'' test
# Serve an application that is created with 'myapp.controller.make_app()'
# on demand.
python -m bottle 'myapp.controller:make_app()''
Marcel Hellkamp, Federico Ceratto
2009-2023, Marcel Hellkamp