.. _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 When saved to ``helloworld.py``, the above application can be run via: .. code-block:: text $ easy_install pyramid $ python helloworld.py 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" Documents ====================== .. toctree:: :maxdepth: 1 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/hooks narr/introspector narr/extending narr/advconfig narr/extconfig narr/scaffolding narr/threadlocals narr/zca Tutorials ========= Detailed 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 Reference Material ================== Reference material includes documentation for every :app:`Pyramid` API. .. toctree:: :maxdepth: 2 api Detailed Change History ======================= .. toctree:: :maxdepth: 1 changes Design Documentation ==================== .. 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 Older Sample Applications (repoze.bfg) ====================================== .. note:: These applications are for an older version of :app:`Pyramid`, which was named :mod:`repoze.bfg`. They won't work unmodified under Pyramid, but might provide useful clues. `bfgsite `_ is the software which runs the `bfg.repoze.org `_ website. It demonstrates integration with Trac, and includes several mini-applications such as a pastebin and tutorial engine. Check a buildout for this application out of Subversion via: .. code-block:: text svn co http://svn.repoze.org/buildouts/bfgsite/ bfgsite_buildout `KARL `_ is a moderately-sized application (roughly 70K lines of Python code) built on top of :mod:`repoze.bfg` and other Repoze software. 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-devel 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