.. _index:
=================================================
The Pyramid Web Application Development Framework
=================================================
:app:`Pyramid` is a small, fast, down-to-earth Python web application
development framework. It is developed as part of the `Pylons Project
`_. It is licensed under a `BSD-like license
`_.
Here is one of the simplest :app:`Pyramid` applications you can make:
.. literalinclude:: narr/helloworld.py
After you install :app:`Pyramid` and run this application, when you visit
``http://localhost:8080/hello/world`` in a browser, you will see the text
``Hello, world!``
See :ref:`firstapp_chapter` for a full explanation of how this application
works. Read the :ref:`html_narrative_documentation` to understand how
:app:`Pyramid` is designed to scale from simple applications like this to
very large web applications.
Front Matter
============
.. toctree::
:maxdepth: 1
copyright.rst
conventions.rst
What's New
==========
.. toctree::
:maxdepth: 1
whatsnew-1.4
whatsnew-1.3
whatsnew-1.2
whatsnew-1.1
whatsnew-1.0
.. _html_narrative_documentation:
Narrative documentation
=======================
Narrative documentation in chapter form explaining how to use
:app:`Pyramid`.
.. toctree::
:maxdepth: 2
narr/introduction
narr/install
narr/firstapp
narr/configuration
narr/project
narr/startup
narr/router
narr/urldispatch
narr/views
narr/renderers
narr/templates
narr/viewconfig
narr/assets
narr/webob
narr/sessions
narr/events
narr/environment
narr/logging
narr/paste
narr/commandline
narr/i18n
narr/vhosting
narr/testing
narr/resources
narr/hellotraversal
narr/muchadoabouttraversal
narr/traversal
narr/security
narr/hybrid
narr/subrequest
narr/hooks
narr/introspector
narr/extending
narr/advconfig
narr/extconfig
narr/scaffolding
narr/upgrading
narr/threadlocals
narr/zca
Tutorials
=========
Tutorials explaining how to use :app:`Pyramid` to build various types of
applications, and how to deploy :app:`Pyramid` applications to various
platforms.
.. toctree::
:maxdepth: 2
tutorials/wiki2/index.rst
tutorials/wiki/index.rst
tutorials/bfg/index.rst
tutorials/modwsgi/index.rst
API Documentation
==================
Documentation for every :app:`Pyramid` API.
.. toctree::
:maxdepth: 2
api
Change History
==============
.. toctree::
:maxdepth: 1
changes
Design Documents
================
.. toctree::
:maxdepth: 1
designdefense
Sample Applications
===================
`cluegun `_ is a simple pastebin
application based on Rocky Burt's `ClueBin
`_. It demonstrates form
processing, security, and the use of :term:`ZODB` within a :app:`Pyramid`
application. Check this application out via:
.. code-block:: text
git clone git://github.com/Pylons/cluegun.git
`virginia `_ is a very simple dynamic
file rendering application. It is willing to render structured text
documents, HTML documents, and images from a filesystem directory.
It's also a good example of :term:`traversal`. An
earlier version of this application runs the `repoze.org
`_ website. Check this application out via:
.. code-block:: text
git clone git://github.com/Pylons/virginia.git
`shootout `_ is an example "idea
competition" application by Carlos de la Guardia and Lukasz Fidosz. It
demonstrates :term:`URL dispatch`, simple authentication, integration
with `SQLAlchemy `_ and ``pyramid_simpleform``.
Check this application out of version control via:
.. code-block:: text
git clone git://github.com/Pylons/shootout.git
`KARL `_ is a moderately-sized application (roughly
80K lines of Python code) built on top of :app:`Pyramid`. It is an open
source web system for collaboration, organizational intranets, and knowledge
management. It provides facilities for wikis, calendars, manuals, searching,
tagging, commenting, and file uploads. See the `KARL site
`_ for download and installation details.
Support and Development
=======================
The `Pylons Project web site `_ is the main online
source of :app:`Pyramid` support and development information.
To report bugs, use the `issue tracker
`_.
If you've got questions that aren't answered by this documentation,
contact the `Pylons-discuss maillist
`_ or join the `#pyramid
IRC channel `_.
Browse and check out tagged and trunk versions of :app:`Pyramid` via
the `Pyramid GitHub repository `_.
To check out the trunk via ``git``, use this command:
.. code-block:: text
git clone git@github.com:Pylons/pyramid.git
To find out how to become a contributor to :app:`Pyramid`, please see the
`contributor's section of the documentation
`_.
Index and Glossary
==================
* :ref:`glossary`
* :ref:`genindex`
* :ref:`search`
.. add glossary, foreword, and latexindex in a hidden toc to avoid warnings
.. toctree::
:hidden:
glossary
foreword.rst
latexindex.rst