*********************
Tutorial and Concepts
*********************

What is this tutorial about?
============================

This tutorial covers the basic steps for a newcomer to come to grips with
CherryPy's unique approach to web application development. After following
this tutorial, you will be able to understand how CherryPy
applications work, and also to implement simple but yet powerful applications
on your own. Some knowledge of the Python programming language is assumed.
One does not need to be an expert to work with CherryPy, but a good
understanding of object-oriented basics is strongly recommended.

This tutorial only covers the basic features of CherryPy, but it tries to
present them in a way that makes it easier for you to discover how to
use them. The CherryPy distribution comes with several good tutorial applications;
however, the best way to master CherryPy is to use it to write your own
Web applications. The embedded web server makes it easy for anyone not only
to try, but also to deploy local applications, or even small Internet-enabled
web sites. Try it, and let us know what you did with it!

Knowledge required
------------------

It is assumed that the user has:

 * Some knowledge of the Python programming language
 * Some experience with basic object oriented programming
 * Some knowledge of HTML, which is necessary to build the Web pages

Learning Python
---------------

As stated above, this is not a guide to the Python language. There are plenty of
good resources for those learning Python (just to name a few among the best:
`Python course in Bioinformatics <http://www.pasteur.fr/recherche/unites/sis/formation/python/>`_,
`A Byte Of Python <http://www.byteofpython.info/>`_ and
`Dive into Python <http://www.diveintopython.org/>`_).
The `official Python website <http://www.python.org>`_ lists some good
resources, including an excellent
`tutorial <http://docs.python.org/tut/tut.html>`_.

Start the Tutorial
==================

.. toctree::
   :maxdepth: 2

   basics
   exposing
   dispatching
   config
   tools
   engine

