Skip to content

Commit

Permalink
add some simple notes about plaster in the narrative docs
Browse files Browse the repository at this point in the history
  • Loading branch information
mmerickel committed Mar 31, 2017
1 parent fa8a9dc commit d87567a
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 7 deletions.
8 changes: 8 additions & 0 deletions docs/glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -366,6 +366,14 @@ Glossary
:term:`WSGI` components together declaratively within an ``.ini``
file. It was developed by Ian Bicking.

plaster
`plaster <http://docs.pylonsproject.org/projects/plaster/en/latest/>` is
a library used by :app:`Pyramid` which acts as an abstraction between
command-line scripts and the file format used to load the :term:`WSGI`
components and application settings. By default :app:`Pyramid` ships
with the ``plaster_pastedeploy`` library installed which provides
integrated support for loading a :term:`PasteDeploy` INI file.

Chameleon
`chameleon <https://chameleon.readthedocs.org/en/latest/>`_ is an
attribute language template compiler which supports the :term:`ZPT`
Expand Down
12 changes: 6 additions & 6 deletions docs/narr/paste.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,7 @@ documentation, see http://pythonpaste.org/deploy/.
PasteDeploy
-----------

:term:`PasteDeploy` is the system that Pyramid uses to allow :term:`deployment
settings` to be specified using an ``.ini`` configuration file format. It also
allows the ``pserve`` 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.
:term:`plaster` is the system that Pyramid uses to load settings from configuration files. The most common format for these files is an ``.ini`` format structured in a way defined by :term:`PasteDeploy`. The format supports mechanisms to define WSGI app :term:`deployment settings`, WSGI server settings and logging. This allows the ``pserve`` command to work, allowing you to stop and start a Pyramid application easily.

.. _pastedeploy_entry_points:

Expand Down Expand Up @@ -96,3 +91,8 @@ 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`).

Alternative Configuration File Formats
--------------------------------------

It is possible to use different file formats with :app:`Pyramid` if you do not like :term:`PasteDeploy`. Under the hood all command-line scripts such as ``pserve`` and ``pshell`` pass the ``config_uri`` (e.g. ``development.ini``, ``production.ini``, etc) to the :term:`plaster` library which performs a lookup for an appropriate parser. For ``.ini`` files it uses PasteDeploy but you can register your own configuration formats that plaster will find instead.
9 changes: 8 additions & 1 deletion docs/narr/startup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,14 @@ Here's a high-level time-ordered overview of what happens when you press
begin to run and serve an application using the information contained
within the ``development.ini`` file.

#. The framework finds a section named either ``[app:main]``,
#. ``pserve`` passes the ``development.ini`` path to :term:`plaster` which
finds an available configuration loader that recognizes the ``ini`` format.

#. :term:`plaster` finds the ``plaster_pastedeploy`` library which binds
the :term:`PasteDeploy` library and returns a parser that can understand
the format.

#. The :term:`PasteDeploy` finds a section named either ``[app:main]``,
``[pipeline:main]``, or ``[composite:main]`` in the ``.ini`` file. This
section represents the configuration of a :term:`WSGI` application that will
be served. If you're using a simple application (e.g., ``[app:main]``), the
Expand Down

0 comments on commit d87567a

Please sign in to comment.