On Wed, May 26, 2010 at 11:05 AM, Mike Orr <[email protected]> wrote:
> As for Pylons' dependencies (this is off the top of my head and may
> not be 100% accurate):
>
> - Beaker: optional (activated in middleware.py)
> - decorator: optional, required for ``pylons.decorator`` utilities
> - FormEncode: optional
> - Nose: optional, required for tests
> - Paste: required
> - PasteDeploy: required, Pylons uses some utilities internally (asbool)
> - PasteScript: required, for "paster create" etc.
> - Routes: required. (Strictly speaking, RoutesMiddleware or a
> compatible alternative is required)
> - simplejson: optional, required for ``pylons.decorator`` utilities.
> (Included in Python 2.6.)
> - Tempita: required by Paste
> - WebError: required?  (May be deactivated in middleware.py?)
> - WebHelpers: optional
> - WebOb: required
> - WebTest: required?  Required for tests.

Moving all the optional dependencies to the application would cause
Pylons to have some undeclared dependencies. For instance,
``pylons.decorator.*`` is not required for Pylons to run. But if
somebody tries to use some of the utilities in it, they'll get an
ImportError.

WebHelpers has a lot of undeclared dependencies, but that's consistent
with its goal of being a grab-bag of utilities, some of which have
diverse dependencies. You don't want to force all those myriad
dependencies on everybody because that would make them avoid
WebHelpers.

But Pylons is different because it claims to install a full stack, or
at least what we define as a full stack.  (Sessions yes, database no.)
 The dependencies were chosen to be small and pure Python, so that
they wouldn't get in the way if you didn't use, e.g. FormEncode.
Having undeclared dependencies in Pylons may surprise users or
denegrade Pylons' reputation.

The excess dependencies could cause problems in low-capacity embedded
systems, but the only place it has really mattered so far is App
Engine, which (formerly) had severe file restrictions. But on App
Engine, Pylons is installed via a manual upload rather than pip, which
gives the opportunity to trim unused directories.

-- 
Mike Orr <[email protected]>

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.

Reply via email to