Commits

Robert Brewer  committed f83d66a

New Sphinx documentation!

  • Participants
  • Parent commits b07359d

Comments (0)

Files changed (9)

File sphinx/Makefile

+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS    =
+SPHINXBUILD   = sphinx-build
+PAPER         =
+BUILDDIR      = build
+
+# Internal variables.
+PAPEROPT_a4     = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+
+.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
+
+help:
+	@echo "Please use \`make <target>' where <target> is one of"
+	@echo "  html      to make standalone HTML files"
+	@echo "  dirhtml   to make HTML files named index.html in directories"
+	@echo "  pickle    to make pickle files"
+	@echo "  json      to make JSON files"
+	@echo "  htmlhelp  to make HTML files and a HTML help project"
+	@echo "  qthelp    to make HTML files and a qthelp project"
+	@echo "  latex     to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+	@echo "  changes   to make an overview of all changed/added/deprecated items"
+	@echo "  linkcheck to check all external links for integrity"
+	@echo "  doctest   to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+	-rm -rf $(BUILDDIR)/*
+
+html:
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+pickle:
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files."
+
+json:
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+	@echo
+	@echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+	@echo
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
+	      ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+	@echo
+	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
+	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/CherryPy.qhcp"
+	@echo "To view the help file:"
+	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/CherryPy.qhc"
+
+latex:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo
+	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+	@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
+	      "run these through (pdf)latex."
+
+changes:
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+	@echo
+	@echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+	@echo
+	@echo "Link check complete; look for any errors in the above output " \
+	      "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+	@echo "Testing of doctests in the sources finished, look at the " \
+	      "results in $(BUILDDIR)/doctest/output.txt."

File sphinx/make.bat

+@ECHO OFF
+
+REM Command file for Sphinx documentation
+
+set SPHINXBUILD=sphinx-build
+set BUILDDIR=build
+set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source
+if NOT "%PAPER%" == "" (
+	set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
+)
+
+if "%1" == "" goto help
+
+if "%1" == "help" (
+	:help
+	echo.Please use `make ^<target^>` where ^<target^> is one of
+	echo.  html      to make standalone HTML files
+	echo.  dirhtml   to make HTML files named index.html in directories
+	echo.  pickle    to make pickle files
+	echo.  json      to make JSON files
+	echo.  htmlhelp  to make HTML files and a HTML help project
+	echo.  qthelp    to make HTML files and a qthelp project
+	echo.  latex     to make LaTeX files, you can set PAPER=a4 or PAPER=letter
+	echo.  changes   to make an overview over all changed/added/deprecated items
+	echo.  linkcheck to check all external links for integrity
+	echo.  doctest   to run all doctests embedded in the documentation if enabled
+	goto end
+)
+
+if "%1" == "clean" (
+	for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
+	del /q /s %BUILDDIR%\*
+	goto end
+)
+
+if "%1" == "html" (
+	%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%/html.
+	goto end
+)
+
+if "%1" == "dirhtml" (
+	%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
+	goto end
+)
+
+if "%1" == "pickle" (
+	%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
+	echo.
+	echo.Build finished; now you can process the pickle files.
+	goto end
+)
+
+if "%1" == "json" (
+	%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
+	echo.
+	echo.Build finished; now you can process the JSON files.
+	goto end
+)
+
+if "%1" == "htmlhelp" (
+	%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
+	echo.
+	echo.Build finished; now you can run HTML Help Workshop with the ^
+.hhp project file in %BUILDDIR%/htmlhelp.
+	goto end
+)
+
+if "%1" == "qthelp" (
+	%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
+	echo.
+	echo.Build finished; now you can run "qcollectiongenerator" with the ^
+.qhcp project file in %BUILDDIR%/qthelp, like this:
+	echo.^> qcollectiongenerator %BUILDDIR%\qthelp\CherryPy.qhcp
+	echo.To view the help file:
+	echo.^> assistant -collectionFile %BUILDDIR%\qthelp\CherryPy.ghc
+	goto end
+)
+
+if "%1" == "latex" (
+	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
+	echo.
+	echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
+	goto end
+)
+
+if "%1" == "changes" (
+	%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
+	echo.
+	echo.The overview file is in %BUILDDIR%/changes.
+	goto end
+)
+
+if "%1" == "linkcheck" (
+	%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
+	echo.
+	echo.Link check complete; look for any errors in the above output ^
+or in %BUILDDIR%/linkcheck/output.txt.
+	goto end
+)
+
+if "%1" == "doctest" (
+	%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
+	echo.
+	echo.Testing of doctests in the sources finished, look at the ^
+results in %BUILDDIR%/doctest/output.txt.
+	goto end
+)
+
+:end

File sphinx/source/conf.py

+# -*- coding: utf-8 -*-
+#
+# CherryPy documentation build configuration file, created by
+# sphinx-quickstart on Sat Feb 20 09:18:03 2010.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.append(os.path.abspath('.'))
+
+# -- General configuration -----------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = ['sphinx.ext.autodoc', 'sphinx.ext.todo']
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'CherryPy'
+copyright = u'2010, CherryPy Team'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+import cherrypy
+version = cherrypy.__version__
+# The full version, including alpha/beta/rc tags.
+release = cherrypy.__version__
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of documents that shouldn't be included in the build.
+#unused_docs = []
+
+# List of directories, relative to source directory, that shouldn't be searched
+# for source files.
+exclude_trees = []
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+
+# -- Options for HTML output ---------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  Major themes that come with
+# Sphinx are currently 'default' and 'sphinxdoc'.
+html_theme = 'default'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = []
+
+# The name for this set of Sphinx documents.  If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar.  Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_use_modindex = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it.  The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = ''
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'CherryPydoc'
+
+
+# -- Options for LaTeX output --------------------------------------------------
+
+# The paper size ('letter' or 'a4').
+#latex_paper_size = 'letter'
+
+# The font size ('10pt', '11pt' or '12pt').
+#latex_font_size = '10pt'
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, documentclass [howto/manual]).
+latex_documents = [
+  ('index', 'CherryPy.tex', u'CherryPy Documentation',
+   u'CherryPy Team', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# Additional stuff for the LaTeX preamble.
+#latex_preamble = ''
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_use_modindex = True

File sphinx/source/index.rst

+CherryPy Documentation
+====================================
+
+Contents:
+
+.. toctree::
+   :maxdepth: 3
+   :glob:
+
+   intro/*
+   modules/*
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+

File sphinx/source/intro/install.rst

+************
+Installation
+************
+
+Prerequisites
+=============
+
+All you need is a working version of Python-2.3 or later on your computer.
+
+Stable versions
+===============
+
+Download
+--------
+
+You may download this version from http://download.cherrypy.org/cherrypy/3.2.0rc1/
+
+For other releases, browse our
+`download index <http://download.cherrypy.org/ download index>`_.
+
+Install
+-------
+
+* Download the latest CherryPy release from the
+  `repository <http://download.cherrypy.org/cherrypy/>`_.
+* Unzip/untar the files.
+* Go to the directory created by the file extraction.
+* Type "python setup.py install" to install the CherryPy module
+* To run your first sample website, go to cherrypy/tutorial/ and type
+  "python tut01_helloworld.py", and you'll have a running website on port 8080.
+* Open your favorite browser and point it to http://localhost:8080 to see your
+  first CherryPy-served page :-)
+
+Now, you should try running some of the other tutorials found in the tutorial
+directory and look at their source code to understand how to develop a website
+with CherryPy.
+
+Debian installation::
+
+    $ apt-get install python python-dev
+    $ python setup.py install
+
+Development versions
+====================
+
+CherryPy's source code is managed using `Subversion <http://subversion.tigris.org>`_,
+a source code control system.
+
+You can access our Subversion repository using your favorite Subversion client
+at http://svn.cherrypy.org
+
+For Windows users, we recommend the wonderful Subversion client
+`TortoiseSVN <http://tortoisesvn.tigris.org/>`_. Users of other operating
+systems are advised to use multi-platform, Qt-based
+`eSVN <http://esvn.umputun.com/>`_ or the command line tools provided by the
+`core Subversion distribution <http://subversion.tigris.org/>`_.
+
+Note: In some cases http access fails with the error 'Cannot checkout' even
+though the web interface works fine. This is usually because of a proxy between
+you and the server which doesn't support all the access methods that SVN needs.
+Many ISPs insert a transparent proxy on all http traffic, causing this problem.
+The solution is to switch to https access so the proxy cannot interfere.
+
+You may also browse present and past versions of CherryPy source code,
+inspect change sets, and even follow changes to specific trees/files using
+RSS feeds. This web interface is located at http://www.cherrypy.org/browser/
+
+Usage notes
+-----------
+
+* The repository is open for anonymous read-only access. CherryPy developers
+  have write permissions. To obtain write permission, please contact fumanchu via
+  email or IRC.
+* The repository follows the standard trunk/branches/tags structure that is
+  recommended in the Subversion documentation:
+
+   * ``trunk`` contains the official development code. Please do not checkin
+     any code on trunk that is untested, or that breaks the test suite.
+   * ``branches`` contain experimental branches. Patches for complex tickets
+     may also be developed and tested on a branch, to allow for easier
+     collaboration during test of inherently unstable features.
+   * ``tags`` contain frozen, known quality releases.
+
+Configuring the Subversion client
+---------------------------------
+
+Popular Subversion clients, including TortoiseSVN and the standard command line
+tools, are configurable by editing a standard ``config`` file. The file is
+stored at:
+
+  * **Linux**: ``~/.subversion/config``
+  * **Windows XP, 2000, NT**: ``%APPDATA%\Subversion\config``
+  * **Windows 98 (and possibly ME also)**: ``\Windows\Application Data\Subversion\config``
+
+Configuration is necessary because line endings do matter for Subversion, and
+different code editors and IDEs use different conventions. This problem can be
+solved by telling Subversion to automatically map the line endings of the code
+in the repository to the conventions of your local install. The configuration
+file should contain the following entries::
+
+    [miscellany]
+    global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store *.pyc
+    enable-auto-props = yes
+
+    [auto-props]
+    *.py = svn:eol-style=native
+    README.* = svn:eol-style=CRLF
+    *.TXT = svn:eol-style=CRLF
+
+The miscellany section contains two important settings: first, it tells
+Subversion to ignore pyc files (in addition to the standard files it already
+ignores); and also, it enables the auto-props section, which in turn provides
+the standard line-ending convention.
+
+Standalone WSGI server
+----------------------
+
+The WSGI server that comes bundled with CherryPy is available as a standalone
+module.  Feel free to use it for all of your WSGI serving needs.
+

File sphinx/source/intro/intro.rst

+Introduction
+************
+
+Why choose CherryPy?
+====================
+
+Let's face it: there are **dozens** of different Python web frameworks. Why would you want to choose CherryPy for your next dynamic Web project?
+
+1. Simplicity
+-------------
+
+Developing with CherryPy is a simple task. "Hello, world" is only a few lines long, and does not require the developer to learn the entire (albeit very manageable) framework all at once. The framework is very pythonic, that is, it follows Python's conventions very nicely (code is sparse and clean).
+
+Contrast this with J2EE and Python's most popular and visible web frameworks: Django, Zope, Pylons, and Turbogears. In all of them, the learning curve is massive. In these frameworks, "Hello, world" requires the programmer to set up a large scaffold which spans multiple files and to type a lot of boilerplate code. CherryPy succeeds because it does not include the bloat of other frameworks, allowing the programmer to write their web application quickly while still maintaining a high level of organization and scalability.
+
+CherryPy is also very modular. The core is fast and clean, and extension features are easy to write and plug in using code or the elegant config system. The primary components (server, engine, request, response, etc.) are all extendable (even replaceable) and well-managed.
+
+In short, CherryPy empowers the developer to work with the framework, not against or around it.
+
+2. Power
+--------
+
+CherryPy leverages all of the power of Python. Python is a dynamic langauge which allows for rapid development of applications. Python also has an extensive built-in API which simplifies web app development. Even more extensive, however, are the third-party libraries available for Python. These range from object-relational mappers to form libraries, to an automatic Python optimizer, a Windows exe generator, imaging libraries, email support, HTML templating engines, etc. CherryPy applications are just like regular Python applications. CherryPy does not stand in your way if you want to use these brilliant tools.
+
+CherryPy also provides an object publisher, sessions, aspects and filters, which are the powerful tools needed to develop world-class web applications.
+
+3. Maturity
+-----------
+
+Maturity is extremely important when developing a real-world application. Unlike many other web frameworks, CherryPy has a final, stable release. It is fully bugtested, optimized, and proven reliable for real-world use. The API will not suddenly change and break backwards compatibility, so your applications are assured to continue working even through subsequent updates in the current version series.
+
+CherryPy is also a "3.0" project: the first edition of CherryPy set the tone, the second edition made it work, and the third edition makes it beautiful. Each version built on lessons learned from the previous, bringing the developer a superior tool for the job.
+
+4. Community
+------------
+
+CherryPy has an active community that develops deployed CherryPy applications and are willing and ready to assist you on the CherryPy mailing list or IRC. The developers also frequent the list and often answer questions and implement features requested by the end-users.
+
+5. Deployability
+----------------
+
+Unlike many other Python web frameworks, there are cost-effective ways to deploy your CherryPy application.
+
+Out of the box, CherryPy includes its own production-ready application server to host your application. If the application needs to be deployed on Apache, there is copious documentation discussing how to connect the two. CherryPy can also be deployed on any WSGI-compliant gateway (a technology for interfacing numerous types of web servers): mod_wsgi, FastCGI, SCGI, IIS, etc.
+
+In addition, CherryPy is pure-python and is compatible with Python 2.3. This means that CherryPy will run on all major platforms that Python will run on (Windows, MacOSX, Linux, BSD, etc).
+
+[http://www.webfaction.com Webfaction.com], run by the inventor of CherryPy, is a commercial web host that offers CherryPy hosting packages (in addition to several others).
+
+6. It's free!
+-------------
+
+All of CherryPy is licensed under the open-source BSD license, which means '''CherryPy can be used commercially for ZERO cost'''.
+
+7. Where to go from here?
+-------------------------
+
+Check out the [wiki:CherryPyTutorial CherryPy tutorial], and [wiki:TableOfContents Table of Contents] for more complete documentation.
+

File sphinx/source/intro/license.rst

+**********************
+CherryPy License (BSD)
+**********************
+
+::
+
+    Copyright (c) 2002-2010, CherryPy Team (team@cherrypy.org)
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without modification, 
+    are permitted provided that the following conditions are met:
+
+        * Redistributions of source code must retain the above copyright notice, 
+          this list of conditions and the following disclaimer.
+        * Redistributions in binary form must reproduce the above copyright notice, 
+          this list of conditions and the following disclaimer in the documentation 
+          and/or other materials provided with the distribution.
+        * Neither the name of the CherryPy Team nor the names of its contributors 
+          may be used to endorse or promote products derived from this software 
+          without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 
+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
+    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+

File sphinx/source/modules/cherrypy.rst

+
+:mod:`cherrypy`
+=================
+
+.. automodule:: cherrypy
+
+
+Classes
+-------
+
+.. autoclass:: HTTPError
+   :members:
+
+.. autoclass:: HTTPRedirect
+   :members:
+
+.. autoclass:: InternalRedirect
+   :members:
+
+.. autoclass:: NotFound
+   :members:
+
+.. autoclass:: CherryPyException
+   :members:
+
+.. autoclass:: TimeoutError
+   :members:
+
+
+Functions
+----------
+
+.. autofunction:: expose
+
+.. autofunction:: quickstart
+
+.. autofunction:: url
+

File sphinx/source/modules/dispatch.rst

+
+:mod:`cherrypy.dispatch` -- Mapping URI's to handlers
+======================================================
+
+.. automodule:: cherrypy._cpdispatch
+
+.. autoclass:: PageHandler
+   :members:
+
+.. autoclass:: LateParamPageHandler
+   :members:
+
+.. autoclass:: Dispatcher
+   :members:
+
+.. autoclass:: MethodDispatcher
+   :members:
+
+.. autoclass:: RoutesDispatcher
+   :members:
+
+.. autoclass:: XMLRPCDispatcher
+   :members:
+
+.. autoclass:: VirtualHost
+   :members:
+
+