summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO.txt7
-rw-r--r--docs/index.rst1
-rw-r--r--docs/latexindex.rst1
-rw-r--r--docs/narr/MyProject/development.ini6
-rw-r--r--docs/narr/MyProject/production.ini6
-rw-r--r--docs/narr/commandline.rst6
-rw-r--r--docs/narr/environment.rst8
-rw-r--r--docs/narr/i18n.rst4
-rw-r--r--docs/narr/logging.rst26
-rw-r--r--docs/narr/paste.rst99
-rw-r--r--docs/narr/project.rst121
-rw-r--r--docs/narr/security.rst2
-rw-r--r--docs/narr/startup.rst23
-rw-r--r--docs/narr/templates.rst6
-rw-r--r--docs/narr/vhosting.rst2
-rw-r--r--docs/tutorials/wiki/basiclayout.rst13
-rw-r--r--docs/tutorials/wiki/src/authorization/development.ini6
-rw-r--r--docs/tutorials/wiki/src/authorization/production.ini6
-rw-r--r--docs/tutorials/wiki/src/basiclayout/development.ini6
-rw-r--r--docs/tutorials/wiki/src/basiclayout/production.ini6
-rw-r--r--docs/tutorials/wiki/src/models/development.ini6
-rw-r--r--docs/tutorials/wiki/src/models/production.ini6
-rw-r--r--docs/tutorials/wiki/src/tests/development.ini6
-rw-r--r--docs/tutorials/wiki/src/tests/production.ini6
-rw-r--r--docs/tutorials/wiki/src/views/development.ini6
-rw-r--r--docs/tutorials/wiki/src/views/production.ini6
-rw-r--r--docs/tutorials/wiki2/basiclayout.rst7
-rw-r--r--docs/tutorials/wiki2/src/authorization/development.ini6
-rw-r--r--docs/tutorials/wiki2/src/authorization/production.ini6
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/development.ini6
-rw-r--r--docs/tutorials/wiki2/src/basiclayout/production.ini6
-rw-r--r--docs/tutorials/wiki2/src/models/development.ini6
-rw-r--r--docs/tutorials/wiki2/src/models/production.ini6
-rw-r--r--docs/tutorials/wiki2/src/tests/development.ini6
-rw-r--r--docs/tutorials/wiki2/src/tests/production.ini6
-rw-r--r--docs/tutorials/wiki2/src/views/development.ini6
-rw-r--r--docs/tutorials/wiki2/src/views/production.ini6
-rw-r--r--pyramid/scaffolds/alchemy/development.ini_tmpl6
-rw-r--r--pyramid/scaffolds/alchemy/production.ini_tmpl6
-rw-r--r--pyramid/scaffolds/routesalchemy/development.ini_tmpl6
-rw-r--r--pyramid/scaffolds/routesalchemy/production.ini_tmpl6
-rw-r--r--pyramid/scaffolds/starter/development.ini_tmpl6
-rw-r--r--pyramid/scaffolds/starter/production.ini_tmpl6
-rw-r--r--pyramid/scaffolds/zodb/development.ini_tmpl6
-rw-r--r--pyramid/scaffolds/zodb/production.ini_tmpl6
45 files changed, 223 insertions, 283 deletions
diff --git a/TODO.txt b/TODO.txt
index 088d20e9f..744e97778 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -1,14 +1,11 @@
Pyramid TODOs
=============
-Should-Have
------------
-
-- Name WSGI app "main" instead of pipeline in scaffold configs?
-
Nice-to-Have
------------
+- Flesh out "paste" chapter.
+
- Move configuration-related stuff in "static" to config/views, from
"settings" to config/settings, "renderers" to config/rendering, "asset" to
config/assets, and possibly mako/chameleon rendering stuff to
diff --git a/docs/index.rst b/docs/index.rst
index 0c8b44e76..380dce065 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -54,6 +54,7 @@ Narrative documentation in chapter form explaining how to use
narr/events
narr/environment
narr/logging
+ narr/paste
narr/commandline
narr/i18n
narr/vhosting
diff --git a/docs/latexindex.rst b/docs/latexindex.rst
index 5afc47fd1..584dd3825 100644
--- a/docs/latexindex.rst
+++ b/docs/latexindex.rst
@@ -42,6 +42,7 @@ Narrative Documentation
narr/events
narr/environment
narr/logging
+ narr/paste
narr/commandline
narr/i18n
narr/vhosting
diff --git a/docs/narr/MyProject/development.ini b/docs/narr/MyProject/development.ini
index e134e9f06..e93266bab 100644
--- a/docs/narr/MyProject/development.ini
+++ b/docs/narr/MyProject/development.ini
@@ -1,4 +1,4 @@
-[app:MyProject]
+[app:main]
use = egg:MyProject
pyramid.reload_templates = true
@@ -9,10 +9,6 @@ pyramid.debug_templates = true
pyramid.default_locale_name = en
pyramid.includes = pyramid_debugtoolbar
-[pipeline:main]
-pipeline =
- MyProject
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/narr/MyProject/production.ini b/docs/narr/MyProject/production.ini
index 0a2154b15..83bce1ef2 100644
--- a/docs/narr/MyProject/production.ini
+++ b/docs/narr/MyProject/production.ini
@@ -1,4 +1,4 @@
-[app:MyProject]
+[app:main]
use = egg:MyProject
pyramid.reload_templates = false
@@ -8,10 +8,6 @@ pyramid.debug_routematch = false
pyramid.debug_templates = false
pyramid.default_locale_name = en
-[pipeline:main]
-pipeline =
- MyProject
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/narr/commandline.rst b/docs/narr/commandline.rst
index bb004c446..cef331e2d 100644
--- a/docs/narr/commandline.rst
+++ b/docs/narr/commandline.rst
@@ -127,12 +127,12 @@ The argument to ``pshell`` follows the format ``config_file#section_name``
where ``config_file`` is the path to your application's ``.ini`` file and
``section_name`` is the ``app`` section name inside the ``.ini`` file which
points to your application. For example, if your application ``.ini`` file
-might have a ``[app:MyProject]`` section that looks like so:
+might have a ``[app:main]`` section that looks like so:
.. code-block:: ini
:linenos:
- [app:MyProject]
+ [app:main]
use = egg:MyProject
pyramid.reload_templates = true
pyramid.debug_authorization = false
@@ -401,7 +401,7 @@ tween chain is used:
.. code-block:: text
:linenos:
- [app:starter]
+ [app:main]
use = egg:starter
reload_templates = true
debug_authorization = false
diff --git a/docs/narr/environment.rst b/docs/narr/environment.rst
index 352912a81..a5909e541 100644
--- a/docs/narr/environment.rst
+++ b/docs/narr/environment.rst
@@ -239,7 +239,7 @@ file in your application:
.. code-block:: ini
- [app:myapp]
+ [app:main]
pyramid.includes = pyramid_debugtoolbar
pyramid_tm
@@ -352,7 +352,7 @@ file in your application:
.. code-block:: ini
- [app:myapp]
+ [app:main]
pyramid.tweens = pyramid_debugtoolbar.toolbar.tween_factory
pyramid.tweens.excview_tween_factory
pyramid_tm.tm_tween_factory
@@ -534,7 +534,7 @@ an example of such a section:
:linenos:
[app:main]
- use = egg:MyProject#app
+ use = egg:MyProject
pyramid.reload_templates = true
pyramid.debug_authorization = true
@@ -628,7 +628,7 @@ Here's how:
.. code-block:: ini
- [app:myapp]
+ [app:main]
# .. other settings
debug_frobnosticator = True
diff --git a/docs/narr/i18n.rst b/docs/narr/i18n.rst
index ba5490b31..aef9b59ab 100644
--- a/docs/narr/i18n.rst
+++ b/docs/narr/i18n.rst
@@ -787,7 +787,7 @@ application's Paster ``.ini`` file:
:linenos:
[app:main]
- use = egg:MyProject#app
+ use = egg:MyProject
pyramid.reload_templates = true
pyramid.debug_authorization = false
pyramid.debug_notfound = false
@@ -847,7 +847,7 @@ Allow a deployer to modify your application's PasteDeploy .ini file:
:linenos:
[app:main]
- use = egg:MyProject#app
+ use = egg:MyProject
# ...
available_languages = fr de en ru
diff --git a/docs/narr/logging.rst b/docs/narr/logging.rst
index 375ab820c..8abcba3c7 100644
--- a/docs/narr/logging.rst
+++ b/docs/narr/logging.rst
@@ -301,22 +301,36 @@ requests using the `Apache Combined Log Format
with a FileHandler can be used to create an ``access.log`` file similar to
Apache's.
-Like any standard middleware with a Paste entry point, TransLogger can be
-configured to wrap your application in the ``[app:main]`` section of the ini
-file:
+Like any standard middleware with a Paste entry point, TransLogger can be
+configured to wrap your application using ``.ini`` file syntax. First,
+rename your Pyramid ``.ini`` file's ``[app:main]`` section to
+``[app:mypyramidapp]``, then add a ``[filter:translogger]`` section, then use
+a ``[pipeline:main]`` section file to form a WSGI pipeline with both the
+translogger and your application in it. For instance, change from this:
.. code-block:: ini
+ [app:main]
+ use = egg:MyProject
+
+To this:
+
+.. code-block:: ini
+
+ [app:mypyramidapp]
+ use = egg:MyProject
+
[filter:translogger]
paste.filter_app_factory = egg:Paste#translogger
setup_console_handler = False
[pipeline:main]
pipeline = translogger
- myapp
+ mypyramidapp
-This is equivalent to wrapping your app in a TransLogger instance via the
-bottom the ``main`` function of your project's ``__init__`` file:
+Using PasteDeploy this way to form and serve a pipeline is equivalent to
+wrapping your app in a TransLogger instance via the bottom the ``main``
+function of your project's ``__init__`` file:
.. code-block:: python
diff --git a/docs/narr/paste.rst b/docs/narr/paste.rst
new file mode 100644
index 000000000..39ae4f373
--- /dev/null
+++ b/docs/narr/paste.rst
@@ -0,0 +1,99 @@
+.. _paste_chapter:
+
+Paste
+=====
+
+Packages generated via a :term:`scaffold` make use of a system created by Ian
+Bicking named :term:`Paste`. Paste provides the following features:
+
+- A way to declare :term:`WSGI` application configuration in an ``.ini`` file
+ (PasteDeploy).
+
+- A :term:`WSGI` server runner (``paster serve``) which can accept
+ PasteDeploy ``.ini`` file values as input.
+
+- A mechanism for rendering scaffolds into projects (``paster create``).
+
+Paste is not a particularly integral part of Pyramid. It's more or less used
+directly only in projects created from scaffolds. It's possible to create a
+Pyramid application which does not use Paste at all. We show a Pyramid
+application that doesn't use Paste in :ref:`firstapp_chapter`. However, all
+Pyramid scaffolds use the system, to provide new developers with a
+standardized way of starting, stopping, and setting deployment values. This
+chapter is not a replacement for documentation about Paste or PasteDeploy; it
+only contextualizes the use of Paste within Pyramid. For detailed
+documentation, see http://pythonpaste.org.
+
+PasteDeploy
+-----------
+
+:term:`PasteDeploy` is the system that Pyramid uses to allow
+:term:`deployment settings` to be spelled using an ``.ini`` configuration
+file format. It also allows the ``paster serve`` command to work. Its
+configuration format provides a convenient place to define application
+:term:`deployment settings` and WSGI server settings, and its server runner
+allows you to stop and start a Pyramid application easily.
+
+.. _pastedeploy_entry_points:
+
+Entry Points and PasteDeploy ``.ini`` Files
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In the :ref:`project_narr` chapter, we breezed over the meaning of a
+configuration line in the ``deployment.ini`` file. This was the ``use =
+egg:MyProject`` line in the ``[app:main]`` section. We breezed over it
+because it's pretty confusing and "too much information" for an introduction
+to the system. We'll try to give it a bit of attention here. Let's see the
+config file again:
+
+.. literalinclude:: MyProject/development.ini
+ :language: ini
+ :linenos:
+
+The line in ``[app:main]`` above that says ``use = egg:MyProject`` is
+actually shorthand for a longer spelling: ``use = egg:MyProject#main``. The
+``#main`` part is omitted for brevity, as ``#main`` is a default defined by
+PasteDeploy. ``egg:MyProject#main`` is a string which has meaning to
+PasteDeploy. It points at a :term:`setuptools` :term:`entry point` named
+``main`` defined in the ``MyProject`` project.
+
+Take a look at the generated ``setup.py`` file for this project.
+
+.. literalinclude:: MyProject/setup.py
+ :language: python
+ :linenos:
+
+Note that the ``entry_point`` line in ``setup.py`` points at a string which
+looks a lot like an ``.ini`` file. This string representation of an ``.ini``
+file has a section named ``[paste.app_factory]``. Within this section, there
+is a key named ``main`` (the entry point name) which has a value
+``myproject:main``. The *key* ``main`` is what our ``egg:MyProject#main``
+value of the ``use`` section in our config file is pointing at, although it
+is actually shortened to ``egg:MyProject`` there. The value represents a
+:term:`dotted Python name` path, which refers to a callable in our
+``myproject`` package's ``__init__.py`` module.
+
+The ``egg:`` prefix in ``egg:MyProject`` indicates that this is an entry
+point *URI* specifier, where the "scheme" is "egg". An "egg" is created when
+you run ``setup.py install`` or ``setup.py develop`` within your project.
+
+In English, this entry point can thus be referred to as a "Paste application
+factory in the ``MyProject`` project which has the entry point named ``main``
+where the entry point refers to a ``main`` function in the ``mypackage``
+module". Indeed, if you open up the ``__init__.py`` module generated within
+any scaffold-generated package, you'll see a ``main`` function. This is the
+function called by :term:`PasteDeploy` when the ``paster serve`` command is
+invoked against our application. It accepts a global configuration object
+and *returns* an instance of our application.
+
+``[DEFAULTS]`` Section of a PasteDeploy ``.ini`` File
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+You can add a ``[DEFAULT]`` section to your PasteDeploy ``.ini`` file. Such
+a section should consists of global parameters that are shared by all the
+applications, servers and :term:`middleware` defined within the configuration
+file. The values in a ``[DEFAULT]`` section will be passed to your
+application's ``main`` function as ``global_config`` (see the reference to
+the ``main`` function in :ref:`init_py`).
+
+
diff --git a/docs/narr/project.rst b/docs/narr/project.rst
index d259a9c79..9ea5f20dd 100644
--- a/docs/narr/project.rst
+++ b/docs/narr/project.rst
@@ -153,8 +153,7 @@ Another :term:`PasteDeploy` ``.ini`` file named ``production.ini`` will also
be created in the project directory. It sports configuration that disables
any interactive debugger (to prevent inappropriate access and disclosure),
and turns off a number of debugging settings. You can use this file to put
-your application into production, and you can modify it to do things like
-send email when an exception occurs.
+your application into production.
The ``MyProject`` project directory contains an additional subdirectory named
``myproject`` (note the case difference) representing a Python
@@ -294,7 +293,6 @@ configuration file settings that influence startup and runtime behavior, see
:ref:`environment_chapter`.
.. index::
- single: mod_wsgi
single: WSGI
Viewing the Application
@@ -341,7 +339,7 @@ example, instead of:
.. code-block:: ini
:linenos:
- [app:MyApp]
+ [app:main]
...
pyramid.includes = pyramid_debugtoolbar
@@ -350,7 +348,7 @@ Put a hash mark in front of the ``pyramid.includes`` line:
.. code-block:: ini
:linenos:
- [app:MyApp]
+ [app:main]
...
#pyramid.includes = pyramid_debugtoolbar
@@ -443,73 +441,41 @@ The generated ``development.ini`` file looks like so:
:language: ini
:linenos:
-This file contains several "sections" including ``[app:MyProject]``,
-``[pipeline:main]``, ``[server:main]`` and several other sections related to
-logging configuration.
-
-The ``[app:MyProject]`` section represents configuration for your
-application. This section name represents the ``MyProject`` application (and
-it's an ``app`` -lication, thus ``app:MyProject``)
-
-The ``use`` setting is required in the ``[app:MyProject]`` section. The
-``use`` setting points at a :term:`setuptools` :term:`entry point` named
-``MyProject`` (the ``egg:`` prefix in ``egg:MyProject`` indicates that this
-is an entry point *URI* specifier, where the "scheme" is "egg").
-``egg:MyProject`` is actually shorthand for a longer spelling:
-``egg:MyProject#main``. The ``#main`` part is omitted for brevity, as it is
-the default.
-
-.. sidebar:: ``setuptools`` Entry Points and PasteDeploy ``.ini`` Files
-
- This part of configuration can be confusing so let's try to clear things
- up a bit. Take a look at the generated ``setup.py`` file for this
- project. Note that the ``entry_point`` line in ``setup.py`` points at a
- string which looks a lot like an ``.ini`` file. This string
- representation of an ``.ini`` file has a section named
- ``[paste.app_factory]``. Within this section, there is a key named
- ``main`` (the entry point name) which has a value ``myproject:main``. The
- *key* ``main`` is what our ``egg:MyProject#main`` value of the ``use``
- section in our config file is pointing at (although it is actually
- shortened to ``egg:MyProject`` there). The value represents a
- :term:`dotted Python name` path, which refers to a callable in our
- ``myproject`` package's ``__init__.py`` module. In English, this entry
- point can thus be referred to as a "Paste application factory in the
- ``MyProject`` project which has the entry point named ``main`` where the
- entry point refers to a ``main`` function in the ``mypackage`` module".
- Indeed, if you open up the ``__init__.py`` module generated within the
- ``myproject`` package, you'll see a ``main`` function. This is the
- function called by :term:`PasteDeploy` when the ``paster serve`` command
- is invoked against our application. It accepts a global configuration
- object and *returns* an instance of our application.
-
-The ``use`` setting is the only setting *required* in the ``[app:MyProject]``
-section unless you've changed the callable referred to by the
-``egg:MyProject`` entry point to accept more arguments: other settings you
-add to this section are passed as keyword arguments to the callable
-represented by this entry point (``main`` in our ``__init__.py`` module).
-You can provide startup-time configuration parameters to your application by
+This file contains several "sections" including ``[app:main]``,
+``[server:main]`` and several other sections related to logging
+configuration.
+
+The ``[app:main]`` section represents configuration for your :app:`Pyramid`
+application. The ``use`` setting is the only setting required to be present
+in the ``[app:main]`` section. Its default value, ``egg:MyProject``,
+indicates that our MyProject project contains the application that should be
+served. Other settings added to this section are passed as keyword arguments
+to the function named ``main`` in our package's ``__init__.py`` module. You
+can provide startup-time configuration parameters to your application by
adding more settings to this section.
-The ``pyramid.reload_templates`` setting in the ``[app:MyProject]`` section is
-a :app:`Pyramid` -specific setting which is passed into the framework. If it
+.. note:: See :ref:`pastedeploy_entry_points` for more information about the
+ meaning of the ``use = egg:MyProject`` value in this section.
+
+The ``pyramid.reload_templates`` setting in the ``[app:main]`` section is a
+:app:`Pyramid` -specific setting which is passed into the framework. If it
exists, and its value is ``true``, :term:`Chameleon` and :term:`Mako`
template changes will not require an application restart to be detected. See
:ref:`reload_templates_section` for more information.
-The ``pyramid.debug_templates`` setting in the ``[app:MyProject]`` section is a
+The ``pyramid.debug_templates`` setting in the ``[app:main]`` section is a
:app:`Pyramid` -specific setting which is passed into the framework. If it
exists, and its value is ``true``, :term:`Chameleon` template exceptions will
-contain more detailed and helpful information about the error than when
-this value is ``false``. See :ref:`debug_templates_section` for more
-information.
+contain more detailed and helpful information about the error than when this
+value is ``false``. See :ref:`debug_templates_section` for more information.
.. warning:: The ``pyramid.reload_templates`` and ``pyramid.debug_templates``
options should be turned off for production applications, as template
rendering is slowed when either is turned on.
-The ``pyramid.includes`` setting in the ``[app:MyProject]`` section tells
-Pyramid to "include" configuration from another package. In this case, the
-line ``pyramid.includes = pyramid_debugtoolbar`` tells Pyramid to include
+The ``pyramid.includes`` setting in the ``[app:main]`` section tells Pyramid
+to "include" configuration from another package. In this case, the line
+``pyramid.includes = pyramid_debugtoolbar`` tells Pyramid to include
configuration from the ``pyramid_debugtoolbar`` package. This turns on a
debugging panel in development mode which will be shown on the right hand
side of the screen. Including the debug toolbar will also make it possible
@@ -519,23 +485,15 @@ Various other settings may exist in this section having to do with debugging
or influencing runtime behavior of a :app:`Pyramid` application. See
:ref:`environment_chapter` for more information about these settings.
-``[pipeline:main]``, has the name ``main`` signifying that this is the
-default 'application' (although it's actually a pipeline of middleware and an
-application) run by ``paster serve`` when it is invoked against this
+The name ``main`` in ``[app:main]`` signifies that this is the default
+application run by ``paster serve`` when it is invoked against this
configuration file. The name ``main`` is a convention used by PasteDeploy
signifying that it is the default application.
The ``[server:main]`` section of the configuration file configures a WSGI
server which listens on TCP port 6543. It is configured to listen on all
-interfaces (``0.0.0.0``). The ``Paste#http`` server will create a new thread
-for each request.
-
-.. note::
-
- In general, :app:`Pyramid` applications generated from scaffolds
- should be threading-aware. It is not required that a :app:`Pyramid`
- application be nonblocking as all application code will run in its own
- thread, provided by the server you're using.
+interfaces (``0.0.0.0``). This means that any remote system which has TCP
+access to your system can see your Pyramid application.
The sections that live between the markers ``# Begin logging configuration``
and ``# End logging configuration`` represent Python's standard library
@@ -545,22 +503,14 @@ configuration engine
<http://docs.python.org/howto/logging.html#configuring-logging>`_ when the
``paster serve`` or ``paster pshell`` commands are executed. The default
configuration sends application logging output to the standard error output
-of your terminal.
+of your terminal. For more information about logging configuration, see
+:ref:`logging_chapter`.
See the :term:`PasteDeploy` documentation for more information about other
types of things you can put into this ``.ini`` file, such as other
applications, :term:`middleware` and alternate :term:`WSGI` server
implementations.
-.. note::
-
- You can add a ``[DEFAULT]`` section to your ``development.ini`` file.
- Such a section should consists of global parameters that are shared by all
- the applications, servers and :term:`middleware` defined within the
- configuration file. The values in a ``[DEFAULT]`` section will be passed
- to your application's ``main`` function as ``global_config`` (see
- the reference to the ``main`` function in :ref:`init_py`).
-
.. index::
single: production.ini
@@ -644,9 +594,12 @@ will be run when ``setup.py test`` is invoked. We examined ``entry_points``
in our discussion of the ``development.ini`` file; this file defines the
``main`` entry point that represents our project's application.
-Usually you only need to think about the contents of the ``setup.py`` file
-when distributing your application to other people, or when versioning your
-application for your own use. For fun, you can try this command now:
+A more exhaustive explanation of the purpose and composition of ``setup.py``
+is available at `The Hitchhiker's Guide to Packaging
+<http://guide.python-distribute.org/>`_. Usually you only need to think
+about the contents of the ``setup.py`` file when distributing your
+application to other people, or when versioning your application for your own
+use. For fun, you can try this command now:
.. code-block:: text
diff --git a/docs/narr/security.rst b/docs/narr/security.rst
index a61578e21..8d30a76a7 100644
--- a/docs/narr/security.rst
+++ b/docs/narr/security.rst
@@ -525,7 +525,7 @@ application's configuration section, e.g.:
:linenos:
[app:main]
- use = egg:MyProject#app
+ use = egg:MyProject
pyramid.debug_authorization = true
With this debug flag turned on, the response sent to the browser will
diff --git a/docs/narr/startup.rst b/docs/narr/startup.rst
index c9ed01f83..c66264655 100644
--- a/docs/narr/startup.rst
+++ b/docs/narr/startup.rst
@@ -51,7 +51,9 @@ Here's a high-level time-ordered overview of what happens when you press
If instead of a simple application or a pipeline, you're using a Paste
"composite" (e.g. ``[composite:main]``), refer to the documentation for
that particular composite to understand how to make it refer to your
- :app:`Pyramid` application.
+ :app:`Pyramid` application. In most cases, a Pyramid application built
+ from a scaffold will have a single ``[app:main]`` section in it, and this
+ will be the application served.
#. The PasteDeploy framework finds all :mod:`logging` related configuration
in the ``.ini`` file and uses it to configure the Python standard library
@@ -78,10 +80,9 @@ Here's a high-level time-ordered overview of what happens when you press
section of an ``.ini`` file. It also accepts a ``**settings`` argument,
which collects another set of arbitrary key/value pairs. The arbitrary
key/value pairs received by this function in ``**settings`` will be
- composed of all the key/value pairs that are present in the
- ``[app:MyProject]`` section (except for the ``use=`` setting) when this
- function is called by the :term:`PasteDeploy` framework when you run
- ``paster serve``.
+ composed of all the key/value pairs that are present in the ``[app:main]``
+ section (except for the ``use=`` setting) when this function is called by
+ the :term:`PasteDeploy` framework when you run ``paster serve``.
Our generated ``development.ini`` file looks like so:
@@ -107,9 +108,9 @@ Here's a high-level time-ordered overview of what happens when you press
application's root resource. It is not called during startup, only when a
request is handled.
- The ``settings`` dictionary contains all the options in the
- ``[app:MyProject]`` section of our .ini file except the ``use`` option
- (which is internal to Paste) such as ``pyramid.reload_templates``,
+ The ``settings`` dictionary contains all the options in the ``[app:main]``
+ section of our .ini file except the ``use`` option (which is internal to
+ Paste) such as ``pyramid.reload_templates``,
``pyramid.debug_authorization``, etc.
#. The ``main`` function then calls various methods on the instance of the
@@ -128,9 +129,9 @@ Here's a high-level time-ordered overview of what happens when you press
:ref:`events_chapter` for more information about events).
#. Assuming there were no errors, the ``main`` function in ``myproject``
- returns the router instance created by ``make_wsgi_app`` back to
- PasteDeploy. As far as PasteDeploy is concerned, it is "just another WSGI
- application".
+ returns the router instance created by
+ :meth:`pyramid.config.Configurator.make_wsgi_app` back to PasteDeploy. As
+ far as PasteDeploy is concerned, it is "just another WSGI application".
#. PasteDeploy starts the WSGI *server* defined within the ``[server:main]``
section. In our case, this is the ``Paste#http`` server (``use =
diff --git a/docs/narr/templates.rst b/docs/narr/templates.rst
index 0f46f6422..d5caed4be 100644
--- a/docs/narr/templates.rst
+++ b/docs/narr/templates.rst
@@ -638,8 +638,8 @@ the application's configuration section, e.g.:
.. code-block:: ini
:linenos:
- [app:MyProject]
- use = egg:MyProject#app
+ [app:main]
+ use = egg:MyProject
pyramid.debug_templates = true
With template debugging off, a :exc:`NameError` exception resulting
@@ -800,7 +800,7 @@ application's configuration section, e.g.:
:linenos:
[app:main]
- use = egg:MyProject#app
+ use = egg:MyProject
pyramid.reload_templates = true
.. index::
diff --git a/docs/narr/vhosting.rst b/docs/narr/vhosting.rst
index ddbf1fb4d..8697df6a0 100644
--- a/docs/narr/vhosting.rst
+++ b/docs/narr/vhosting.rst
@@ -46,7 +46,7 @@ a ``urlmap`` composite.
:linenos:
[app:mypyramidapp]
- use = egg:mypyramidapp#app
+ use = egg:mypyramidapp
[composite:main]
use = egg:Paste#urlmap
diff --git a/docs/tutorials/wiki/basiclayout.rst b/docs/tutorials/wiki/basiclayout.rst
index 726f32545..d3f2fb455 100644
--- a/docs/tutorials/wiki/basiclayout.rst
+++ b/docs/tutorials/wiki/basiclayout.rst
@@ -162,16 +162,9 @@ opposed to the tutorial :term:`package` directory) looks like this:
.. literalinclude:: src/views/development.ini
:language: ini
-Note the existence of a ``[pipeline:main]`` section which specifies our WSGI
-pipeline. This "pipeline" will be served up as our WSGI application. As far
-as the WSGI server is concerned the pipeline *is* our application.
-
-Our ZODB database settings are specified as the ``zodbconn.uri`` setting in
-the application section.
-
-The only line in the ``[pipeline:main]`` section is ``tutorial``, which
-refers to the ``[app:tutorial]`` section above it. The ``[app:tutorial]``
-section is the section which actually defines our application settings. The
+Note the existence of an ``[app:main]`` section which specifies our WSGI
+application. Our ZODB database settings are specified as the
+``zodbconn.uri`` setting within this section. This value, and the other
values within this section are passed as ``**settings`` to the ``main``
function we defined in ``__init__.py`` when the server is started via
``paster serve``.
diff --git a/docs/tutorials/wiki/src/authorization/development.ini b/docs/tutorials/wiki/src/authorization/development.ini
index 2db77b9ef..a45860ff7 100644
--- a/docs/tutorials/wiki/src/authorization/development.ini
+++ b/docs/tutorials/wiki/src/authorization/development.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = true
pyramid.debug_authorization = false
@@ -12,10 +12,6 @@ pyramid.includes = pyramid_debugtoolbar
tm.attempts = 3
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki/src/authorization/production.ini b/docs/tutorials/wiki/src/authorization/production.ini
index 0462bae90..0588f63a0 100644
--- a/docs/tutorials/wiki/src/authorization/production.ini
+++ b/docs/tutorials/wiki/src/authorization/production.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = false
pyramid.debug_authorization = false
@@ -11,10 +11,6 @@ pyramid.includes = pyramid_tm
tm.attempts = 3
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki/src/basiclayout/development.ini b/docs/tutorials/wiki/src/basiclayout/development.ini
index 28775cba9..87da2f84a 100644
--- a/docs/tutorials/wiki/src/basiclayout/development.ini
+++ b/docs/tutorials/wiki/src/basiclayout/development.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = true
pyramid.debug_authorization = false
@@ -12,10 +12,6 @@ pyramid.includes = pyramid_debugtoolbar
tm.attempts = 3
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki/src/basiclayout/production.ini b/docs/tutorials/wiki/src/basiclayout/production.ini
index 0462bae90..0588f63a0 100644
--- a/docs/tutorials/wiki/src/basiclayout/production.ini
+++ b/docs/tutorials/wiki/src/basiclayout/production.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = false
pyramid.debug_authorization = false
@@ -11,10 +11,6 @@ pyramid.includes = pyramid_tm
tm.attempts = 3
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki/src/models/development.ini b/docs/tutorials/wiki/src/models/development.ini
index 2db77b9ef..a45860ff7 100644
--- a/docs/tutorials/wiki/src/models/development.ini
+++ b/docs/tutorials/wiki/src/models/development.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = true
pyramid.debug_authorization = false
@@ -12,10 +12,6 @@ pyramid.includes = pyramid_debugtoolbar
tm.attempts = 3
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki/src/models/production.ini b/docs/tutorials/wiki/src/models/production.ini
index 0462bae90..0588f63a0 100644
--- a/docs/tutorials/wiki/src/models/production.ini
+++ b/docs/tutorials/wiki/src/models/production.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = false
pyramid.debug_authorization = false
@@ -11,10 +11,6 @@ pyramid.includes = pyramid_tm
tm.attempts = 3
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki/src/tests/development.ini b/docs/tutorials/wiki/src/tests/development.ini
index 2db77b9ef..a45860ff7 100644
--- a/docs/tutorials/wiki/src/tests/development.ini
+++ b/docs/tutorials/wiki/src/tests/development.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = true
pyramid.debug_authorization = false
@@ -12,10 +12,6 @@ pyramid.includes = pyramid_debugtoolbar
tm.attempts = 3
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki/src/tests/production.ini b/docs/tutorials/wiki/src/tests/production.ini
index 0462bae90..0588f63a0 100644
--- a/docs/tutorials/wiki/src/tests/production.ini
+++ b/docs/tutorials/wiki/src/tests/production.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = false
pyramid.debug_authorization = false
@@ -11,10 +11,6 @@ pyramid.includes = pyramid_tm
tm.attempts = 3
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki/src/views/development.ini b/docs/tutorials/wiki/src/views/development.ini
index 28775cba9..87da2f84a 100644
--- a/docs/tutorials/wiki/src/views/development.ini
+++ b/docs/tutorials/wiki/src/views/development.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = true
pyramid.debug_authorization = false
@@ -12,10 +12,6 @@ pyramid.includes = pyramid_debugtoolbar
tm.attempts = 3
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki/src/views/production.ini b/docs/tutorials/wiki/src/views/production.ini
index 0462bae90..0588f63a0 100644
--- a/docs/tutorials/wiki/src/views/production.ini
+++ b/docs/tutorials/wiki/src/views/production.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = false
pyramid.debug_authorization = false
@@ -11,10 +11,6 @@ pyramid.includes = pyramid_tm
tm.attempts = 3
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki2/basiclayout.rst b/docs/tutorials/wiki2/basiclayout.rst
index 0fd64fde4..2d25ace00 100644
--- a/docs/tutorials/wiki2/basiclayout.rst
+++ b/docs/tutorials/wiki2/basiclayout.rst
@@ -19,10 +19,11 @@ package. We use ``__init__.py`` both as a package marker and to contain
configuration code.
The generated ``development.ini`` file is read by ``paster`` which looks for
-the application module in the ``use`` variable of the ``app:tutorial``
+the application module in the ``use`` variable of the ``app:main``
section. The *entry point* is defined in the Setuptools configuration of this
module, specifically in the ``setup.py`` file. For this tutorial, the *entry
-point* is defined as ``tutorial:main`` and points to a function named ``main``.
+point* is defined as ``tutorial:main`` and points to a function named
+``main``.
First we need some imports to support later code:
@@ -33,7 +34,7 @@ First we need some imports to support later code:
Next we define the main function and create a SQLAlchemy database engine from
the ``sqlalchemy.`` prefixed settings in the ``development.ini`` file's
-``[app:tutorial]`` section. This will be a URI (something like
+``[app:main]`` section. This will be a URI (something like
``sqlite://``):
.. literalinclude:: src/basiclayout/tutorial/__init__.py
diff --git a/docs/tutorials/wiki2/src/authorization/development.ini b/docs/tutorials/wiki2/src/authorization/development.ini
index f93a88e6b..799ce7161 100644
--- a/docs/tutorials/wiki2/src/authorization/development.ini
+++ b/docs/tutorials/wiki2/src/authorization/development.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = true
pyramid.debug_authorization = false
@@ -11,10 +11,6 @@ pyramid.includes = pyramid_debugtoolbar
sqlalchemy.url = sqlite:///%(here)s/tutorial.db
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki2/src/authorization/production.ini b/docs/tutorials/wiki2/src/authorization/production.ini
index 45ef791b7..df91d0b49 100644
--- a/docs/tutorials/wiki2/src/authorization/production.ini
+++ b/docs/tutorials/wiki2/src/authorization/production.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = false
pyramid.debug_authorization = false
@@ -10,10 +10,6 @@ pyramid.includes = pyramid_tm
sqlalchemy.url = sqlite:///%(here)s/tutorial.db
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki2/src/basiclayout/development.ini b/docs/tutorials/wiki2/src/basiclayout/development.ini
index f93a88e6b..799ce7161 100644
--- a/docs/tutorials/wiki2/src/basiclayout/development.ini
+++ b/docs/tutorials/wiki2/src/basiclayout/development.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = true
pyramid.debug_authorization = false
@@ -11,10 +11,6 @@ pyramid.includes = pyramid_debugtoolbar
sqlalchemy.url = sqlite:///%(here)s/tutorial.db
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki2/src/basiclayout/production.ini b/docs/tutorials/wiki2/src/basiclayout/production.ini
index 45ef791b7..df91d0b49 100644
--- a/docs/tutorials/wiki2/src/basiclayout/production.ini
+++ b/docs/tutorials/wiki2/src/basiclayout/production.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = false
pyramid.debug_authorization = false
@@ -10,10 +10,6 @@ pyramid.includes = pyramid_tm
sqlalchemy.url = sqlite:///%(here)s/tutorial.db
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki2/src/models/development.ini b/docs/tutorials/wiki2/src/models/development.ini
index f93a88e6b..799ce7161 100644
--- a/docs/tutorials/wiki2/src/models/development.ini
+++ b/docs/tutorials/wiki2/src/models/development.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = true
pyramid.debug_authorization = false
@@ -11,10 +11,6 @@ pyramid.includes = pyramid_debugtoolbar
sqlalchemy.url = sqlite:///%(here)s/tutorial.db
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki2/src/models/production.ini b/docs/tutorials/wiki2/src/models/production.ini
index 45ef791b7..df91d0b49 100644
--- a/docs/tutorials/wiki2/src/models/production.ini
+++ b/docs/tutorials/wiki2/src/models/production.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = false
pyramid.debug_authorization = false
@@ -10,10 +10,6 @@ pyramid.includes = pyramid_tm
sqlalchemy.url = sqlite:///%(here)s/tutorial.db
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki2/src/tests/development.ini b/docs/tutorials/wiki2/src/tests/development.ini
index f93a88e6b..799ce7161 100644
--- a/docs/tutorials/wiki2/src/tests/development.ini
+++ b/docs/tutorials/wiki2/src/tests/development.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = true
pyramid.debug_authorization = false
@@ -11,10 +11,6 @@ pyramid.includes = pyramid_debugtoolbar
sqlalchemy.url = sqlite:///%(here)s/tutorial.db
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki2/src/tests/production.ini b/docs/tutorials/wiki2/src/tests/production.ini
index 45ef791b7..df91d0b49 100644
--- a/docs/tutorials/wiki2/src/tests/production.ini
+++ b/docs/tutorials/wiki2/src/tests/production.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = false
pyramid.debug_authorization = false
@@ -10,10 +10,6 @@ pyramid.includes = pyramid_tm
sqlalchemy.url = sqlite:///%(here)s/tutorial.db
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki2/src/views/development.ini b/docs/tutorials/wiki2/src/views/development.ini
index f93a88e6b..799ce7161 100644
--- a/docs/tutorials/wiki2/src/views/development.ini
+++ b/docs/tutorials/wiki2/src/views/development.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = true
pyramid.debug_authorization = false
@@ -11,10 +11,6 @@ pyramid.includes = pyramid_debugtoolbar
sqlalchemy.url = sqlite:///%(here)s/tutorial.db
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/docs/tutorials/wiki2/src/views/production.ini b/docs/tutorials/wiki2/src/views/production.ini
index 45ef791b7..df91d0b49 100644
--- a/docs/tutorials/wiki2/src/views/production.ini
+++ b/docs/tutorials/wiki2/src/views/production.ini
@@ -1,4 +1,4 @@
-[app:tutorial]
+[app:main]
use = egg:tutorial
pyramid.reload_templates = false
pyramid.debug_authorization = false
@@ -10,10 +10,6 @@ pyramid.includes = pyramid_tm
sqlalchemy.url = sqlite:///%(here)s/tutorial.db
-[pipeline:main]
-pipeline =
- tutorial
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/pyramid/scaffolds/alchemy/development.ini_tmpl b/pyramid/scaffolds/alchemy/development.ini_tmpl
index d946d7291..05e7ac296 100644
--- a/pyramid/scaffolds/alchemy/development.ini_tmpl
+++ b/pyramid/scaffolds/alchemy/development.ini_tmpl
@@ -1,4 +1,4 @@
-[app:{{project}}]
+[app:main]
use = egg:{{project}}
pyramid.reload_templates = true
@@ -12,10 +12,6 @@ pyramid.includes = pyramid_debugtoolbar
sqlalchemy.url = sqlite:///%(here)s/{{project}}.db
-[pipeline:main]
-pipeline =
- {{project}}
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/pyramid/scaffolds/alchemy/production.ini_tmpl b/pyramid/scaffolds/alchemy/production.ini_tmpl
index 5bcfb432d..fad5baa30 100644
--- a/pyramid/scaffolds/alchemy/production.ini_tmpl
+++ b/pyramid/scaffolds/alchemy/production.ini_tmpl
@@ -1,4 +1,4 @@
-[app:{{project}}]
+[app:main]
use = egg:{{project}}
pyramid.reload_templates = false
@@ -11,10 +11,6 @@ pyramid.includes = pyramid_tm
sqlalchemy.url = sqlite:///%(here)s/{{project}}.db
-[pipeline:main]
-pipeline =
- {{project}}
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/pyramid/scaffolds/routesalchemy/development.ini_tmpl b/pyramid/scaffolds/routesalchemy/development.ini_tmpl
index d946d7291..05e7ac296 100644
--- a/pyramid/scaffolds/routesalchemy/development.ini_tmpl
+++ b/pyramid/scaffolds/routesalchemy/development.ini_tmpl
@@ -1,4 +1,4 @@
-[app:{{project}}]
+[app:main]
use = egg:{{project}}
pyramid.reload_templates = true
@@ -12,10 +12,6 @@ pyramid.includes = pyramid_debugtoolbar
sqlalchemy.url = sqlite:///%(here)s/{{project}}.db
-[pipeline:main]
-pipeline =
- {{project}}
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/pyramid/scaffolds/routesalchemy/production.ini_tmpl b/pyramid/scaffolds/routesalchemy/production.ini_tmpl
index 5bcfb432d..fad5baa30 100644
--- a/pyramid/scaffolds/routesalchemy/production.ini_tmpl
+++ b/pyramid/scaffolds/routesalchemy/production.ini_tmpl
@@ -1,4 +1,4 @@
-[app:{{project}}]
+[app:main]
use = egg:{{project}}
pyramid.reload_templates = false
@@ -11,10 +11,6 @@ pyramid.includes = pyramid_tm
sqlalchemy.url = sqlite:///%(here)s/{{project}}.db
-[pipeline:main]
-pipeline =
- {{project}}
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/pyramid/scaffolds/starter/development.ini_tmpl b/pyramid/scaffolds/starter/development.ini_tmpl
index e670c167c..2d2f6e354 100644
--- a/pyramid/scaffolds/starter/development.ini_tmpl
+++ b/pyramid/scaffolds/starter/development.ini_tmpl
@@ -1,4 +1,4 @@
-[app:{{project}}]
+[app:main]
use = egg:{{project}}
pyramid.reload_templates = true
@@ -9,10 +9,6 @@ pyramid.debug_templates = true
pyramid.default_locale_name = en
pyramid.includes = pyramid_debugtoolbar
-[pipeline:main]
-pipeline =
- {{project}}
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/pyramid/scaffolds/starter/production.ini_tmpl b/pyramid/scaffolds/starter/production.ini_tmpl
index bcccf53a0..b04f37ab3 100644
--- a/pyramid/scaffolds/starter/production.ini_tmpl
+++ b/pyramid/scaffolds/starter/production.ini_tmpl
@@ -1,4 +1,4 @@
-[app:{{project}}]
+[app:main]
use = egg:{{project}}
pyramid.reload_templates = false
@@ -8,10 +8,6 @@ pyramid.debug_routematch = false
pyramid.debug_templates = false
pyramid.default_locale_name = en
-[pipeline:main]
-pipeline =
- {{project}}
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/pyramid/scaffolds/zodb/development.ini_tmpl b/pyramid/scaffolds/zodb/development.ini_tmpl
index b3342acfe..29da8ee38 100644
--- a/pyramid/scaffolds/zodb/development.ini_tmpl
+++ b/pyramid/scaffolds/zodb/development.ini_tmpl
@@ -1,4 +1,4 @@
-[app:{{project}}]
+[app:main]
use = egg:{{project}}
pyramid.reload_templates = true
@@ -13,10 +13,6 @@ pyramid.includes = pyramid_debugtoolbar
tm.attempts = 3
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
-[pipeline:main]
-pipeline =
- {{project}}
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0
diff --git a/pyramid/scaffolds/zodb/production.ini_tmpl b/pyramid/scaffolds/zodb/production.ini_tmpl
index f79fe71dd..0275a33a7 100644
--- a/pyramid/scaffolds/zodb/production.ini_tmpl
+++ b/pyramid/scaffolds/zodb/production.ini_tmpl
@@ -1,4 +1,4 @@
-[app:{{project}}]
+[app:main]
use = egg:{{project}}
pyramid.reload_templates = false
@@ -12,10 +12,6 @@ pyramid.includes = pyramid_tm
tm.attempts = 3
zodbconn.uri = file://%(here)s/Data.fs?connection_cache_size=20000
-[pipeline:main]
-pipeline =
- {{project}}
-
[server:main]
use = egg:Paste#http
host = 0.0.0.0