: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:
$ 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.
.. toctree:: :maxdepth: 1 copyright.rst conventions.rst
.. toctree:: :maxdepth: 1 whatsnew-1.3 whatsnew-1.2 whatsnew-1.1 whatsnew-1.0
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
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 includes documentation for every :app:`Pyramid` API.
.. toctree:: :maxdepth: 2 api
.. toctree:: :maxdepth: 1 changes
.. toctree:: :maxdepth: 1 designdefense
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:
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:
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:
git clone git://github.com/Pylons/shootout.git
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:
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.
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:
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.
.. toctree:: :hidden: glossary foreword.rst latexindex.rst