commit | author | age
|
c4d7f0
|
1 |
.. _glossary: |
PE |
2 |
|
74e3c4
|
3 |
Glossary |
878328
|
4 |
======== |
c4d7f0
|
5 |
|
PE |
6 |
.. glossary:: |
878328
|
7 |
:sorted: |
c4d7f0
|
8 |
|
8c56ae
|
9 |
request |
5c7bdc
|
10 |
A ``WebOb`` request object. See :ref:`webob_chapter` (narrative) |
CM |
11 |
and :ref:`request_module` (API documentation) for information |
|
12 |
about request objects. |
bc857e
|
13 |
|
e25a70
|
14 |
request factory |
CM |
15 |
An object which, provided a WSGI environment as a single |
|
16 |
positional argument, returns a ``WebOb`` compatible request. |
|
17 |
|
8c56ae
|
18 |
response |
d868ff
|
19 |
An object returned by a :term:`view callable` that represents response |
CM |
20 |
data returned to the requesting user agent. It must implements the |
|
21 |
:class:`pyramid.interfaces.IResponse` interface. A response object is |
|
22 |
typically an instance of the :class:`pyramid.response.Response` class or |
|
23 |
a subclass such as :class:`pyramid.httpexceptions.HTTPFound`. See |
|
24 |
:ref:`webob_chapter` for information about response objects. |
878328
|
25 |
|
CM |
26 |
Repoze |
7e7fc9
|
27 |
"Repoze" is essentially a "brand" of software developed by `Agendaless |
CM |
28 |
Consulting <http://agendaless.com>`_ and a set of contributors. The |
|
29 |
term has no special intrinsic meaning. The project's `website |
|
30 |
<http://repoze.org>`_ has more information. The software developed |
|
31 |
"under the brand" is available in a `Subversion repository |
|
32 |
<http://svn.repoze.org>`_. Pyramid was originally known as |
|
33 |
:mod:`repoze.bfg`. |
878328
|
34 |
|
8c56ae
|
35 |
setuptools |
878328
|
36 |
`Setuptools <http://peak.telecommunity.com/DevCenter/setuptools>`_ |
CM |
37 |
builds on Python's ``distutils`` to provide easier building, |
|
38 |
distribution, and installation of libraries and applications. |
|
39 |
|
|
40 |
pkg_resources |
798aad
|
41 |
A module which ships with :term:`setuptools` that provides an API for |
CM |
42 |
addressing "asset files" within a Python :term:`package`. Asset files |
|
43 |
are static files, template files, etc; basically anything |
|
44 |
non-Python-source that lives in a Python package can be considered a |
|
45 |
asset file. See also `PkgResources |
878328
|
46 |
<http://peak.telecommunity.com/DevCenter/PkgResources>`_ |
CM |
47 |
|
3e2f12
|
48 |
asset |
878328
|
49 |
Any file contained within a Python :term:`package` which is *not* |
CM |
50 |
a Python source code file. |
|
51 |
|
3e2f12
|
52 |
asset specification |
a5ffd6
|
53 |
A colon-delimited identifier for an :term:`asset`. The colon |
878328
|
54 |
separates a Python :term:`package` name from a package subpath. |
3e2f12
|
55 |
For example, the asset specification |
878328
|
56 |
``my.package:static/baz.css`` identifies the file named |
CM |
57 |
``baz.css`` in the ``static`` subdirectory of the ``my.package`` |
2e3f70
|
58 |
Python :term:`package`. See :ref:`asset_specifications` for more |
b33ae9
|
59 |
info. |
878328
|
60 |
|
8c56ae
|
61 |
package |
878328
|
62 |
A directory on disk which contains an ``__init__.py`` file, making |
CM |
63 |
it recognizable to Python as a location which can be ``import`` -ed. |
cdac6d
|
64 |
A package exists to contain :term:`module` files. |
878328
|
65 |
|
798aad
|
66 |
module |
CM |
67 |
A Python source file; a file on the filesystem that typically ends with |
2e3f70
|
68 |
the extension ``.py`` or ``.pyc``. Modules often live in a |
798aad
|
69 |
:term:`package`. |
CM |
70 |
|
8c56ae
|
71 |
project |
878328
|
72 |
(Setuptools/distutils terminology). A directory on disk which |
CM |
73 |
contains a ``setup.py`` file and one or more Python packages. The |
|
74 |
``setup.py`` file contains code that allows the package(s) to be |
|
75 |
installed, distributed, and tested. |
|
76 |
|
8c56ae
|
77 |
distribution |
878328
|
78 |
(Setuptools/distutils terminology). A file representing an |
CM |
79 |
installable library or application. Distributions are usually |
|
80 |
files that have the suffix of ``.egg``, ``.tar.gz``, or ``.zip``. |
|
81 |
Distributions are the target of Setuptools commands such as |
|
82 |
``easy_install``. |
|
83 |
|
8c56ae
|
84 |
entry point |
878328
|
85 |
A :term:`setuptools` indirection, defined within a setuptools |
CM |
86 |
:term:`distribution` setup.py. It is usually a name which refers |
|
87 |
to a function somewhere in a package which is held by the |
|
88 |
distribution. |
|
89 |
|
8c56ae
|
90 |
dotted Python name |
878328
|
91 |
A reference to a Python object by name using a string, in the form |
CM |
92 |
``path.to.modulename:attributename``. Often used in Paste and |
c9c3c4
|
93 |
setuptools configurations. A variant is used in dotted names within |
CM |
94 |
configurator method arguments that name objects (such as the "add_view" |
|
95 |
method's "view" and "context" attributes): the colon (``:``) is not |
878328
|
96 |
used; in its place is a dot. |
CM |
97 |
|
8c56ae
|
98 |
view |
878328
|
99 |
Common vernacular for a :term:`view callable`. |
CM |
100 |
|
8c56ae
|
101 |
view callable |
878328
|
102 |
A "view callable" is a callable Python object which is associated |
CM |
103 |
with a :term:`view configuration`; it returns a :term:`response` |
|
104 |
object . A view callable accepts a single argument: ``request``, |
|
105 |
which will be an instance of a :term:`request` object. An |
|
106 |
alternate calling convention allows a view to be defined as a |
|
107 |
callable which accepts a pair of arguments: ``context`` and |
197f0c
|
108 |
``request``: this calling convention is useful for |
CM |
109 |
traversal-based applications in which a :term:`context` is always |
|
110 |
very important. A view callable is the primary mechanism by |
|
111 |
which a developer writes user interface code within |
fd5ae9
|
112 |
:app:`Pyramid`. See :ref:`views_chapter` for more information |
CM |
113 |
about :app:`Pyramid` view callables. |
878328
|
114 |
|
8c56ae
|
115 |
view configuration |
f7f0dd
|
116 |
View configuration is the act of associating a :term:`view callable` |
CM |
117 |
with configuration information. This configuration information helps |
|
118 |
map a given :term:`request` to a particular view callable and it can |
|
119 |
influence the response of a view callable. :app:`Pyramid` views can be |
c9c3c4
|
120 |
configured via :term:`imperative configuration`, or by a special |
CM |
121 |
``@view_config`` decorator coupled with a :term:`scan`. See |
f7f0dd
|
122 |
:ref:`view_config_chapter` for more information about view |
CM |
123 |
configuration. |
878328
|
124 |
|
8c56ae
|
125 |
view name |
878328
|
126 |
The "URL name" of a view, e.g ``index.html``. If a view is |
CM |
127 |
configured without a name, its name is considered to be the empty |
|
128 |
string (which implies the :term:`default view`). |
|
129 |
|
|
130 |
Default view |
a5ffd6
|
131 |
The default view of a :term:`resource` is the view invoked when the |
CM |
132 |
:term:`view name` is the empty string (``''``). This is the case when |
|
133 |
:term:`traversal` exhausts the path elements in the PATH_INFO of a |
780999
|
134 |
request before it returns a :term:`context` resource. |
878328
|
135 |
|
8c56ae
|
136 |
virtualenv |
878328
|
137 |
An isolated Python environment. Allows you to control which |
CM |
138 |
packages are used on a particular project by cloning your main |
|
139 |
Python. `virtualenv <http://pypi.python.org/pypi/virtualenv>`_ |
|
140 |
was created by Ian Bicking. |
|
141 |
|
3e2f12
|
142 |
resource |
a5ffd6
|
143 |
An object representing a node in the :term:`resource tree` of an |
CM |
144 |
application. If :mod:`traversal` is used, a resource is an element in |
|
145 |
the resource tree traversed by the system. When traversal is used, a |
|
146 |
resource becomes the :term:`context` of a :term:`view`. If :mod:`url |
|
147 |
dispatch` is used, a single resource is generated for each request and |
780999
|
148 |
is used as the context resource of a view. |
a5ffd6
|
149 |
|
CM |
150 |
resource tree |
|
151 |
A nested set of dictionary-like objects, each of which is a |
|
152 |
:term:`resource`. The act of :term:`traversal` uses the resource tree |
780999
|
153 |
to find a :term:`context` resource. |
a5ffd6
|
154 |
|
CM |
155 |
domain model |
|
156 |
Persistent data related to your application. For example, data stored |
|
157 |
in a relational database. In some applications, the :term:`resource |
|
158 |
tree` acts as the domain model. |
878328
|
159 |
|
8c56ae
|
160 |
traversal |
3e2f12
|
161 |
The act of descending "up" a tree of resource objects from a root |
780999
|
162 |
resource in order to find a :term:`context` resource. The |
CM |
163 |
:app:`Pyramid` :term:`router` performs traversal of resource objects |
|
164 |
when a :term:`root factory` is specified. See the |
|
165 |
:ref:`traversal_chapter` chapter for more information. Traversal can be |
|
166 |
performed *instead* of :term:`URL dispatch` or can be combined *with* |
|
167 |
URL dispatch. See :ref:`hybrid_chapter` for more information about |
|
168 |
combining traversal and URL dispatch (advanced). |
878328
|
169 |
|
8c56ae
|
170 |
router |
878328
|
171 |
The :term:`WSGI` application created when you start a |
fd5ae9
|
172 |
:app:`Pyramid` application. The router intercepts requests, |
878328
|
173 |
invokes traversal and/or URL dispatch, calls view functions, and |
CM |
174 |
returns responses to the WSGI server on behalf of your |
fd5ae9
|
175 |
:app:`Pyramid` application. |
878328
|
176 |
|
CM |
177 |
URL dispatch |
3e2f12
|
178 |
An alternative to :term:`traversal` as a mechanism for locating a |
780999
|
179 |
:term:`context` resource for a :term:`view`. When you use a |
CM |
180 |
:term:`route` in your :app:`Pyramid` application via a :term:`route |
878328
|
181 |
configuration`, you are using URL dispatch. See the |
CM |
182 |
:ref:`urldispatch_chapter` for more information. |
|
183 |
|
8c56ae
|
184 |
context |
a42a1e
|
185 |
A resource in the resource tree that is found during :term:`traversal` |
780999
|
186 |
or :term:`URL dispatch` based on URL data; if it's found via traversal, |
3e2f12
|
187 |
it's usually a :term:`resource` object that is part of a resource tree; |
a42a1e
|
188 |
if it's found via :term:`URL dispatch`, it's an object manufactured on |
780999
|
189 |
behalf of the route's "factory". A context resource becomes the subject |
CM |
190 |
of a :term:`view`, and often has security information attached to |
|
191 |
it. See the :ref:`traversal_chapter` chapter and the |
3e2f12
|
192 |
:ref:`urldispatch_chapter` chapter for more information about how a URL |
780999
|
193 |
is resolved to a context resource. |
878328
|
194 |
|
8c56ae
|
195 |
application registry |
878328
|
196 |
A registry of configuration information consulted by |
fd5ae9
|
197 |
:app:`Pyramid` while servicing an application. An application |
3e2f12
|
198 |
registry maps resource types to views, as well as housing other |
878328
|
199 |
application-specific component registrations. Every |
fd5ae9
|
200 |
:app:`Pyramid` application has one (and only one) application |
878328
|
201 |
registry. |
CM |
202 |
|
8c56ae
|
203 |
template |
878328
|
204 |
A file with replaceable parts that is capable of representing some |
CM |
205 |
text, XML, or HTML when rendered. |
|
206 |
|
8c56ae
|
207 |
location |
a5ffd6
|
208 |
The path to an object in a :term:`resource tree`. See |
CM |
209 |
:ref:`location_aware` for more information about how to make a resource |
|
210 |
object *location-aware*. |
878328
|
211 |
|
8c56ae
|
212 |
permission |
3e2f12
|
213 |
A string or unicode object that represents an action being taken against |
780999
|
214 |
a :term:`context` resource. A permission is associated with a view name |
CM |
215 |
and a resource type by the developer. Resources are decorated with |
|
216 |
security declarations (e.g. an :term:`ACL`), which reference these |
2e3f70
|
217 |
tokens also. Permissions are used by the active security policy to |
780999
|
218 |
match the view permission against the resources's statements about which |
2e3f70
|
219 |
permissions are granted to which principal in a context in order to |
780999
|
220 |
answer the question "is this user allowed to do this". Examples of |
CM |
221 |
permissions: ``read``, or ``view_blog_entries``. |
878328
|
222 |
|
a62cc2
|
223 |
default permission |
CM |
224 |
A :term:`permission` which is registered as the default for an |
|
225 |
entire application. When a default permission is in effect, |
|
226 |
every :term:`view configuration` registered with the system will |
|
227 |
be effectively amended with a ``permission`` argument that will |
|
228 |
require that the executing user possess the default permission in |
|
229 |
order to successfully execute the associated :term:`view |
|
230 |
callable` See also :ref:`setting_a_default_permission`. |
|
231 |
|
878328
|
232 |
ACE |
CM |
233 |
An *access control entry*. An access control entry is one element |
|
234 |
in an :term:`ACL`. An access control entry is a three-tuple that |
|
235 |
describes three things: an *action* (one of either ``Allow`` or |
|
236 |
``Deny``), a :term:`principal` (a string describing a user or |
|
237 |
group), and a :term:`permission`. For example the ACE, ``(Allow, |
|
238 |
'bob', 'read')`` is a member of an ACL that indicates that the |
|
239 |
principal ``bob`` is allowed the permission ``read`` against the |
780999
|
240 |
resource the ACL is attached to. |
878328
|
241 |
|
CM |
242 |
ACL |
780999
|
243 |
An *access control list*. An ACL is a sequence of :term:`ACE` tuples. |
CM |
244 |
An ACL is attached to a resource instance. An example of an ACL is ``[ |
|
245 |
(Allow, 'bob', 'read'), (Deny, 'fred', 'write')]``. If an ACL is |
|
246 |
attached to a resource instance, and that resource is findable via the |
|
247 |
context resource, it will be consulted any active security policy to |
|
248 |
determine wither a particular request can be fulfilled given the |
|
249 |
:term:`authentication` information in the request. |
878328
|
250 |
|
8c56ae
|
251 |
authentication |
c5f24b
|
252 |
The act of determining that the credentials a user presents |
CM |
253 |
during a particular request are "good". Authentication in |
fd5ae9
|
254 |
:app:`Pyramid` is performed via an :term:`authentication |
878328
|
255 |
policy`. |
CM |
256 |
|
8c56ae
|
257 |
authorization |
780999
|
258 |
The act of determining whether a user can perform a specific action. In |
CM |
259 |
pyramid terms, this means determining whether, for a given resource, any |
|
260 |
:term:`principal` (or principals) associated with the request have the |
|
261 |
requisite :term:`permission` to allow the request to continue. |
|
262 |
Authorization in :app:`Pyramid` is performed via its |
|
263 |
:term:`authorization policy`. |
878328
|
264 |
|
8c56ae
|
265 |
principal |
878328
|
266 |
A *principal* is a string or unicode object representing a userid |
CM |
267 |
or a group id. It is provided by an :term:`authentication |
|
268 |
policy`. For example, if a user had the user id "bob", and Bob |
|
269 |
was part of two groups named "group foo" and "group bar", the |
|
270 |
request might have information attached to it that would |
719a93
|
271 |
indicate that Bob was represented by three principals: "bob", |
878328
|
272 |
"group foo" and "group bar". |
CM |
273 |
|
8c56ae
|
274 |
authorization policy |
fd5ae9
|
275 |
An authorization policy in :app:`Pyramid` terms is a bit of |
878328
|
276 |
code which has an API which determines whether or not the |
CM |
277 |
principals associated with the request can perform an action |
|
278 |
associated with a permission, based on the information found on the |
780999
|
279 |
:term:`context` resource. |
878328
|
280 |
|
8c56ae
|
281 |
authentication policy |
fd5ae9
|
282 |
An authentication policy in :app:`Pyramid` terms is a bit of |
878328
|
283 |
code which has an API which determines the current |
CM |
284 |
:term:`principal` (or principals) associated with a request. |
|
285 |
|
|
286 |
WSGI |
|
287 |
`Web Server Gateway Interface <http://wsgi.org/>`_. This is a |
|
288 |
Python standard for connecting web applications to web servers, |
7138ca
|
289 |
similar to the concept of Java Servlets. :app:`Pyramid` requires |
878328
|
290 |
that your application be served as a WSGI application. |
CM |
291 |
|
8c56ae
|
292 |
middleware |
878328
|
293 |
*Middleware* is a :term:`WSGI` concept. It is a WSGI component |
CM |
294 |
that acts both as a server and an application. Interesting uses |
|
295 |
for middleware exist, such as caching, content-transport |
|
296 |
encoding, and other functions. See `WSGI.org <http://wsgi.org>`_ |
|
297 |
or `PyPI <http://python.org/pypi>`_ to find middleware for your |
|
298 |
application. |
|
299 |
|
8c56ae
|
300 |
pipeline |
878328
|
301 |
The :term:`Paste` term for a single configuration of a WSGI |
CM |
302 |
server, a WSGI application, with a set of middleware in-between. |
|
303 |
|
|
304 |
Zope |
|
305 |
`The Z Object Publishing Framework <http://zope.org>`_, a |
|
306 |
full-featured Python web framework. |
|
307 |
|
|
308 |
Grok |
|
309 |
`A web framework based on Zope 3 <http://grok.zope.org>`_. |
|
310 |
|
|
311 |
Django |
|
312 |
`A full-featured Python web framework <http://djangoproject.com>`_. |
|
313 |
|
|
314 |
Pylons |
7e7fc9
|
315 |
`A lightweight Python web framework <http://pylonshq.com>`_ and a |
CM |
316 |
predecessor of Pyramid. |
878328
|
317 |
|
CM |
318 |
ZODB |
2279a5
|
319 |
`Zope Object Database <http://zodb.org>`_, a |
878328
|
320 |
persistent Python object store. |
CM |
321 |
|
|
322 |
ZEO |
|
323 |
`Zope Enterprise Objects |
|
324 |
<http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/ZEO.stx>`_ |
|
325 |
allows multiple simultaneous processes to access a single |
|
326 |
:term:`ZODB` database. |
|
327 |
|
|
328 |
WebOb |
e005c2
|
329 |
`WebOb <http://webob.org>`_ is a WSGI request/response |
878328
|
330 |
library created by Ian Bicking. |
CM |
331 |
|
|
332 |
Paste |
|
333 |
`Paste <http://pythonpaste.org>`_ is a WSGI development and |
|
334 |
deployment system developed by Ian Bicking. |
|
335 |
|
|
336 |
PasteDeploy |
|
337 |
`PasteDeploy <http://pythonpaste.org>`_ is a library used by |
fd5ae9
|
338 |
:app:`Pyramid` which makes it possible to configure |
878328
|
339 |
:term:`WSGI` components together declaratively within an ``.ini`` |
CM |
340 |
file. It was developed by Ian Bicking as part of :term:`Paste`. |
|
341 |
|
|
342 |
Chameleon |
|
343 |
`chameleon <http://chameleon.repoze.org>`_ is an attribute |
|
344 |
language template compiler which supports both the :term:`ZPT` and |
|
345 |
:term:`Genshi` templating specifications. It is written and |
|
346 |
maintained by Malthe Borch. It has several extensions, such as |
|
347 |
the ability to use bracketed (Genshi-style) ``${name}`` syntax, |
|
348 |
even within ZPT. It is also much faster than the reference |
fd5ae9
|
349 |
implementations of both ZPT and Genshi. :app:`Pyramid` offers |
878328
|
350 |
Chameleon templating out of the box in ZPT and text flavors. |
CM |
351 |
|
|
352 |
ZPT |
|
353 |
The `Zope Page Template <http://wiki.zope.org/ZPT/FrontPage>`_ |
|
354 |
templating language. |
|
355 |
|
|
356 |
METAL |
|
357 |
`Macro Expansion for TAL <http://wiki.zope.org/ZPT/METAL>`_, a |
|
358 |
part of :term:`ZPT` which makes it possible to share common look |
2e3f70
|
359 |
and feel between templates. |
878328
|
360 |
|
CM |
361 |
Genshi |
|
362 |
An `XML templating language <http://pypi.python.org/pypi/Genshi/>`_ |
|
363 |
by Christopher Lenz. |
|
364 |
|
|
365 |
Jinja2 |
2e3f70
|
366 |
A `text templating language <http://jinja.pocoo.org/2/>`_ by Armin |
878328
|
367 |
Ronacher. |
CM |
368 |
|
|
369 |
Routes |
|
370 |
A `system by Ben Bangert <http://routes.groovie.org/>`_ which |
|
371 |
parses URLs and compares them against a number of user defined |
fd5ae9
|
372 |
mappings. The URL pattern matching syntax in :app:`Pyramid` is |
878328
|
373 |
inspired by the Routes syntax (which was inspired by Ruby On |
CM |
374 |
Rails pattern syntax). |
|
375 |
|
8c56ae
|
376 |
route |
878328
|
377 |
A single pattern matched by the :term:`url dispatch` subsystem, |
CM |
378 |
which generally resolves to a :term:`root factory` (and then |
|
379 |
ultimately a :term:`view`). See also :term:`url dispatch`. |
|
380 |
|
8c56ae
|
381 |
route configuration |
c9c3c4
|
382 |
Route configuration is the act of associating request parameters with a |
CM |
383 |
particular :term:`route` using pattern matching and :term:`route |
|
384 |
predicate` statements. See :ref:`urldispatch_chapter` for more |
|
385 |
information about route configuration. |
878328
|
386 |
|
CM |
387 |
Zope Component Architecture |
|
388 |
The `Zope Component Architecture |
|
389 |
<http://www.muthukadan.net/docs/zca.html>`_ (aka ZCA) is a system |
|
390 |
which allows for application pluggability and complex dispatching |
|
391 |
based on objects which implement an :term:`interface`. |
fd5ae9
|
392 |
:app:`Pyramid` uses the ZCA "under the hood" to perform view |
878328
|
393 |
dispatching and other application configuration tasks. |
CM |
394 |
|
8c56ae
|
395 |
reStructuredText |
878328
|
396 |
A `plain text format <http://docutils.sourceforge.net/rst.html>`_ |
CM |
397 |
that is the defacto standard for descriptive text shipped in |
|
398 |
:term:`distribution` files, and Python docstrings. This |
|
399 |
documentation is authored in ReStructuredText format. |
|
400 |
|
8c56ae
|
401 |
root |
780999
|
402 |
The object at which :term:`traversal` begins when :app:`Pyramid` |
CM |
403 |
searches for a :term:`context` resource (for :term:`URL Dispatch`, the |
2e3f70
|
404 |
root is *always* the context resource unless the ``traverse=`` argument |
780999
|
405 |
is used in route configuration). |
878328
|
406 |
|
8c56ae
|
407 |
subpath |
878328
|
408 |
A list of element "left over" after the :term:`router` has |
CM |
409 |
performed a successful traversal to a view. The subpath is a |
|
410 |
sequence of strings, e.g. ``['left', 'over', 'names']``. Within |
edd915
|
411 |
Pyramid applications that use URL dispatch rather than traversal, you |
878328
|
412 |
can use ``*subpath`` in the route pattern to influence the |
CM |
413 |
subpath. See :ref:`star_subpath` for more information. |
|
414 |
|
8c56ae
|
415 |
interface |
878328
|
416 |
A `Zope interface <http://pypi.python.org/pypi/zope.interface>`_ |
fd5ae9
|
417 |
object. In :app:`Pyramid`, an interface may be attached to a |
3e2f12
|
418 |
:term:`resource` object or a :term:`request` object in order to |
878328
|
419 |
identify that the object is "of a type". Interfaces are used |
fd5ae9
|
420 |
internally by :app:`Pyramid` to perform view lookups and other |
878328
|
421 |
policy lookups. The ability to make use of an interface is |
CM |
422 |
exposed to an application programmers during :term:`view |
eecdbc
|
423 |
configuration` via the ``context`` argument, the ``request_type`` |
878328
|
424 |
argument and the ``containment`` argument. Interfaces are also |
CM |
425 |
exposed to application developers when they make use of the |
fd5ae9
|
426 |
:term:`event` system. Fundamentally, :app:`Pyramid` |
eecdbc
|
427 |
programmers can think of an interface as something that they can |
CM |
428 |
attach to an object that stamps it with a "type" unrelated to its |
|
429 |
underlying Python type. Interfaces can also be used to describe |
|
430 |
the behavior of an object (its methods and attributes), but |
fd5ae9
|
431 |
unless they choose to, :app:`Pyramid` programmers do not need |
eecdbc
|
432 |
to understand or use this feature of interfaces. |
878328
|
433 |
|
8c56ae
|
434 |
event |
878328
|
435 |
An object broadcast to zero or more :term:`subscriber` callables |
fd5ae9
|
436 |
during normal :app:`Pyramid` system operations during the |
878328
|
437 |
lifetime of an application. Application code can subscribe to |
CM |
438 |
these events by using the subscriber functionality described in |
|
439 |
:ref:`events_chapter`. |
|
440 |
|
8c56ae
|
441 |
subscriber |
878328
|
442 |
A callable which receives an :term:`event`. A callable becomes a |
c9c3c4
|
443 |
subscriber via :term:`imperative configuration` or via |
CM |
444 |
:term:`configuration decoration`. See :ref:`events_chapter` for more |
|
445 |
information. |
878328
|
446 |
|
8c56ae
|
447 |
request type |
878328
|
448 |
An attribute of a :term:`request` that allows for specialization |
CM |
449 |
of view invocation based on arbitrary categorization. The every |
fd5ae9
|
450 |
:term:`request` object that :app:`Pyramid` generates and |
878328
|
451 |
manipulates has one or more :term:`interface` objects attached to |
CM |
452 |
it. The default interface attached to a request object is |
197f0c
|
453 |
``pyramid.interfaces.IRequest``. |
878328
|
454 |
|
CM |
455 |
repoze.lemonade |
|
456 |
Zope2 CMF-like `data structures and helper facilities |
|
457 |
<http://docs.repoze.org/lemonade>`_ for CA-and-ZODB-based |
fd5ae9
|
458 |
applications useful within :app:`Pyramid` applications. |
878328
|
459 |
|
CM |
460 |
repoze.catalog |
|
461 |
An indexing and search facility (fielded and full-text) based on |
|
462 |
`zope.index <http://pypi.python.org/pypi/zope.index>`_. See `the |
|
463 |
documentation <http://docs.repoze.org/catalog>`_ for more |
3e4f42
|
464 |
information. |
878328
|
465 |
|
CM |
466 |
repoze.who |
|
467 |
`Authentication middleware <http://docs.repoze.org/who>`_ for |
fd5ae9
|
468 |
:term:`WSGI` applications. It can be used by :app:`Pyramid` to |
878328
|
469 |
provide authentication information. |
CM |
470 |
|
|
471 |
repoze.workflow |
|
472 |
`Barebones workflow for Python apps |
|
473 |
<http://docs.repoze.org/workflow>`_ . It can be used by |
fd5ae9
|
474 |
:app:`Pyramid` to form a workflow system. |
878328
|
475 |
|
8c56ae
|
476 |
virtual root |
3e2f12
|
477 |
A resource object representing the "virtual" root of a request; this |
878328
|
478 |
is typically the physical root object (the object returned by the |
CM |
479 |
application root factory) unless :ref:`vhosting_chapter` is in |
|
480 |
use. |
|
481 |
|
8c56ae
|
482 |
lineage |
780999
|
483 |
An ordered sequence of objects based on a ":term:`location` -aware" |
CM |
484 |
resource. The lineage of any given :term:`resource` is composed of |
|
485 |
itself, its parent, its parent's parent, and so on. The order of the |
|
486 |
sequence is resource-first, then the parent of the resource, then its |
|
487 |
parent's parent, and so on. The parent of a resource in a lineage is |
|
488 |
available as its ``__parent__`` attribute. |
878328
|
489 |
|
8c56ae
|
490 |
root factory |
a42a1e
|
491 |
The "root factory" of a :app:`Pyramid` application is called |
878328
|
492 |
on every request sent to the application. The root factory |
CM |
493 |
returns the traversal root of an application. It is |
|
494 |
conventionally named ``get_root``. An application may supply a |
fd5ae9
|
495 |
root factory to :app:`Pyramid` during the construction of a |
878328
|
496 |
:term:`Configurator`. If a root factory is not supplied, the |
CM |
497 |
application uses a default root object. Use of the default root |
|
498 |
object is useful in application which use :term:`URL dispatch` for |
|
499 |
all URL-to-view code mappings. |
|
500 |
|
|
501 |
SQLAlchemy |
7e7fc9
|
502 |
`SQLAlchemy <http://www.sqlalchemy.org/>`_ is an object |
878328
|
503 |
relational mapper used in tutorials within this documentation. |
CM |
504 |
|
|
505 |
JSON |
|
506 |
`JavaScript Object Notation <http://www.json.org/>`_ is a data |
|
507 |
serialization format. |
|
508 |
|
6a0602
|
509 |
jQuery |
CM |
510 |
A popular `Javascript library <http://jquery.org>`_. |
|
511 |
|
8c56ae
|
512 |
renderer |
1de5ec
|
513 |
A serializer that can be referred to via :term:`view |
410457
|
514 |
configuration` which converts a non-:term:`Response` return |
CM |
515 |
values from a :term:`view` into a string (and ultimately a |
|
516 |
response). Using a renderer can make writing views that require |
|
517 |
templating or other serialization less tedious. See |
878328
|
518 |
:ref:`views_which_use_a_renderer` for more information. |
CM |
519 |
|
410457
|
520 |
renderer factory |
CM |
521 |
A factory which creates a :term:`renderer`. See |
|
522 |
:ref:`adding_and_overriding_renderers` for more information. |
|
523 |
|
878328
|
524 |
mod_wsgi |
CM |
525 |
`mod_wsgi <http://code.google.com/p/modwsgi/>`_ is an Apache |
|
526 |
module developed by Graham Dumpleton. It allows :term:`WSGI` |
|
527 |
applications (such as applications developed using |
fd5ae9
|
528 |
:app:`Pyramid`) to be served using the Apache web server. |
878328
|
529 |
|
8c56ae
|
530 |
view predicate |
878328
|
531 |
An argument to a :term:`view configuration` which evaluates to |
CM |
532 |
``True`` or ``False`` for a given :term:`request`. All predicates |
|
533 |
attached to a view configuration must evaluate to true for the |
|
534 |
associated view to be considered as a possible callable for a |
|
535 |
given request. |
|
536 |
|
8c56ae
|
537 |
route predicate |
878328
|
538 |
An argument to a :term:`route configuration` which implies a value |
CM |
539 |
that evaluates to ``True`` or ``False`` for a given |
|
540 |
:term:`request`. All predicates attached to a :term:`route |
|
541 |
configuration` must evaluate to ``True`` for the associated route |
|
542 |
to "match" the current request. If a route does not match the |
|
543 |
current request, the next route (in definition order) is |
|
544 |
attempted. |
|
545 |
|
49eccc
|
546 |
routes mapper |
CM |
547 |
An object which compares path information from a request to an |
|
548 |
ordered set of route patterns. See :ref:`urldispatch_chapter`. |
|
549 |
|
8c56ae
|
550 |
predicate |
878328
|
551 |
A test which returns ``True`` or ``False``. Two different types |
fd5ae9
|
552 |
of predicates exist in :app:`Pyramid`: a :term:`view predicate` |
878328
|
553 |
and a :term:`route predicate`. View predicates are attached to |
CM |
554 |
:term:`view configuration` and route predicates are attached to |
|
555 |
:term:`route configuration`. |
|
556 |
|
8c56ae
|
557 |
decorator |
878328
|
558 |
A wrapper around a Python function or class which accepts the |
CM |
559 |
function or class as its first argument and which returns an |
fd5ae9
|
560 |
arbitrary object. :app:`Pyramid` provides several decorators, |
878328
|
561 |
used for configuration and return value modification purposes. See |
CM |
562 |
also `PEP 318 <http://www.python.org/dev/peps/pep-0318/>`_. |
|
563 |
|
8c56ae
|
564 |
configuration declaration |
c9c3c4
|
565 |
An individual method call made to an instance of a :app:`Pyramid` |
CM |
566 |
:term:`Configurator` object which performs an arbitrary action, such as |
|
567 |
registering a :term:`view configuration` (via the ``add_view`` method of |
|
568 |
the configurator) or :term:`route configuration` (via the ``add_route`` |
|
569 |
method of the configurator). A set of configuration declarations is |
|
570 |
also implied by the :term:`configuration decoration` detected by a |
|
571 |
:term:`scan` of code in a package. |
878328
|
572 |
|
8c56ae
|
573 |
configuration decoration |
878328
|
574 |
Metadata implying one or more :term:`configuration declaration` |
CM |
575 |
invocations. Often set by configuration Python :term:`decorator` |
197f0c
|
576 |
attributes, such as :class:`pyramid.view.view_config`, aka |
CM |
577 |
``@view_config``. |
878328
|
578 |
|
8c56ae
|
579 |
scan |
fd5ae9
|
580 |
The term used by :app:`Pyramid` to define the process of |
878328
|
581 |
importing and examining all code in a Python package or module for |
CM |
582 |
:term:`configuration decoration`. |
|
583 |
|
8c56ae
|
584 |
configurator |
878328
|
585 |
An object used to do :term:`configuration declaration` within an |
CM |
586 |
application. The most common configurator is an instance of the |
d7f259
|
587 |
``pyramid.config.Configurator`` class. |
878328
|
588 |
|
8c56ae
|
589 |
imperative configuration |
878328
|
590 |
The configuration mode in which you use Python to call methods on |
CM |
591 |
a :term:`Configurator` in order to add each :term:`configuration |
|
592 |
declaration` required by your application. |
|
593 |
|
8c56ae
|
594 |
declarative configuration |
4e1199
|
595 |
The configuration mode in which you use the combination of |
3cf66a
|
596 |
:term:`configuration decoration` and a :term:`scan` to configure your |
CM |
597 |
Pyramid application. |
878328
|
598 |
|
8c56ae
|
599 |
Not Found view |
fd5ae9
|
600 |
An :term:`exception view` invoked by :app:`Pyramid` when the |
99edc5
|
601 |
developer explicitly raises a ``pyramid.httpexceptions.HTTPNotFound`` |
239a93
|
602 |
exception from within :term:`view` code or :term:`root factory` |
CM |
603 |
code, or when the current request doesn't match any :term:`view |
fd5ae9
|
604 |
configuration`. :app:`Pyramid` provides a default |
239a93
|
605 |
implementation of a not found view; it can be overridden. See |
878328
|
606 |
:ref:`changing_the_notfound_view`. |
CM |
607 |
|
8c56ae
|
608 |
Forbidden view |
fd5ae9
|
609 |
An :term:`exception view` invoked by :app:`Pyramid` when the |
878328
|
610 |
developer explicitly raises a |
99edc5
|
611 |
``pyramid.httpexceptions.HTTPForbidden`` exception from within |
c5f24b
|
612 |
:term:`view` code or :term:`root factory` code, or when the |
239a93
|
613 |
:term:`view configuration` and :term:`authorization policy` |
CM |
614 |
found for a request disallows a particular view invocation. |
fd5ae9
|
615 |
:app:`Pyramid` provides a default implementation of a |
878328
|
616 |
forbidden view; it can be overridden. See |
CM |
617 |
:ref:`changing_the_forbidden_view`. |
|
618 |
|
239a93
|
619 |
Exception view |
CM |
620 |
An exception view is a :term:`view callable` which may be |
fd5ae9
|
621 |
invoked by :app:`Pyramid` when an exception is raised during |
239a93
|
622 |
request processing. See :ref:`exception_views` for more |
CM |
623 |
information. |
|
624 |
|
1ffb8e
|
625 |
HTTP Exception |
CM |
626 |
The set of exception classes defined in :mod:`pyramid.httpexceptions`. |
|
627 |
These can be used to generate responses with various status codes when |
|
628 |
raised or returned from a :term:`view callable`. See also |
|
629 |
:ref:`http_exceptions`. |
878328
|
630 |
|
CM |
631 |
thread local |
7e7fc9
|
632 |
A thread-local variable is one which is essentially a global variable |
CM |
633 |
in terms of how it is accessed and treated, however, each `thread |
|
634 |
<http://en.wikipedia.org/wiki/Thread_(computer_science)>`_ used by the |
|
635 |
application may have a different value for this same "global" variable. |
|
636 |
:app:`Pyramid` uses a small number of thread local variables, as |
|
637 |
described in :ref:`threadlocals_chapter`. See also the `threading.local |
|
638 |
documentation |
|
639 |
<http://docs.python.org/library/threading.html#threading.local>`_ for |
|
640 |
more information. |
e4e3aa
|
641 |
|
8c56ae
|
642 |
multidict |
2a1c3f
|
643 |
An ordered dictionary that can have multiple values for each key. Adds |
CM |
644 |
the methods ``getall``, ``getone``, ``mixed``, ``add`` and |
|
645 |
``dict_of_lists`` to the normal dictionary interface. See |
|
646 |
:ref:`multidict_narr` and :class:`pyramid.interfaces.IMultiDict`. |
e4e3aa
|
647 |
|
125e97
|
648 |
PyPI |
CM |
649 |
`The Python Package Index <http://pypi.python.org/pypi>`_, a |
|
650 |
collection of software available for Python. |
e0887e
|
651 |
|
CM |
652 |
Agendaless Consulting |
|
653 |
A consulting organization formed by Paul Everitt, Tres Seaver, |
|
654 |
and Chris McDonough. See also http://agendaless.com . |
9ec2d6
|
655 |
|
CM |
656 |
Jython |
7e7fc9
|
657 |
A `Python implementation <http://www.jython.org/>`_ written for |
9ec2d6
|
658 |
the Java Virtual Machine. |
CM |
659 |
|
|
660 |
Python |
7e7fc9
|
661 |
The `programming language <http://python.org>`_ in which |
fd5ae9
|
662 |
:app:`Pyramid` is written. |
9ec2d6
|
663 |
|
CM |
664 |
CPython |
|
665 |
The C implementation of the Python language. This is the |
|
666 |
reference implementation that most people refer to as simply |
|
667 |
"Python"; :term:`Jython`, Google's App Engine, and `PyPy |
|
668 |
<http://codespeak.net/pypy/dist/pypy/doc/>`_ are examples of |
|
669 |
non-C based Python implementations. |
590fe7
|
670 |
|
CM |
671 |
View Lookup |
|
672 |
The act of finding and invoking the "best" :term:`view callable` |
780999
|
673 |
given a :term:`request` and a :term:`context` resource. |
590fe7
|
674 |
|
780999
|
675 |
Resource Location |
CM |
676 |
The act of locating a :term:`context` resource given a :term:`request`. |
|
677 |
:term:`Traversal` and :term:`URL dispatch` are the resource location |
|
678 |
subsystems used by :app:`Pyramid`. |
590fe7
|
679 |
|
abf62d
|
680 |
Google App Engine |
CM |
681 |
`Google App Engine <http://code.google.com/appengine/>`_ (aka |
|
682 |
"GAE") is a Python application hosting service offered by Google. |
fd5ae9
|
683 |
:app:`Pyramid` runs on GAE. |
abf62d
|
684 |
|
e6fa66
|
685 |
Venusian |
CM |
686 |
`Venusian <http://docs.repoze.org/venusian>`_ is a library which |
|
687 |
allows framework authors to defer decorator actions. Instead of |
|
688 |
taking actions when a function (or class) decorator is executed |
|
689 |
at import time, the action usually taken by the decorator is |
fd5ae9
|
690 |
deferred until a separate "scan" phase. :app:`Pyramid` relies |
e6fa66
|
691 |
on Venusian to provide a basis for its :term:`scan` feature. |
7534ba
|
692 |
|
CM |
693 |
Translation String |
197f0c
|
694 |
An instance of :class:`pyramid.i18n.TranslationString`, which |
7534ba
|
695 |
is a class that behaves like a Unicode string, but has several |
CM |
696 |
extra attributes such as ``domain``, ``msgid``, and ``mapping`` |
|
697 |
for use during translation. Translation strings are usually |
|
698 |
created by hand within software, but are sometimes created on the |
|
699 |
behalf of the system for automatic template translation. For |
|
700 |
more information, see :ref:`i18n_chapter`. |
|
701 |
|
|
702 |
Translation Domain |
|
703 |
A string representing the "context" in which a translation was |
|
704 |
made. For example the word "java" might be translated |
|
705 |
differently if the translation domain is "programming-languages" |
|
706 |
than would be if the translation domain was "coffee". A |
|
707 |
translation domain is represnted by a collection of ``.mo`` files |
|
708 |
within one or more :term:`translation directory` directories. |
|
709 |
|
|
710 |
Translator |
|
711 |
A callable which receives a :term:`translation string` and |
|
712 |
returns a translated Unicode object for the purposes of |
|
713 |
internationalization. A :term:`localizer` supplies a |
fd5ae9
|
714 |
translator to a :app:`Pyramid` application accessible via its |
7534ba
|
715 |
``translate`` method. |
CM |
716 |
|
|
717 |
Translation Directory |
|
718 |
A translation directory is a :term:`gettext` translation |
|
719 |
directory. It contains language folders, which themselves |
|
720 |
contain ``LC_MESSAGES`` folders, which contain ``.mo`` files. |
|
721 |
Each ``.mo`` file represents a set of translations for a language |
|
722 |
in a :term:`translation domain`. The name of the ``.mo`` file |
|
723 |
(minus the .mo extension) is the translation domain name. |
|
724 |
|
|
725 |
Localizer |
197f0c
|
726 |
An instance of the class :class:`pyramid.i18n.Localizer` which |
7534ba
|
727 |
provides translation and pluralization services to an |
CM |
728 |
application. It is retrieved via the |
197f0c
|
729 |
:func:`pyramid.i18n.get_localizer` function. |
7534ba
|
730 |
|
CM |
731 |
Locale Name |
|
732 |
A string like ``en``, ``en_US``, ``de``, or ``de_AT`` which |
|
733 |
uniquely identifies a particular locale. |
|
734 |
|
b5dc7f
|
735 |
Default Locale Name |
CM |
736 |
The :term:`locale name` used by an application when no explicit |
|
737 |
locale name is set. See :ref:`localization_deployment_settings`. |
|
738 |
|
7534ba
|
739 |
Locale Negotiator |
CM |
740 |
An object supplying a policy determining which :term:`locale |
|
741 |
name` best represents a given :term:`request`. It is used by the |
197f0c
|
742 |
:func:`pyramid.i18n.get_locale_name`, and |
CM |
743 |
:func:`pyramid.i18n.negotiate_locale_name` functions, and |
|
744 |
indirectly by :func:`pyramid.i18n.get_localizer`. The |
|
745 |
:func:`pyramid.i18n.default_locale_negotiator` function |
7534ba
|
746 |
is an example of a locale negotiator. |
CM |
747 |
|
|
748 |
Gettext |
|
749 |
The GNU `gettext <http://www.gnu.org/software/gettext/>`_ |
fd5ae9
|
750 |
library, used by the :app:`Pyramid` translation machinery. |
7534ba
|
751 |
|
CM |
752 |
Babel |
|
753 |
A `collection of tools <http://babel.edgewall.org/>`_ for |
fd5ae9
|
754 |
internationalizing Python applications. :app:`Pyramid` does |
7534ba
|
755 |
not depend on Babel to operate, but if Babel is installed, |
CM |
756 |
additional locale functionality becomes available to your |
|
757 |
application. |
|
758 |
|
5119ae
|
759 |
Lingua |
c2db17
|
760 |
A package by Wichert Akkerman which provides :term:`Babel` message |
5119ae
|
761 |
extractors for Python source files and Chameleon ZPT template files. |
CM |
762 |
|
7534ba
|
763 |
Message Identifier |
CM |
764 |
A string used as a translation lookup key during localization. |
|
765 |
The ``msgid`` argument to a :term:`translation string` is a |
|
766 |
message identifier. Message identifiers are also present in a |
|
767 |
:term:`message catalog`. |
|
768 |
|
|
769 |
Message Catalog |
|
770 |
A :term:`gettext` ``.mo`` file containing translations. |
|
771 |
|
df3beb
|
772 |
Internationalization |
CM |
773 |
The act of creating software with a user interface that can |
|
774 |
potentially be displayed in more than one language or cultural |
|
775 |
context. Often shortened to "i18n" (because the word |
|
776 |
"internationalization" is I, 18 letters, then N). See also: |
|
777 |
:term:`Localization`. |
7534ba
|
778 |
|
df3beb
|
779 |
Localization |
CM |
780 |
The process of displaying the user interface of an |
|
781 |
internationalized application in a particular language or |
|
782 |
cultural context. Often shortened to "l10" (because the word |
|
783 |
"localization" is L, 10 letters, then N). See also: |
|
784 |
:term:`Internationalization`. |
250c02
|
785 |
|
CM |
786 |
renderer globals |
|
787 |
Values injected as names into a renderer based on application |
|
788 |
policy. See :ref:`adding_renderer_globals` for more |
|
789 |
information. |
81d3b5
|
790 |
|
CM |
791 |
response callback |
|
792 |
A user-defined callback executed by the :term:`router` at a |
|
793 |
point after a :term:`response` object is successfully created. |
|
794 |
See :ref:`using_response_callbacks`. |
|
795 |
|
|
796 |
finished callback |
|
797 |
A user-defined callback executed by the :term:`router` |
|
798 |
unconditionally at the very end of request processing . See |
|
799 |
:ref:`using_finished_callbacks`. |
70f1cd
|
800 |
|
CM |
801 |
pregenerator |
|
802 |
A pregenerator is a function associated by a developer with a |
197f0c
|
803 |
:term:`route`. It is called by :func:`pyramid.url.route_url` |
70f1cd
|
804 |
in order to adjust the set of arguments passed to it by the user |
CM |
805 |
for special purposes. It will influence the URL returned by |
|
806 |
``route_url``. See |
197f0c
|
807 |
:class:`pyramid.interfaces.IRoutePregenerator` for more |
70f1cd
|
808 |
information. |
04ebd5
|
809 |
|
CM |
810 |
session |
|
811 |
A namespace that is valid for some period of continual activity |
|
812 |
that can be used to represent a user's interaction with a web |
|
813 |
application. |
|
814 |
|
|
815 |
session factory |
|
816 |
A callable, which, when called with a single argument named |
|
817 |
``request`` (a :term:`request` object), returns a |
|
818 |
:term:`session` object. |
|
819 |
|
7698bd
|
820 |
Mako |
BB |
821 |
`Mako <http://www.makotemplates.org/>`_ is a template language language |
|
822 |
which refines the familiar ideas of componentized layout and inheritance |
|
823 |
using Python with Python scoping and calling semantics. |
2f980d
|
824 |
|
CM |
825 |
View handler |
|
826 |
A view handler ties together |
d7f259
|
827 |
:meth:`pyramid.config.Configurator.add_route` and |
2323d4
|
828 |
:meth:`pyramid.config.Configurator.add_view` to make it more convenient |
CM |
829 |
to register a collection of views as a single class when using |
|
830 |
:term:`url dispatch`. View handlers ship as part of the |
|
831 |
:term:`pyramid_handlers` add-on package. |
a1365e
|
832 |
|
CM |
833 |
Deployment settings |
|
834 |
Deployment settings are settings passed to the :term:`Configurator` as a |
|
835 |
``settings`` argument. These are later accessible via a |
|
836 |
``request.registry.settings`` dictionary. Deployment settings can be |
|
837 |
used as global application values. |
|
838 |
|
6ee49a
|
839 |
WebTest |
CM |
840 |
`WebTest <http://pythonpaste.org/webtest/>`_ is a package which can help |
|
841 |
you write functional tests for your WSGI application. |
|
842 |
|
53901d
|
843 |
WebError |
CM |
844 |
WSGI middleware which can display debuggable traceback information in |
|
845 |
the browser when an exception is raised by a Pyramid application. See |
|
846 |
http://pypi.python.org/pypi/WebError . |
|
847 |
|
80aa77
|
848 |
view mapper |
CM |
849 |
A view mapper is a class which implements the |
|
850 |
:class:`pyramid.interfaces.IViewMapperFactory` interface, which performs |
|
851 |
view argument and return value mapping. This is a plug point for |
|
852 |
extension builders, not normally used by "civilians". |
6ee49a
|
853 |
|
5653d1
|
854 |
matchdict |
CM |
855 |
The dictionary attached to the :term:`request` object as |
|
856 |
``request.matchdict`` when a :term:`URL dispatch` route has been matched. |
|
857 |
Its keys are names as identified within the route pattern; its values are |
|
858 |
the values matched by each pattern name. |
c9c3c4
|
859 |
|
CM |
860 |
pyramid_zcml |
|
861 |
An add-on package to :app:`Pyramid` which allows applications to be |
|
862 |
configured via ZCML. It is available on :term:`PyPI`. If you use |
|
863 |
``pyramid_zcml``, you can use ZCML as an alternative to |
|
864 |
:term:`imperative configuration`. |
|
865 |
|
|
866 |
ZCML |
|
867 |
`Zope Configuration Markup Language |
|
868 |
<http://www.muthukadan.net/docs/zca.html#zcml>`_, an XML dialect |
2e3f70
|
869 |
used by Zope and :term:`pyramid_zcml` for configuration tasks. |
c9c3c4
|
870 |
|
CM |
871 |
ZCML directive |
|
872 |
A ZCML "tag" such as ``<view>`` or ``<route>``. |
|
873 |
|
|
874 |
ZCML declaration |
|
875 |
The concrete use of a :term:`ZCML directive` within a ZCML file. |
|
876 |
|
78fe62
|
877 |
pyramid_handlers |
CM |
878 |
An add-on package which allows :app:`Pyramid` users to create classes |
|
879 |
that are analogues of Pylons 1 "controllers". See |
7e7fc9
|
880 |
http://docs.pylonsproject.org/projects/pyramid_handlers/dev/ . |
78fe62
|
881 |
|
2323d4
|
882 |
pyramid_jinja2 |
CM |
883 |
:term:`Jinja2` templating system bindings for Pyramid, documented at |
|
884 |
http://docs.pylonsproject.org/projects/pyramid_jinja2/dev/ . This |
758464
|
885 |
package also includes a scaffold named |
2323d4
|
886 |
``pyramid_jinja2_starter``, which creates an application package based |
CM |
887 |
on the Jinja2 templating system. |
|
888 |
|
0eb82e
|
889 |
Akhet |
CM |
890 |
Akhet is a Pyramid-based development environment which provides a |
|
891 |
Pylons-esque scaffold which sports support for :term:`view handler` |
|
892 |
application development, :term:`SQLAlchemy` support, :term:`Mako` |
|
893 |
templating by default, and other Pylons-like features. See |
|
894 |
http://docs.pylonsproject.org/projects/akhet/dev/index.html for more |
2323d4
|
895 |
information. |
CM |
896 |
|
4cf41f
|
897 |
Pyramid Cookbook |
7e7fc9
|
898 |
An additional documentation resource for Pyramid which presents topical, |
CM |
899 |
practical usages of Pyramid available via |
|
900 |
http://docs.pylonsproject.org/ . |
4cf41f
|
901 |
|
ff3ba5
|
902 |
distutils |
CM |
903 |
The standard system for packaging and distributing Python packages. See |
|
904 |
http://docs.python.org/distutils/index.html for more information. |
|
905 |
:term:`setuptools` is actually an *extension* of the Distutils. |
|
906 |
|
df15ed
|
907 |
exception response |
CM |
908 |
A :term:`response` that is generated as the result of a raised exception |
|
909 |
being caught by an :term:`exception view`. |
2323d4
|
910 |
|
f98925
|
911 |
PyPy |
CM |
912 |
PyPy is an "alternative implementation of the Python |
|
913 |
language":http://pypy.org/ |
|
914 |
|