diff --git a/README.rst b/README.rst index 7f85e71c1..2539dd86d 100644 --- a/README.rst +++ b/README.rst @@ -13,7 +13,7 @@ .. image:: https://coveralls.io/repos/github/bottlepy/bottle/badge.svg?branch=master :target: https://coveralls.io/github/bottlepy/bottle?branch=master - :alt: Coverage + :alt: Coverage .. image:: https://img.shields.io/pypi/dm/bottle.svg :target: https://pypi.python.org/pypi/bottle/ @@ -47,7 +47,7 @@ Bottle is a fast, simple and lightweight WSGI_ micro web-framework for Python_. * **Routing:** Requests to function-call mapping with support for clean and dynamic URLs. * **Templates:** Fast and pythonic `*built-in template engine* `_ and support for mako_, jinja2_ and cheetah_ templates. * **Utilities:** Convenient access to form data, file uploads, cookies, headers and other HTTP-related metadata. -* **Server:** Built-in HTTP development server and support for paste_, fapws3_, bjoern_, `Google App Engine `_, cherrypy_ or any other WSGI_ capable HTTP server. +* **Server:** Built-in HTTP development server and support for paste_, fapws3_, bjoern_, `Google App Engine `_, cherrypy_ (<= 9.0.0) or any other WSGI_ capable HTTP server. Homepage and documentation: http://bottlepy.org diff --git a/docs/index.rst b/docs/index.rst index a6a23f862..b1ca4d167 100755 --- a/docs/index.rst +++ b/docs/index.rst @@ -26,7 +26,7 @@ Bottle is a fast, simple and lightweight WSGI_ micro web-framework for Python_. * **Routing:** Requests to function-call mapping with support for clean and dynamic URLs. * **Templates:** Fast and pythonic :ref:`built-in template engine ` and support for mako_, jinja2_ and cheetah_ templates. * **Utilities:** Convenient access to form data, file uploads, cookies, headers and other HTTP-related metadata. -* **Server:** Built-in HTTP development server and support for paste_, fapws3_, bjoern_, gae_, cherrypy_ or any other WSGI_ capable HTTP server. +* **Server:** Built-in HTTP development server and support for paste_, fapws3_, bjoern_, gae_, cherrypy_ (<= 9.0.0) or any other WSGI_ capable HTTP server. .. rubric:: Example: "Hello World" in a bottle @@ -115,4 +115,3 @@ the unmodified library. In all other cases please ask first. .. rubric:: Footnotes .. [1] Usage of the template or server adapter classes requires the corresponding template or server modules. - diff --git a/docs/recipes.rst b/docs/recipes.rst index 168e26d2f..c93551ead 100755 --- a/docs/recipes.rst +++ b/docs/recipes.rst @@ -15,7 +15,7 @@ Recipes ============= -This is a collection of code snippets and examples for common use cases. +This is a collection of code snippets and examples for common use cases. Keeping track of Sessions ---------------------------- @@ -48,7 +48,7 @@ Debugging with Style: Debugging Middleware Bottle catches all Exceptions raised in your app code to prevent your WSGI server from crashing. If the built-in :func:`debug` mode is not enough and you need exceptions to propagate to a debugging middleware, you can turn off this behaviour:: import bottle - app = bottle.app() + app = bottle.app() app.catchall = False #Now most exceptions are re-raised within bottle. myapp = DebuggingMiddleware(app) #Replace this with a middleware of your choice (see below) bottle.run(app=myapp) @@ -66,7 +66,7 @@ Unit-testing is usually performed against methods defined in your web applicatio A simple example using `Nose `_:: import bottle - + @bottle.route('/') def index(): return 'Hi!' @@ -77,7 +77,7 @@ A simple example using `Nose `_:: Test script:: import mywebapp - + def test_webapp_index(): assert mywebapp.index() == 'Hi!' @@ -96,7 +96,7 @@ Example using `WebTest `_ and `Nose `_, -with Bottle specific code replacing the -`Write Your App `_ -section of the `Getting Started with Python on Heroku/Cedar +This recipe is based upon the `Heroku Quickstart +`_, +with Bottle specific code replacing the +`Write Your App `_ +section of the `Getting Started with Python on Heroku/Cedar `_ guide:: import os diff --git a/docs/tutorial.rst b/docs/tutorial.rst index 764243b16..bd5c15f16 100755 --- a/docs/tutorial.rst +++ b/docs/tutorial.rst @@ -1032,7 +1032,7 @@ Deployment Bottle runs on the built-in `wsgiref WSGIServer `_ by default. This non-threading HTTP server is perfectly fine for development, but may become a performance bottleneck when server load increases. -The easiest way to increase performance is to install a multi-threaded server library like paste_ or cherrypy_ and tell Bottle to use that instead of the single-threaded server:: +The easiest way to increase performance is to install a multi-threaded server library like paste_ or cherrypy_ (<= 9.0.0) and tell Bottle to use that instead of the single-threaded server:: bottle.run(server='paste') @@ -1071,4 +1071,3 @@ Glossary source directory The directory which, including its subdirectories, contains all source files for one Sphinx project. - diff --git a/docs/tutorial_app.rst b/docs/tutorial_app.rst index b24ac27e9..0803e8b84 100644 --- a/docs/tutorial_app.rst +++ b/docs/tutorial_app.rst @@ -486,7 +486,7 @@ The ``port`` and ``host`` parameter can also be applied when Bottle is running w As said above, the standard server is perfectly suitable for development, personal use or a small group of people only using your application based on Bottle. For larger tasks, the standard server may become a bottleneck, as it is single-threaded, thus it can only serve one request at a time. -But Bottle has already various adapters to multi-threaded servers on board, which perform better on higher load. Bottle supports Cherrypy_, Fapws3_, Flup_ and Paste_. +But Bottle has already various adapters to multi-threaded servers on board, which perform better on higher load. Bottle supports Cherrypy_ (<= 9.0.0), Fapws3_, Flup_ and Paste_. If you want to run for example Bottle with the Paste server, use the following code:: diff --git a/test/travis-requirements.txt b/test/travis-requirements.txt index a796c908a..4262a9c1f 100644 --- a/test/travis-requirements.txt +++ b/test/travis-requirements.txt @@ -5,7 +5,7 @@ jinja2 # Server Backends meinheld bjoern -cherrypy +cherrypy<9.0.0 diesel eventlet fapws3==0.11.dev diff --git a/test/travis_setup.sh b/test/travis_setup.sh index e74be8f80..45dcfb03d 100755 --- a/test/travis_setup.sh +++ b/test/travis_setup.sh @@ -6,9 +6,9 @@ set -x sudo apt-get install libev-dev if [[ $TRAVIS_PYTHON_VERSION == 2.7 ]]; then - pip install flup waitress cherrypy paste fapws3 tornado twisted diesel meinheld gunicorn eventlet gevent rocket bjoern + pip install flup waitress cherrypy<9.0.0 paste fapws3 tornado twisted diesel meinheld gunicorn eventlet gevent rocket bjoern fi if [[ $TRAVIS_PYTHON_VERSION == 3.5 ]]; then - pip install waitress cherrypy paste tornado twisted diesel meinheld gunicorn eventlet gevent uvloop + pip install waitress cherrypy<9.0.0 paste tornado twisted diesel meinheld gunicorn eventlet gevent uvloop fi