summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hellkamp <marc@gsites.de>2011-12-01 22:11:07 +0100
committerMarcel Hellkamp <marc@gsites.de>2011-12-01 22:13:54 +0100
commitb3d14ed6f79e8ff4fb241520ded3210aba36fec4 (patch)
tree062ed98aaf67b7b69c3d34d9133e2632d7957e65
parent3332f5a8eae8d7fad5f30629d752f6860aa79678 (diff)
downloadbottle-b3d14ed6f79e8ff4fb241520ded3210aba36fec4.tar.gz
docs: Command-line interface
-rwxr-xr-xbottle.py2
-rwxr-xr-xdocs/tutorial.rst47
2 files changed, 48 insertions, 1 deletions
diff --git a/bottle.py b/bottle.py
index d999cc2..376ea11 100755
--- a/bottle.py
+++ b/bottle.py
@@ -28,7 +28,7 @@ if __name__ == '__main__':
_opt("--version", action="store_true", help="show version number.")
_opt("-b", "--bind", metavar="ADDRESS", help="bind socket to ADDRESS.")
_opt("-s", "--server", default='wsgiref', help="use SERVER as backend.")
- _opt("-p", "--plugin", action="append", help="install additinal plugin/s.")
+ _opt("-p", "--plugin", action="append", help="install additional plugin/s.")
_opt("--debug", action="store_true", help="start server in debug mode.")
_opt("--reload", action="store_true", help="auto-reload on file changes.")
_cmd_options, _cmd_args = _cmd_parser.parse_args()
diff --git a/docs/tutorial.rst b/docs/tutorial.rst
index b74ed82..2be09c4 100755
--- a/docs/tutorial.rst
+++ b/docs/tutorial.rst
@@ -846,6 +846,53 @@ running on Windows or any other operating system not supporting
finally clauses, etc., are not executed after a ``SIGTERM``.
+Command Line Interface
+--------------------------------------------------------------------------------
+
+.. versionadded: 0.10
+
+Starting with version 0.10 you can use bottle as a command-line tool:
+
+.. code-block:: console
+
+ $ 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 :func:`load` for details. Here are some examples:
+
+.. code-block:: console
+
+ # Grap 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()''
+
+
.. _tutorial-deployment:
Deployment