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.
