Chris McDonough
2011-09-04 90737d6b24775cab3a3816b426c0dc65c03fe43d
commit | author | age
9974be 1 .. _index:
f70c23 2
edd915 3 =================================================
ee2945 4 The Pyramid Web Application Development Framework
edd915 5 =================================================
f70c23 6
fd5ae9 7 :app:`Pyramid` is a small, fast, down-to-earth Python web application
a3a27a 8 development framework.  It is developed as part of the `Pylons Project
e7b5fe 9 <http://docs.pylonsproject.org/>`_.  It is licensed under a `BSD-like license
a3a27a 10 <http://repoze.org/license.html>`_.
CM 11
d4bbb6 12 Here is one of the simplest :app:`Pyramid` applications you can make:
d36b56 13
a98c01 14 .. literalinclude:: narr/helloworld.py
d36b56 15
d4bbb6 16 When saved to ``helloworld.py``, the above application can be run via:
e17da6 17
DJ 18 .. code-block:: text
19
20    $ easy_install pyramid
21    $ python helloworld.py
22    serving on 0.0.0.0:8080 view at http://127.0.0.1:8080
23
d3c67e 24 And when you visit ``http://localhost:8080/hello/world`` in a browser, you
CM 25 will see the text ``Hello, world!``.
e17da6 26
d4bbb6 27 See :ref:`firstapp_chapter` for a full explanation of how this application
CM 28 works. Read the :ref:`html_narrative_documentation` to understand how
5ab0f3 29 :app:`Pyramid` is designed to scale from simple applications like this to
CM 30 very large web applications.
d36b56 31
de449d 32 Front Matter
CM 33 ============
878328 34
CM 35 .. toctree::
36    :maxdepth: 1
37
38    copyright.rst
39    conventions.rst
0797f0 40
a9688f 41 "What's New" Documents
CM 42 ======================
43
44 .. toctree::
0ee9c2 45    :maxdepth: 1
a9688f 46
a8c81d 47    whatsnew-1.2
0ee9c2 48    whatsnew-1.1
2ce665 49    whatsnew-1.0
a9688f 50
55860e 51 .. _html_narrative_documentation:
d36b56 52
9e3bdb 53 Narrative documentation
e99f7a 54 =======================
9e3bdb 55
CM 56 Narrative documentation in chapter form explaining how to use
fd5ae9 57 :app:`Pyramid`.
f70c23 58
CM 59 .. toctree::
9e3bdb 60    :maxdepth: 2
f70c23 61
9e3bdb 62    narr/introduction
102d19 63    narr/install
9ec2d6 64    narr/firstapp
e17da6 65    narr/configuration
54f2bb 66    narr/project
c6e58b 67    narr/startup
c5f24b 68    narr/urldispatch
d6798e 69    narr/views
a59c78 70    narr/renderers
8271f7 71    narr/templates
8a1b50 72    narr/viewconfig
88b9ee 73    narr/assets
888d65 74    narr/webob
04ebd5 75    narr/sessions
e17c8d 76    narr/events
47b4d3 77    narr/environment
1ae7af 78    narr/logging
3d338e 79    narr/paste
ae4c57 80    narr/commandline
8cb682 81    narr/i18n
CM 82    narr/vhosting
6ee49a 83    narr/testing
8cb682 84    narr/resources
CM 85    narr/muchadoabouttraversal
86    narr/traversal
87    narr/security
88    narr/hybrid
c8cf22 89    narr/hooks
10fd8f 90    narr/advconfig
e6855b 91    narr/extending
03b756 92    narr/router
538344 93    narr/threadlocals
37bcb7 94    narr/zca
8fd58c 95
9d68f9 96 Tutorials
CM 97 =========
98
fd5ae9 99 Detailed tutorials explaining how to use :app:`Pyramid` to build
CM 100 various types of applications and how to deploy :app:`Pyramid`
878328 101 applications to various platforms.
841dcf 102
CM 103 .. toctree::
6638cf 104    :maxdepth: 2
841dcf 105
edd915 106    tutorials/wiki2/index.rst
0aed1c 107    tutorials/wiki/index.rst
f1b2cd 108    tutorials/bfg/index.rst
5810ad 109    tutorials/gae/index.rst
9c5a10 110    tutorials/modwsgi/index.rst
e2c34f 111
04bee5 112 Reference Material
CM 113 ==================
114
c9c3c4 115 Reference material includes documentation for every :app:`Pyramid` API.
04bee5 116
CM 117 .. toctree::
118    :maxdepth: 2
119
120    api
121
a53cbf 122 Detailed Change History
CM 123 =======================
9d68f9 124
CM 125 .. toctree::
841dcf 126    :maxdepth: 1
9d68f9 127
CM 128    changes
129
fbfea7 130 Design Documentation
CM 131 ====================
132
133 .. toctree::
6b0315 134    :maxdepth: 1
fbfea7 135
CM 136    designdefense
137
e99f7a 138 Sample Applications
CM 139 ===================
edd915 140
2197ff 141 `cluegun <https://github.com/Pylons/cluegun>`_ is a simple pastebin
CM 142 application based on Rocky Burt's `ClueBin
e99f7a 143 <http://pypi.python.org/pypi/ClueBin/0.2.3>`_.  It demonstrates form
124238 144 processing, security, and the use of :term:`ZODB` within a :app:`Pyramid`
8c8697 145 application.  Check this application out via:
CM 146
147 .. code-block:: text
e99f7a 148
2197ff 149   git clone git://github.com/Pylons/cluegun.git
e99f7a 150
2197ff 151 `virginia <https://github.com/Pylons/virginia>`_ is a very simple dynamic
CM 152 file rendering application.  It is willing to render structured text
153 documents, HTML documents, and images from a filesystem directory.  An
154 earlier version of this application runs the `repoze.org
8c8697 155 <http://repoze.org>`_ website.  Check this application out via:
CM 156
157 .. code-block:: text
e99f7a 158
2197ff 159   git clone git://github.com/Pylons/virginia.git
e99f7a 160
2197ff 161 `shootout <https://github.com/Pylons/shootout>`_ is an example "idea
21d084 162 competition" application by Carlos de la Guardia and Lukasz Fidosz.  It
CM 163 demonstrates :term:`URL dispatch`, simple authentication, integration
164 with `SQLAlchemy <http://www.sqlalchemy.org/>`_ and ``pyramid_simpleform``.
165 Check this application out of version control via:
8c8697 166
CM 167 .. code-block:: text
9e1f15 168
2197ff 169   git clone git://github.com/Pylons/shootout.git
CM 170
171 Older Sample Applications (repoze.bfg)
172 ======================================
173
174 .. note::
175
176    These applications are for an older version of :app:`Pyramid`, which was
177    named :mod:`repoze.bfg`.  They won't work unmodified under Pyramid, but
178    might provide useful clues.
9e1f15 179
a864bd 180 `bfgsite <http://svn.repoze.org/bfgsite/trunk>`_ is the software which
aca8a7 181 runs the `bfg.repoze.org <http://bfg.repoze.org>`_ website.  It
a864bd 182 demonstrates integration with Trac, and includes several
CM 183 mini-applications such as a pastebin and tutorial engine.  Check a
8c8697 184 buildout for this application out of Subversion via:
CM 185
186 .. code-block:: text
a864bd 187
CM 188   svn co http://svn.repoze.org/buildouts/bfgsite/ bfgsite_buildout
189
190 `KARL <http://karlproject.org>`_ is a moderately-sized application
af17cc 191 (roughly 70K lines of Python code) built on top of :mod:`repoze.bfg`
f30488 192 and other Repoze software.  It is an open source web system for
CM 193 collaboration, organizational intranets, and knowledge management, It
406572 194 provides facilities for wikis, calendars, manuals, searching, tagging,
CM 195 commenting, and file uploads.  See the `KARL site
f30488 196 <http://karlproject.org>`_ for download and installation details.
a864bd 197
0797f0 198 Support and Development
CM 199 =======================
200
e7b5fe 201 The `Pylons Project web site <http://pylonsproject.org/>`_ is the main online
fd5ae9 202 source of :app:`Pyramid` support and development information.
1dad96 203
edd915 204 To report bugs, use the `issue tracker
CM 205 <http://github.com/Pylons/pyramid/issues>`_.
0797f0 206
CM 207 If you've got questions that aren't answered by this documentation,
a6a402 208 contact the `Pylons-devel maillist
CM 209 <http://groups.google.com/group/pylons-devel>`_ or join the `#pylons
edd915 210 IRC channel <irc://irc.freenode.net/#pylons>`_.
0797f0 211
fd5ae9 212 Browse and check out tagged and trunk versions of :app:`Pyramid` via
edd915 213 the `Pyramid GitHub repository <http://github.com/Pylons/pyramid/>`_.
8c8697 214 To check out the trunk via ``git``, use this command:
CM 215
216 .. code-block:: text
0797f0 217
edd915 218   git clone git@github.com:Pylons/pyramid.git
0797f0 219
ee5fb2 220 To find out how to become a contributor to :app:`Pyramid`, please see the
CM 221 `contributor's section of the documentation
e7b5fe 222 <http://docs.pylonsproject.org/index.html#contributing>`_.
0797f0 223
878328 224 Index and Glossary
f70c23 225 ==================
CM 226
1b8f7a 227 * :ref:`glossary`
878328 228 * :ref:`genindex`
CM 229 * :ref:`search`