Paul Everitt
2013-08-11 ae901436a61563968cc31cc636f1fbeb5e85b528
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
.. _index:
 
=================================================
The Pyramid Web Framework
=================================================
 
:app:`Pyramid` is a small, fast, down-to-earth Python web framework.  It
is developed as part of the `Pylons Project
<http://docs.pylonsproject.org/>`_.  It is licensed under a `BSD-like license
<http://repoze.org/license.html>`_.
 
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_getting_started:
 
Getting Started
===============
 
If you are new to Pyramid, we have a few resources that can help you get
up to speed right away. Our *Quick Tour* shows a little about a lot:
 
.. toctree::
   :maxdepth: 2
 
   quick_tour
 
Also:
 
* To see a minimal Pyramid web application, check out `creating your first
  Pyramid application <../narr/firstapp>`_.
 
* For help getting Pyramid set up, try the `install guide
  <../narr/install>`_.
 
* To get the feel of how a Pyramid web application is created, go to the
  `single file tasks tutorial </projects/pyramid_tutorials/en/latest/single_file_tasks/single_file_tasks.html>`_ page.
 
* Like learning by example? Check out to the `wiki tutorial
  <../tutorials/wiki2/index.html>`_.
 
* Need help?  See `Support </en/latest/index.html#support-desc>`_.
 
 
.. _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
==================
 
Comprehensive reference material for every public API exposed by :app:`Pyramid`:
 
.. toctree::
   :maxdepth: 1
   :glob:
 
   api/*
 
Change History
==============
 
.. toctree::
   :maxdepth: 1
 
   changes
 
Design Documents
================
 
.. toctree::
   :maxdepth: 1
 
   designdefense
 
Sample Applications
===================
 
.. note::
 
   These applications run only on Python 2.x, and so do some of their
   dependencies.
 
`cluegun <https://github.com/Pylons/cluegun>`_ is a simple pastebin
application based on Rocky Burt's `ClueBin
<http://pypi.python.org/pypi/ClueBin/0.2.3>`_.  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 <https://github.com/Pylons/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
<http://repoze.org>`_ website.  Check this application out via:
 
.. code-block:: text
 
  git clone git://github.com/Pylons/virginia.git
 
`shootout <https://github.com/Pylons/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 <http://www.sqlalchemy.org/>`_ and ``pyramid_simpleform``.
Check this application out of version control via:
 
.. code-block:: text
 
  git clone git://github.com/Pylons/shootout.git
 
`KARL <http://karlproject.org>`_ 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
<http://karlproject.org>`_ for download and installation details.
 
.. _support-and-development:
 
Support and Development
=======================
 
The `Pylons Project web site <http://pylonsproject.org/>`_ is the main online
source of :app:`Pyramid` support and development information.
 
To report bugs, use the `issue tracker
<https://github.com/Pylons/pyramid/issues>`_.
 
If you've got questions that aren't answered by this documentation,
contact the `Pylons-discuss maillist
<http://groups.google.com/group/pylons-discuss>`_ or join the `#pyramid
IRC channel <irc://irc.freenode.net/#pyramid>`_.
 
Browse and check out tagged and trunk versions of :app:`Pyramid` via
the `Pyramid GitHub repository <https://github.com/Pylons/pyramid/>`_.
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
<http://docs.pylonsproject.org/en/latest/#contributing>`_.
 
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