Man pages sections > man1 > bottle

bottle - command line interface

BOTTLE(1) Bottle BOTTLE(1)


bottle - command line interface
Starting with version 0.10 you can use bottle as a command-line tool:
$ python -m bottle
Usage: [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 myapp.controller:app
# Start a self-reloading development server and serve the global # default application. The routes are defined in '' 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-2017, Marcel Hellkamp
January 10, 2017 0.12