Skip to content

Instantly share code, notes, and snippets.

@vsajip
Created October 19, 2012 16:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vsajip/3919026 to your computer and use it in GitHub Desktop.
Save vsajip/3919026 to your computer and use it in GitHub Desktop.
distlib Dependency finder
$ python deptest.py
B 1.0
D 0.9 [D (<= 0.9)]
A 1.0
B 1.0 [B]
D 0.9 [D (<= 0.9)]
C 1.0 [C]
D 0.9 [D (<= 1.1)]
D 0.9
C 1.0
D 0.9 [D (<= 1.1)]
# -*- coding: utf-8 -*-
#
# Copyright (C) 2012 Vinay Sajip. All rights reserved.
#
import logging
from pprint import pprint
from distlib.metadata import Metadata
from distlib.database import Distribution, make_graph
from distlib.locators import locate, Locator, default_locator, DependencyFinder
from distlib.version import get_scheme, UnsupportedVersionError
logger = logging.getLogger(__name__)
class DummyLocator(Locator):
def _get_project(self, name):
return {}
def make_dist(name, version, preds, cache):
md = Metadata()
md['Name' ] = name
md['Version'] = version
md['Download-URL'] = None
md.dependencies = {'install': preds}
result = Distribution(md)
cache.setdefault(name, {})[version] = result
return result
def main():
locator = DummyLocator()
A = make_dist('A', '1.0', ['B', 'C'], locator._cache)
B = make_dist('B', '1.0', ['D (<= 0.9)'], locator._cache)
C = make_dist('C', '1.0', ['D (<= 1.1)'], locator._cache)
D1 = make_dist('D', '0.9', [], locator._cache)
D2 = make_dist('D', '1.1', [], locator._cache)
finder = DependencyFinder(locator)
dists, problems = finder.find('A')
g = make_graph(dists)
print(g)
if __name__ == '__main__':
logging.basicConfig(level=logging.DEBUG, format='%(message)s',
filename='deptest.log', filemode='w')
main()
Small project with dependencies:
$ python finddeps.py flask
3 dists, elapsed time: 0.72 secs
----------------------------------------
Topological sort:
----------------------------------------
Jinja2 (2.6)
Werkzeug (0.8.3)
Flask (0.9)
----------------------------------------
Download order:
----------------------------------------
download Jinja2 (for Flask)
download Werkzeug (for Flask)
download Flask
Medium sized project with some missing dependencies:
$ python finddeps.py apycotbot
22 dists, elapsed time: 4.48 secs
----------------------------------------
Missing:
cubicweb (3.15.2) - 2 requirement(s)
logilab-database (>= 1.8.2)
rql (>= 0.31.2)
----------------------------------------
Topological sort:
----------------------------------------
simplejson (2.6.2)
logilab-mtconverter (0.8.2)
Pyro (3.16)
lxml (3.0.1)
logilab-common (0.58.1)
passlib (1.6.1)
pysqlite (2.6.0)
PIL (1.1.7)
Twisted (12.2.0)
logilab-devtools (0.20.0)
logilab-database (1.8.1)
yams (0.34.0)
cubicweb (3.15.2)
cubicweb-file (1.10.4)
cubicweb-iprogress (0.1.0)
cubicweb-activitystream (0.1.2)
cubicweb-localperms (0.1.0)
cubicweb-nosylist (0.5.0)
cubicweb-vcsfile (1.9.2)
cubicweb-tracker (1.10.1)
cubicweb-apycot (1.10.0)
apycotbot (1.10.0)
----------------------------------------
Download order:
----------------------------------------
download simplejson (for cubicweb)
download logilab-mtconverter (for cubicweb-vcsfile, cubicweb)
download Pyro (for cubicweb-apycot)
download lxml (for cubicweb)
download logilab-common (for logilab-devtools, logilab-database, cubicweb, apycotbot, yams)
download passlib (for cubicweb)
download pysqlite (for cubicweb)
download PIL (for cubicweb-file)
download Twisted (for cubicweb)
download logilab-devtools (for apycotbot)
download logilab-database (for yams)
download yams (for cubicweb)
download cubicweb (for cubicweb-file, cubicweb-iprogress, cubicweb-activitystream, cubicweb-vcsfile, cubicweb-tracker, cubicweb-localperms, cubicweb-nosylist, cubicweb-apycot)
download cubicweb-file (for cubicweb-apycot)
download cubicweb-iprogress (for cubicweb-tracker)
download cubicweb-activitystream (for cubicweb-tracker)
download cubicweb-localperms (for cubicweb-vcsfile, cubicweb-tracker)
download cubicweb-nosylist (for cubicweb-apycot)
download cubicweb-vcsfile (for cubicweb-apycot)
download cubicweb-tracker (for cubicweb-apycot)
download cubicweb-apycot (for apycotbot)
download apycotbot
Large project, with circular dependencies:
$ python finddeps.py collective.megaphone
242 dists, elapsed time: 53.42 secs
----------------------------------------
Topological sort:
----------------------------------------
python-openid (2.2.5)
ZopeUndo (2.12.0)
uuid (1.30)
docutils (0.9.1)
pytz (2012h)
feedparser (5.1.2)
six (1.2.0)
mechanize (0.2.5)
Pillow (1.7.8)
roman (1.4.0)
ZConfig (2.9.3)
Unidecode (0.04.9)
setuptools (0.6c11)
ExtensionClass (4.0a1)
lxml (3.0.1)
Markdown (2.2.1)
unittest2 (0.5.1)
initgroups (2.13.0)
repoze.xmliter (0.5)
RestrictedPython (3.6.0)
zope.datetime (3.4.1)
zope.cachedescriptors (3.5.1)
experimental.cssselect (0.3)
plone.intelligenttext (2.0.1)
plone.app.linkintegrity (1.4.7)
Products.ExternalEditor (1.1.0)
plone.synchronize (1.0.1)
plonetheme.sunburst (1.3.0)
plone.scale (1.2.2)
Missing (2.13.1)
MultiMapping (2.13.0)
plone.app.i18n (2.0.1)
zope.contenttype (3.5.5)
Products.SecureMailHost (1.1.2)
Record (2.13.0)
Products.PloneLanguageTool (3.2.5)
zope.i18nmessageid (4.0.0)
zope.interface (4.0.1)
zope.sequencesort (3.4.0)
plone.batching (1.0a1)
Products.TemplateFields (1.2.5)
plone.alterego (1.0)
python-gettext (2.0)
zLOG (2.12.0)
Products.TALESField (1.1.3)
zope.event (4.0.0)
zc.lockfile (1.0.0)
plonetheme.classic (1.2.4)
zc.buildout (1.6.3)
zope.dottedname (3.4.6)
zope.deprecation (4.0.0)
zope.structuredtext (3.5.1)
zdaemon (3.0.4)
python-dateutil (2.1)
collective.monkeypatcher (1.0.1)
Products.contentmigration (2.1.1)
zope.globalrequest (1.0)
Products.PythonField (1.1.3)
plone.app.locales (4.2.2)
DateTime (3.0.2)
zope.processlifetime (1.0)
plone.app.imaging (1.0.6)
zope.proxy (4.0.0)
zope.tal (3.6.1)
diazo (1.0.3)
Acquisition (4.0a1)
zope.component (4.0.0)
zope.exceptions (4.0.1)
transaction (1.3.0)
zope.browser (1.3)
zope.broken (3.6.0)
zope.schema (4.2.1)
zope.size (3.5.0)
zope.copy (4.0.0)
zope.app.locales (3.7.4)
zope.location (4.0.0)
plone.transformchain (1.0.2)
zope.deferredimport (3.5.3)
plone.rfc822 (1.0)
zope.filerepresentation (3.6.1)
zope.testbrowser (4.0.2)
zope.lifecycleevent (3.7.0)
zope.configuration (4.0.0)
zope.i18n (3.8.0)
ZODB3 (3.10.5)
zope.tales (3.5.2)
zope.testing (4.1.1)
plone.registry (1.0)
zope.ramcache (1.0)
Persistence (2.13.2)
plone.app.textfield (1.2.1)
zope.annotation (3.5.0)
zope.sendmail (3.7.5)
tempstorage (2.12.2)
z3c.autoinclude (0.3.4)
zope.security (3.8.3)
z3c.zcmlhook (1.0b1)
z3c.caching (2.0a1)
zope.componentvocabulary (1.0.1)
plone.behavior (1.0.1)
Products.statusmessages (4.0)
plone.supermodel (1.2.0)
zope.publisher (3.13.1)
plone.memoize (1.1.1)
zope.app.content (3.5.1)
plone.app.redirector (1.2a1)
plone.i18n (2.0.3)
zExceptions (2.13.0)
zope.contentprovider (3.7.2)
zope.traversing (3.14.0)
zope.pagetemplate (3.6.3)
zope.browserresource (3.12.0)
AccessControl (3.0.6)
zope.container (3.12.0)
plone.folder (1.0.4)
z3c.form (2.9.0)
DocumentTemplate (2.13.2)
zope.browserpage (4.0.0)
zope.ptresource (3.9.0)
zope.site (3.9.2)
wicked (1.1.9)
plone.contentrules (2.0.1)
zope.browsermenu (4.0.0)
plone.keyring (2.0)
collective.z3cform.datetimewidget (1.2.1)
zope.viewlet (3.7.2)
Products.MIMETools (2.13.0)
z3c.formwidget.query (0.9)
kss.core (1.6.4)
zope.formlib (4.1.1)
plone.portlets (2.2)
plone.namedfile (2.0)
plone.uuid (1.0.3)
plone.app.contentlisting (1.0.3)
zope.app.form (4.0.2)
archetypes.schemaextender (2.1.1)
plone.app.blob (1.5.4)
plone.app.search (1.1.0)
----------------------------------------
Cycle:
----------------------------------------
archetypes.querywidget (1.0.6)
plone.app.querystring (>= 1.0.3.dev0)
plone.app.jquerytools
archetypes.referencebrowserwidget (2.4.14.1)
plone.app.form
plone.app.jquerytools (>= 1.1b1)
borg.localrole (3.0.2)
Products.CMFCore
Products.GenericSetup
Products.PlonePAS
Products.PluggableAuthService
Zope2
collective.js.jqueryui (1.9.1.1)
plone.app.jquery
collective.megaphone (2.1.5)
Plone
plone.z3cform (>= 0.6.0)
plone.app.z3cform (>= 0.5.0)
Products.PloneFormGen (>= 1.5.0)
collective.z3cform.wizard (>= 1.4.6)
plone.app.jquerytools (>= 1.1.1)
collective.z3cform.wizard (1.4.7)
plone.z3cform (>= 0.7.5)
Zope2
five.customerize (1.1)
Zope2
five.formlib (1.0.4)
Zope2
five.globalrequest (1.0)
Zope2
five.localsitemanager (2.0.5)
Zope2 (>= 2.12.0)
Plone (4.3a2)
Products.CMFPlacefulWorkflow
Products.CMFPlone
plone.app.caching
plone.app.dexterity
plone.app.iterate
plone.app.openid
plone.app.theming
plone.app.caching (1.1.1)
plone.caching
plone.cachepurging
plone.app.registry (>= 1.0b5)
plone.protect
Products.CMFDynamicViewFTI
Products.GenericSetup
Products.CMFCore
Zope2
plone.app.z3cform
plone.app.collection (2.0b2)
plone.app.dexterity
plone.app.contentmenu
plone.formwidget.querystring
plone.app.content (2.1a2)
Products.CMFPlone
Products.CMFCore (>= 2.2.0dev)
Products.CMFDefault
Zope2
plone.app.contentmenu (2.0.6)
plone.locking
plone.app.content (>= 2.0a3)
Products.CMFCore
Products.CMFDynamicViewFTI
Products.CMFPlone
Zope2
plone.app.contentrules (2.2.0)
five.formlib
plone.stringinterp
plone.app.form
plone.app.kss
plone.app.vocabularies
Products.CMFPlone
Products.CMFCore
Products.CMFDefault
Products.GenericSetup
Zope2 (>= 2.12.3)
plone.app.controlpanel (2.3.2)
plone.app.form
plone.app.vocabularies
plone.app.workflow
plone.fieldsets
plone.protect
plone.locking
Products.CMFPlone
Products.CMFCore
Products.CMFDefault
Products.PlonePAS
Products.PortalTransforms
Zope2 (>= 2.13.0)
plone.app.customerize (1.2.2)
five.customerize
plone.browserlayer
Products.CMFCore
Zope2
plone.app.dexterity (2.0.1)
plone.dexterity (>= 1.0rc1)
plone.formwidget.namedfile
plone.schemaeditor (>= 1.0)
plone.app.content
plone.app.layout
plone.app.uuid
plone.app.z3cform (>= 0.5.0)
plone.autoform (>= 1.1dev)
plone.z3cform (>= 0.6.0)
Products.CMFCore
Products.CMFPlone (>= 4.0b1)
Products.GenericSetup
Zope2
plone.app.discussion (2.2.0)
plone.app.layout
plone.app.registry
plone.app.uuid
plone.app.z3cform
plone.indexer
plone.z3cform
Products.CMFPlone
plone.app.folder (1.0.4)
Products.CMFPlone
plone.app.form (2.2.0)
five.formlib
plone.locking
plone.app.vocabularies
Products.CMFCore
Products.CMFDefault
Zope2 (>= 2.12.3)
plone.app.iterate (2.1.8)
plone.locking
Products.Archetypes
Products.CMFCore
Products.CMFEditions
Products.CMFPlacefulWorkflow
Products.DCWorkflow
Zope2
plone.app.jquery (1.7.2)
Products.CMFCore
Products.GenericSetup
plone.app.jquerytools (1.5.1)
Products.CMFCore
Products.GenericSetup
Zope2
plone.app.kss (1.7.1)
plone.app.layout
plone.app.portlets
plone.locking
Products.CMFCore
Products.DCWorkflow
Zope2
plone.app.layout (2.3.2)
plone.app.controlpanel
plone.app.portlets
plone.app.viewletmanager (>= 1.2)
plone.locking
Products.CMFCore
Products.CMFDefault
Products.CMFDynamicViewFTI
Products.CMFEditions (>= 1.2.2)
Products.CMFPlone
Zope2
plone.app.openid (2.0.2)
plone.openid
plone.app.portlets
Products.CMFCore
Products.PlonePAS (>= 2.0.10dev)
Products.PluggableAuthService
Zope2
plone.app.portlets (2.4.0)
five.formlib
five.customerize
plone.app.form
plone.app.layout (>= 1.2dev)
plone.app.vocabularies
Products.CMFPlone
Products.CMFCore
Products.CMFDynamicViewFTI
Products.GenericSetup
Products.PluggableAuthService
Zope2 (>= 2.12.3)
plone.app.querystring (1.0.6)
Products.CMFCore
Products.CMFPlone
plone.app.layout
plone.app.registry (>= 1.1dev)
plone.app.vocabularies
plone.app.registry (1.2.1)
plone.app.z3cform
plone.autoform (>= 1.0b2)
Products.CMFPlone
Zope2
Products.CMFCore
Products.GenericSetup
plone.app.theming (1.1b1)
plone.app.registry (>= 1.0a2)
plone.subrequest
plone.resource (>= 1.0b5)
plone.resourceeditor
five.globalrequest
Products.CMFPlone
plone.app.controlpanel
plone.app.upgrade (1.3a2)
borg.localrole
five.localsitemanager
plone.session
plone.app.folder
plone.app.portlets
Products.CMFPlone
Products.Archetypes
Products.ATContentTypes
Products.CMFActionIcons
Products.CMFCalendar
Products.CMFCore
Products.CMFDefault
Products.CMFDiffTool
Products.CMFEditions
Products.CMFFormController
Products.CMFQuickInstallerTool
Products.CMFUid
Products.DCWorkflow
Products.GenericSetup
Products.MimetypesRegistry
Products.PlonePAS
Products.PluggableAuthService
Products.PortalTransforms
Products.ResourceRegistries
Products.ZCatalog (>= 2.13.4)
Zope2
plone.app.users (1.2a2)
five.formlib
plone.protect
plone.app.controlpanel (>= 2.1b1)
plone.app.layout
Products.CMFPlone
Products.CMFCore
Products.CMFDefault
Zope2 (>= 2.12.3)
plone.app.uuid (1.0)
plone.indexer
plone.app.viewletmanager (2.0.2)
Products.GenericSetup
Zope2
plone.app.vocabularies (2.1.8)
Products.CMFCore
Zope2
plone.app.workflow (2.1.0)
Products.CMFPlone
Products.CMFCore
Products.DCWorkflow
Products.GenericSetup
Zope2
plone.app.z3cform (0.7.0)
plone.z3cform (>= 0.5.11dev)
Zope2
plone.autoform (1.3)
plone.z3cform
plone.browserlayer (2.1.2)
Products.CMFCore
Products.GenericSetup (>= 1.4)
Zope2
plone.cachepurging (1.0.3)
five.globalrequest
Zope2
plone.caching (1.0)
five.globalrequest
Zope2 (>= 2.12.4)
plone.dexterity (2.0)
plone.autoform (>= 1.0b2)
plone.z3cform (>= 0.6.0)
Products.CMFCore
Products.CMFDefault
Products.CMFDynamicViewFTI
Zope2
plone.fieldsets (2.0.2)
five.formlib
plone.formwidget.namedfile (1.0.3)
plone.z3cform (>= 0.7.4)
plone.formwidget.querystring (1.0b2)
plone.app.querystring
plone.indexer (1.0)
Products.CMFCore
plone.locking (2.0.4)
Products.CMFCore
Zope2
plone.openid (2.0)
Products.PluggableAuthService
Zope2
plone.outputfilters (1.6)
Products.CMFCore
Products.GenericSetup
Products.MimetypesRegistry
Products.PortalTransforms
plone.portlet.collection (2.1.2)
plone.app.portlets
plone.app.vocabularies
plone.app.form
plone.portlet.static (2.0.1)
plone.app.portlets
plone.app.form (>= 1.1)
Zope2
plone.protect (2.0)
Zope2
plone.resource (1.0.1)
plone.caching
Zope2
plone.resourceeditor (1.0b3)
plone.resource
Zope2
plone.schemaeditor (1.2.1)
Zope2
plone.z3cform
plone.autoform
plone.session (3.5.1)
plone.protect
Products.PluggableAuthService
Zope2
plone.stringinterp (1.0.7)
Products.CMFCore
plone.subrequest (1.6.7)
five.globalrequest
plone.theme (2.1)
Products.CMFDefault
Products.CMFCore
Zope2
plone.z3cform (0.8.0)
Zope2
Products.Archetypes (1.8.4)
Products.CMFCalendar
Products.CMFCore
Products.CMFDefault
Products.CMFFormController
Products.CMFQuickInstallerTool
Products.DCWorkflow
Products.GenericSetup
Products.Marshall
Products.MimetypesRegistry (>= 2.0.3)
Products.PlacelessTranslationService
Products.PortalTransforms
Products.ZSQLMethods
Products.validation
plone.app.folder
Zope2 (>= 2.13.1)
Products.ATContentTypes (2.1.9)
archetypes.referencebrowserwidget
plone.app.folder
plone.app.layout
Products.CMFPlone
Products.Archetypes
Products.ATReferenceBrowserWidget
Products.CMFCore
Products.CMFDynamicViewFTI
Products.CMFDefault
Products.GenericSetup
Products.MimetypesRegistry
Products.PortalTransforms
Products.validation
Zope2
Products.ATReferenceBrowserWidget (3.0)
archetypes.referencebrowserwidget
Products.BTreeFolder2 (2.13.4)
Zope2 (>= 2.13.0a1)
Products.CMFActionIcons (2.1.3)
Products.CMFCore
Products.GenericSetup
Products.CMFCalendar (2.3.0-beta)
Zope2 (>= 2.13.12)
Products.CMFCore
Products.CMFDefault
Products.GenericSetup
Products.CMFCore (2.3.0-beta2)
Zope2 (>= 2.13.12)
five.globalrequest
five.localsitemanager
Products.BTreeFolder2
Products.GenericSetup
Products.MailHost
Products.PythonScripts
Products.ZSQLMethods
Products.CMFDefault (2.3.0-beta2)
Zope2 (>= 2.13.12)
Products.CMFCore
Products.GenericSetup
Products.MailHost
Products.PythonScripts
Products.CMFDiffTool (2.0.1)
Products.CMFCore
Products.GenericSetup
Zope2
Products.CMFDynamicViewFTI (4.0.3)
Products.CMFCore
Products.GenericSetup
Zope2
Products.CMFEditions (2.2.6)
Products.CMFCore (>= 2.1)
Products.CMFDiffTool
Products.CMFUid
Products.GenericSetup (>= 1.4.0)
Products.ZopeVersionControl
Zope2
Products.CMFFormController (3.0.2)
Products.CMFCore
Products.GenericSetup
Zope2
Products.CMFPlacefulWorkflow (1.5.8)
Products.CMFCore
Products.CMFPlone
Products.GenericSetup
Products.PloneTestCase
Products.CMFPlone (4.3a2)
Products.Archetypes
Products.ATContentTypes (>= 2.1.3)
Products.CMFActionIcons
Products.CMFCalendar
Products.CMFCore
Products.CMFDefault
Products.CMFDiffTool
Products.CMFDynamicViewFTI
Products.CMFEditions
Products.CMFFormController
Products.CMFQuickInstallerTool
Products.CMFUid
Products.DCWorkflow
Products.ExtendedPathIndex
Products.GenericSetup (>= 1.4)
Products.MimetypesRegistry
Products.PasswordResetTool
Products.PlacelessTranslationService
Products.PlonePAS
Products.PluggableAuthService
Products.PluginRegistry
Products.PortalTransforms
Products.ResourceRegistries
Products.TinyMCE
Zope2 (> 2.13.0)
archetypes.querywidget
archetypes.referencebrowserwidget
borg.localrole
five.localsitemanager
five.customerize
plone.app.collection
plone.app.contentmenu (>= 1.1.6.dev22380)
plone.app.content
plone.app.contentrules
plone.app.controlpanel
plone.app.customerize
plone.app.discussion
plone.app.folder
plone.app.form
plone.app.jquery
plone.app.jquerytools
plone.app.layout (>= 1.1.7.dev23744)
plone.app.portlets
plone.app.registry
plone.app.users
plone.app.upgrade
plone.app.uuid
plone.app.viewletmanager
plone.app.vocabularies
plone.app.workflow
plone.browserlayer (>= 1.0c4)
plone.fieldsets
plone.indexer
plone.locking
plone.protect (> 1.0)
plone.session
plone.theme
plone.portlet.collection
plone.portlet.static
Products.CMFQuickInstallerTool (3.0.6)
Products.CMFCore
Products.GenericSetup
Zope2
Products.CMFUid (2.3.0-beta)
Zope2 (>= 2.13.12)
Products.CMFCore
Products.GenericSetup
Products.DCWorkflow (2.3.0-beta)
Zope2 (>= 2.13.12)
Products.CMFCore
Products.ExternalMethod
Products.GenericSetup
Products.PythonScripts
Products.ExtendedPathIndex (3.0.1)
Zope2 (>= 2.13.0a3)
Products.ExternalMethod (2.13.0)
Zope2 (>= 2.13.0a1)
Products.GenericSetup (1.7.3)
Zope2 (>= 2.12.3)
five.localsitemanager
Products.MailHost (2.13.1)
Zope2 (>= 2.13.0a1)
Products.Marshall (2.1.1)
Products.Archetypes
Products.CMFCore
Products.GenericSetup
Zope2
Products.MimetypesRegistry (2.0.3)
Products.CMFCore
Zope2
Products.OFSP (2.13.2)
Zope2 (>= 2.13.0a1)
Products.PasswordResetTool (2.0.9)
Products.CMFPlone
Products.CMFCore
Zope2
Products.PlacelessTranslationService (2.0.3)
Zope2
Products.PloneFormGen (1.7.4)
Products.Archetypes
Plone
plone.app.jquerytools (>= 1.2dev)
collective.js.jqueryui
Products.PlonePAS (4.1a2)
plone.session
Products.CMFCore
Products.GenericSetup
Products.PluggableAuthService
Zope2 (> 2.12.4)
Products.PloneTestCase (0.9.15)
Products.CMFPlone
Products.ATContentTypes
Products.CMFCore
Products.GenericSetup
Zope2
Products.PluggableAuthService (1.9.0)
Products.PluginRegistry
Products.GenericSetup
Zope2 (>= 2.12)
Products.PluginRegistry (1.3)
Zope2 (>= 2.12)
Products.GenericSetup
Products.PortalTransforms (2.1.1)
Products.CMFCore
Products.CMFDefault
Products.MimetypesRegistry
Zope2
Products.PythonScripts (2.13.2)
Zope2 (>= 2.13.0a1)
Products.ResourceRegistries (2.2.3)
Products.CMFCore
Products.GenericSetup
Zope2
plone.app.registry
Products.StandardCacheManagers (2.13.0)
Zope2 (>= 2.13.0a1)
Products.TinyMCE (1.3b7)
plone.outputfilters
plone.app.layout
plone.caching
Products.ResourceRegistries
Products.Archetypes
Products.validation (2.0)
Zope2
Products.ZCatalog (3.0b1)
Products.ZCTextIndex
Zope2
Products.ZCTextIndex (2.13.3)
Zope2 (>= 2.13.0.dev0)
Products.ZopeVersionControl (1.1.3)
Zope2
Products.ZSQLMethods (2.13.4)
Zope2 (> 2.12.8)
Zope2 (2.13.19)
Products.OFSP (>= 2.13.2)
Products.ZCatalog
Products.ZCTextIndex
Products.BTreeFolder2
Products.ExternalMethod
Products.MailHost
Products.PythonScripts
Products.StandardCacheManagers
----------------------------------------
Download order:
----------------------------------------
download python-openid (for plone.openid)
download ZopeUndo (for Zope2)
download uuid (for collective.megaphone)
download docutils (for plone.app.theming, Zope2)
download pytz (for DateTime, zope.testbrowser, zope.i18n, zope.formlib, Zope2)
download feedparser (for plone.app.portlets)
download six (for python-dateutil)
download mechanize (for zope.testbrowser)
download Pillow (for Products.CMFPlone)
download roman (for plone.app.theming)
download ZConfig (for zdaemon, Products.ATContentTypes, zLOG, ZODB3, Zope2)
download Unidecode (for plone.i18n)
download setuptools (for zope.location, zope.pagetemplate, plone.transformchain, Products.CMFPlone, plone.app.blob, plone.folder, repoze.xmliter, RestrictedPython, plone.registry, zope.filerepresentation, five.formlib, Products.Marshall, zope.datetime, Products.ResourceRegistries, plone.app.content, plone.session, Products.ZSQLMethods, Products.PloneFormGen, plone.resourceeditor, plone.app.workflow, zope.ramcache, zope.cachedescriptors, zope.deferredimport, collective.z3cform.datetimewidget, Products.CMFUid, zope.app.content, Products.CMFActionIcons, zope.browserresource, archetypes.querywidget, plone.app.imaging, z3c.form, plone.app.viewletmanager, plone.uuid, experimental.cssselect, plone.app.z3cform, plone.locking, zope.lifecycleevent, plone.app.linkintegrity, Products.ZCatalog, zope.viewlet, Products.PasswordResetTool, zope.proxy, plone.app.redirector, plone.app.contentlisting, Products.StandardCacheManagers, Products.CMFQuickInstallerTool, plone.app.controlpanel, zope.tal, plone.i18n, Products.ExternalEditor, plone.app.iterate, Products.GenericSetup, Products.PortalTransforms, Products.MIMETools, plone.synchronize, plone.outputfilters, plone.app.contentrules, zope.app.form, Products.CMFFormController, plone.rfc822, Products.CMFCalendar, plone.scale, Products.CMFDiffTool, plone.formwidget.namedfile, plone.app.i18n, zope.contenttype, Products.CMFCore, Products.SecureMailHost, z3c.formwidget.query, Products.CMFDefault, plone.app.theming, plone.app.collection, zope.componentvocabulary, five.customerize, plone.app.dexterity, plone.app.textfield, plone.portlet.static, zope.testbrowser, kss.core, Products.PloneLanguageTool, diazo, Products.TinyMCE, zope.i18nmessageid, zope.interface, plone.app.querystring, archetypes.schemaextender, zope.annotation, zope.processlifetime, five.localsitemanager, plone.portlet.collection, plone.app.portlets, Products.CMFEditions, zope.sequencesort, collective.z3cform.wizard, tempstorage, Products.statusmessages, plone.batching, zope.sendmail, plone.browserlayer, plone.z3cform, plone.behavior, plone.app.uuid, zope.configuration, z3c.autoinclude, Products.TemplateFields, Products.ExtendedPathIndex, zope.site, plone.resource, zope.component, zope.exceptions, Products.ATContentTypes, Products.PluggableAuthService, plone.portlets, Products.Archetypes, Products.PloneTestCase, zope.i18n, Products.MailHost, zope.browserpage, plone.caching, plone.alterego, plone.supermodel, Products.validation, plone.fieldsets, Products.ExternalMethod, plone.app.openid, plone.app.contentmenu, zExceptions, zope.publisher, plone.app.vocabularies, Products.TALESField, plonetheme.sunburst, zope.browser, zope.event, Products.CMFPlacefulWorkflow, Plone, Products.PythonScripts, z3c.caching, Products.MimetypesRegistry, zope.security, plone.app.upgrade, Products.ATReferenceBrowserWidget, five.globalrequest, plone.protect, plone.app.form, zope.formlib, plone.openid, plone.namedfile, plonetheme.classic, plone.intelligenttext, zc.lockfile, plone.app.caching, zc.buildout, zope.broken, zope.tales, plone.app.discussion, zope.dottedname, plone.theme, zope.ptresource, plone.autoform, Products.ZCTextIndex, Products.ZopeVersionControl, plone.app.users, plone.indexer, collective.megaphone, Products.PlacelessTranslationService, archetypes.referencebrowserwidget, Products.BTreeFolder2, z3c.zcmlhook, zope.contentprovider, plone.schemaeditor, plone.app.jquery, wicked, plone.app.registry, plone.app.search, plone.app.jquerytools, plone.formwidget.querystring, zope.deprecation, zope.structuredtext, Zope2, plone.app.folder, zope.schema, zope.size, plone.contentrules, Products.OFSP, plone.dexterity, plone.memoize, Products.DCWorkflow, zope.container, plone.stringinterp, collective.monkeypatcher, plone.app.customerize, Products.contentmigration, Products.PlonePAS, zope.globalrequest, borg.localrole, Products.PythonField, zope.browsermenu, zope.traversing, plone.app.locales, plone.app.layout, plone.app.kss, plone.keyring, Products.PluginRegistry, zope.copy, zope.testing, plone.cachepurging, collective.js.jqueryui, Products.CMFDynamicViewFTI, zope.app.locales, plone.subrequest)
download ExtensionClass (for Products.CMFPlone, five.formlib, Products.Marshall, Products.ZSQLMethods, Products.ZCatalog, Missing, Persistence, MultiMapping, Record, DocumentTemplate, Acquisition, Products.ATContentTypes, Products.Archetypes, Products.ExternalMethod, Products.PlacelessTranslationService, Zope2, AccessControl, Products.CMFDynamicViewFTI)
download lxml (for repoze.xmliter, experimental.cssselect, plone.app.theming, plone.app.dexterity, diazo, plone.supermodel, plone.app.registry)
download Markdown (for Products.PortalTransforms)
download unittest2 (for python-gettext)
download initgroups (for Zope2)
download repoze.xmliter (for plone.app.theming)
download RestrictedPython (for Products.ZCatalog, DocumentTemplate, Products.PythonScripts, Zope2, AccessControl)
download zope.datetime (for zope.app.form, kss.core, Products.Archetypes, zope.formlib)
download zope.cachedescriptors (for plone.app.controlpanel)
download experimental.cssselect (for diazo)
download plone.intelligenttext (for Products.CMFPlone, Products.PortalTransforms)
download plone.app.linkintegrity (for Products.CMFPlone)
download Products.ExternalEditor (for Products.CMFPlone)
download plone.synchronize (for plone.dexterity)
download plonetheme.sunburst (for Products.CMFPlone)
download plone.scale (for plone.app.blob, plone.app.imaging)
download Missing (for Products.ZSQLMethods, Products.ZCatalog, Zope2)
download MultiMapping (for Zope2)
download plone.app.i18n (for Products.CMFPlone, plone.app.portlets)
download zope.contenttype (for Products.Marshall, zope.browserresource, kss.core, Products.Archetypes, zope.publisher, Products.MimetypesRegistry, Zope2)
download Products.SecureMailHost (for plone.app.upgrade)
download Record (for Products.ZSQLMethods, Products.ZCatalog, Zope2, AccessControl)
download Products.PloneLanguageTool (for Products.CMFPlone, plone.app.upgrade)
download zope.i18nmessageid (for zope.pagetemplate, Products.CMFPlone, five.formlib, plone.app.content, plone.app.workflow, z3c.form, plone.locking, zope.viewlet, Products.PasswordResetTool, Products.CMFQuickInstallerTool, zope.tal, plone.app.iterate, plone.app.contentrules, z3c.formwidget.query, zope.componentvocabulary, plone.portlet.static, plone.app.querystring, plone.app.portlets, Products.CMFEditions, zope.sendmail, zope.configuration, Products.ATContentTypes, Products.Archetypes, zope.i18n, plone.caching, Products.validation, plone.app.openid, plone.app.contentmenu, plone.app.vocabularies, Products.CMFPlacefulWorkflow, zope.security, plone.app.form, zope.formlib, plone.app.users, plone.app.registry, Zope2, zope.size, plone.contentrules, zope.container, zope.browsermenu, zope.traversing, plone.app.kss, plone.cachepurging, zope.app.locales)
download zope.interface (for zope.location, zope.pagetemplate, plone.transformchain, Products.CMFPlone, plone.folder, plone.registry, zope.filerepresentation, DateTime, five.formlib, Products.Marshall, Products.ResourceRegistries, plone.app.content, plone.session, Products.ZSQLMethods, plone.resourceeditor, plone.app.workflow, zope.ramcache, zope.app.content, zope.browserresource, z3c.form, plone.app.viewletmanager, plone.uuid, plone.app.z3cform, plone.locking, zope.lifecycleevent, Products.ZCatalog, zope.viewlet, Products.PasswordResetTool, zope.proxy, Products.CMFQuickInstallerTool, plone.app.controlpanel, zope.tal, plone.i18n, plone.app.iterate, Products.PortalTransforms, plone.app.contentrules, zope.app.form, Products.CMFFormController, plone.rfc822, Products.CMFDiffTool, z3c.formwidget.query, zope.componentvocabulary, five.customerize, plone.app.dexterity, plone.app.textfield, plone.portlet.static, zope.testbrowser, kss.core, plone.app.querystring, zope.annotation, zope.processlifetime, five.localsitemanager, plone.app.portlets, Products.CMFEditions, Products.statusmessages, zope.sendmail, plone.browserlayer, plone.behavior, plone.app.uuid, zope.configuration, z3c.autoinclude, zope.site, Acquisition, plone.resource, zope.component, zope.exceptions, Products.ATContentTypes, transaction, plone.portlets, Products.Archetypes, Products.PloneTestCase, zope.browserpage, plone.caching, plone.supermodel, Products.validation, plone.fieldsets, plone.app.openid, plone.app.contentmenu, zExceptions, zope.publisher, plone.app.vocabularies, zope.browser, Products.CMFPlacefulWorkflow, ZODB3, z3c.caching, Products.MimetypesRegistry, zope.security, plone.app.upgrade, plone.protect, plone.app.form, zope.formlib, plone.app.caching, zope.broken, zope.tales, plone.app.discussion, plone.theme, zope.ptresource, plone.autoform, Products.ZCTextIndex, Products.ZopeVersionControl, plone.app.users, plone.indexer, Products.PlacelessTranslationService, archetypes.referencebrowserwidget, z3c.zcmlhook, zope.contentprovider, plone.schemaeditor, plone.app.registry, Zope2, zope.schema, zope.size, plone.contentrules, AccessControl, plone.dexterity, plone.memoize, zope.container, plone.app.customerize, borg.localrole, zope.browsermenu, zope.traversing, plone.app.layout, plone.app.kss, plone.keyring, zope.copy, zope.testing, plone.cachepurging, Products.CMFDynamicViewFTI, zope.app.locales)
download zope.sequencesort (for DocumentTemplate, Zope2)
download plone.batching (for Products.CMFPlone, plone.app.content, plone.z3cform)
download Products.TemplateFields (for Products.PloneFormGen, collective.megaphone)
download plone.alterego (for plone.dexterity)
download python-gettext (for Products.PlacelessTranslationService)
download zLOG (for Zope2)
download Products.TALESField (for Products.PloneFormGen)
download zope.event (for Products.CMFPlone, plone.registry, five.formlib, plone.app.content, z3c.form, zope.lifecycleevent, zope.viewlet, plone.app.controlpanel, plone.app.iterate, plone.app.contentrules, kss.core, five.localsitemanager, plone.app.portlets, zope.site, zope.component, Products.Archetypes, zope.publisher, ZODB3, z3c.caching, plone.app.form, zope.formlib, plone.app.discussion, Products.BTreeFolder2, zope.contentprovider, Zope2, zope.schema, zope.container, plone.cachepurging)
download zc.lockfile (for ZODB3)
download plonetheme.classic (for Products.CMFPlone)
download zc.buildout (for z3c.autoinclude)
download zope.dottedname (for Products.CMFPlone, plone.registry, Products.ZCatalog, five.customerize, plone.app.querystring, Products.CMFEditions, z3c.autoinclude, plone.supermodel, plone.autoform, plone.app.registry, plone.dexterity, zope.container, plone.app.layout)
download zope.deprecation (for Products.CMFPlone, collective.z3cform.datetimewidget, Products.ATReferenceBrowserWidget, Products.PlacelessTranslationService, plone.app.layout, plone.app.kss)
download zope.structuredtext (for Products.CMFPlone, Products.PortalTransforms, Products.CMFFormController, DocumentTemplate, Zope2)
download zdaemon (for ZODB3, Zope2)
download python-dateutil (for plone.rfc822, plone.resource, plone.app.caching)
download collective.monkeypatcher (for plone.app.discussion)
download Products.contentmigration (for plone.app.upgrade)
download zope.globalrequest (for plone.app.querystring, five.globalrequest, plone.subrequest)
download Products.PythonField (for Products.PloneFormGen)
download plone.app.locales (for Products.CMFPlone)
download DateTime (for Products.CMFPlone, Products.Marshall, Products.ResourceRegistries, Products.ZSQLMethods, plone.app.workflow, plone.locking, Products.ZCatalog, Products.PasswordResetTool, Products.CMFQuickInstallerTool, plone.app.iterate, plone.app.querystring, plone.app.portlets, Products.CMFEditions, Products.ATContentTypes, Products.Archetypes, Products.validation, Products.PythonScripts, plone.app.form, Products.ZopeVersionControl, Products.PlacelessTranslationService, Zope2, AccessControl, plone.app.layout)
download zope.processlifetime (for Zope2)
download plone.app.imaging (for plone.app.blob, Products.TinyMCE)
download zope.proxy (for zope.location, plone.app.blob, zope.deferredimport, zope.app.form, zope.annotation, zope.publisher, zope.security, Zope2, zope.traversing)
download zope.tal (for zope.pagetemplate, Products.CMFPlone, Products.ATContentTypes, Products.Archetypes, zope.tales, Zope2)
download diazo (for plone.app.theming)
download Acquisition (for Products.CMFPlone, Products.Marshall, Products.ResourceRegistries, plone.app.content, Products.ZSQLMethods, plone.app.workflow, plone.app.viewletmanager, plone.locking, Products.ZCatalog, Products.PasswordResetTool, Products.CMFQuickInstallerTool, plone.app.controlpanel, plone.app.iterate, Products.PortalTransforms, plone.app.contentrules, Products.CMFFormController, Products.CMFDiffTool, five.customerize, DocumentTemplate, five.localsitemanager, plone.app.portlets, Products.CMFEditions, Products.ATContentTypes, Products.Archetypes, Products.PloneTestCase, Products.validation, Products.ExternalMethod, plone.app.contentmenu, plone.app.vocabularies, Products.PythonScripts, Products.MimetypesRegistry, plone.app.upgrade, plone.app.form, plone.openid, plone.app.caching, Products.ZCTextIndex, Products.ZopeVersionControl, Products.PlacelessTranslationService, Products.BTreeFolder2, Zope2, AccessControl, plone.app.customerize, borg.localrole, plone.app.layout, plone.app.kss, Products.CMFDynamicViewFTI)
download zope.component (for zope.pagetemplate, plone.transformchain, Products.CMFPlone, plone.folder, plone.registry, five.formlib, Products.ResourceRegistries, plone.app.content, plone.session, plone.resourceeditor, plone.app.workflow, zope.browserresource, z3c.form, plone.app.viewletmanager, plone.app.z3cform, plone.locking, zope.lifecycleevent, zope.viewlet, Products.PasswordResetTool, Products.StandardCacheManagers, Products.CMFQuickInstallerTool, plone.app.controlpanel, plone.i18n, plone.app.iterate, plone.app.contentrules, zope.app.form, plone.rfc822, z3c.formwidget.query, zope.componentvocabulary, five.customerize, plone.app.dexterity, plone.app.textfield, plone.portlet.static, kss.core, plone.app.querystring, zope.annotation, five.localsitemanager, plone.app.portlets, zope.sendmail, plone.browserlayer, plone.z3cform, plone.behavior, zope.site, plone.resource, Products.ATContentTypes, plone.portlets, Products.Archetypes, Products.PloneTestCase, zope.i18n, zope.browserpage, plone.caching, plone.supermodel, plone.fieldsets, plone.app.openid, plone.app.contentmenu, zope.publisher, plone.app.vocabularies, Products.CMFPlacefulWorkflow, z3c.caching, zope.security, plone.app.upgrade, plone.protect, plone.app.form, zope.formlib, plone.namedfile, plone.app.caching, plone.app.discussion, plone.theme, plone.app.users, plone.indexer, Products.PlacelessTranslationService, archetypes.referencebrowserwidget, z3c.zcmlhook, zope.contentprovider, plone.schemaeditor, plone.app.registry, plone.app.jquerytools, Zope2, plone.contentrules, AccessControl, plone.dexterity, plone.memoize, zope.container, plone.app.customerize, borg.localrole, zope.browsermenu, zope.traversing, plone.app.layout, plone.app.kss, plone.cachepurging, Products.CMFDynamicViewFTI)
download zope.exceptions (for zope.app.form, zope.publisher, Zope2, zope.testing)
download transaction (for Products.CMFPlone, five.formlib, Products.Marshall, Products.ZSQLMethods, plone.app.workflow, Products.StandardCacheManagers, plone.app.contentrules, zope.app.form, Products.CMFFormController, five.customerize, plone.app.portlets, Products.CMFEditions, zope.sendmail, Products.ExtendedPathIndex, Products.ATContentTypes, Products.Archetypes, ZODB3, plone.app.upgrade, plone.openid, Products.ZCTextIndex, Products.ZopeVersionControl, Zope2, AccessControl)
download zope.browser (for five.formlib, z3c.form, plone.app.contentrules, zope.app.form, plone.app.portlets, zope.publisher, plone.app.vocabularies, z3c.caching, plone.app.form, zope.formlib, Zope2, plone.dexterity, zope.browsermenu)
download zope.broken (for zope.container)
download zope.schema (for zope.location, plone.transformchain, plone.registry, zope.filerepresentation, five.formlib, plone.app.content, plone.resourceeditor, plone.app.workflow, zope.app.content, zope.browserresource, z3c.form, plone.locking, Products.ZCatalog, zope.viewlet, plone.app.controlpanel, plone.app.iterate, plone.app.contentrules, zope.app.form, plone.rfc822, z3c.formwidget.query, zope.componentvocabulary, five.customerize, plone.app.dexterity, plone.app.textfield, plone.portlet.static, zope.testbrowser, kss.core, Products.TinyMCE, plone.app.querystring, plone.app.portlets, zope.sendmail, plone.behavior, zope.configuration, z3c.autoinclude, plone.resource, plone.portlets, Products.Archetypes, zope.i18n, zope.browserpage, plone.caching, plone.supermodel, plone.fieldsets, plone.app.vocabularies, zope.security, plone.app.form, zope.formlib, plone.autoform, plone.app.users, z3c.zcmlhook, zope.contentprovider, plone.schemaeditor, wicked, Zope2, plone.contentrules, AccessControl, plone.dexterity, zope.container, zope.browsermenu, plone.app.layout)
download zope.size (for Zope2, plone.dexterity, zope.container)
download zope.copy (for Products.CMFEditions)
download zope.app.locales (for Products.CMFPlone)
download zope.location (for Products.CMFPlone, five.formlib, zope.ramcache, zope.browserresource, z3c.form, zope.viewlet, kss.core, zope.annotation, five.localsitemanager, zope.site, zope.publisher, zope.security, plone.app.upgrade, zope.contentprovider, Zope2, plone.dexterity, zope.container, zope.traversing, plone.keyring)
download plone.transformchain (for plone.app.theming, plone.caching)
download zope.deferredimport (for Products.CMFPlone, Products.Archetypes, plone.supermodel, Products.PlacelessTranslationService, Zope2, AccessControl, borg.localrole)
download plone.rfc822 (for plone.app.dexterity, plone.namedfile, plone.dexterity)
download zope.filerepresentation (for plone.resource, plone.dexterity, zope.container)
download zope.testbrowser (for Zope2)
download zope.lifecycleevent (for five.formlib, plone.app.content, z3c.form, plone.uuid, plone.app.iterate, plone.app.contentrules, five.customerize, kss.core, five.localsitemanager, plone.app.portlets, zope.site, Products.Archetypes, z3c.caching, plone.app.form, zope.formlib, plone.app.discussion, Products.BTreeFolder2, plone.schemaeditor, wicked, Zope2, plone.contentrules, plone.dexterity, zope.container, plone.app.kss, plone.cachepurging)
download zope.configuration (for zope.browserresource, z3c.form, zope.viewlet, zope.app.form, kss.core, plone.app.portlets, zope.sendmail, plone.behavior, z3c.autoinclude, plone.resource, zope.browserpage, zope.publisher, z3c.zcmlhook, Zope2, plone.contentrules, AccessControl, zope.browsermenu)
download zope.i18n (for zope.pagetemplate, Products.CMFPlone, plone.app.content, plone.app.workflow, collective.z3cform.datetimewidget, zope.browserresource, z3c.form, Products.PasswordResetTool, plone.app.controlpanel, plone.i18n, zope.app.form, plone.app.querystring, Products.statusmessages, plone.z3cform, Products.ATContentTypes, Products.Archetypes, Products.validation, plone.app.contentmenu, zope.publisher, plone.app.vocabularies, plone.app.form, zope.formlib, Products.PlacelessTranslationService, Zope2, plone.stringinterp, zope.traversing, plone.app.layout, plone.app.kss)
download ZODB3 (for Products.CMFPlone, plone.app.blob, plone.registry, Products.ResourceRegistries, Products.ZSQLMethods, zope.ramcache, plone.app.viewletmanager, plone.locking, Products.ZCatalog, plone.app.controlpanel, plone.app.iterate, Products.PortalTransforms, plone.app.contentrules, Persistence, plone.app.textfield, zope.annotation, five.localsitemanager, plone.app.portlets, Products.CMFEditions, tempstorage, Products.ExtendedPathIndex, Products.ATContentTypes, plone.portlets, Products.Archetypes, Products.PloneTestCase, Products.ExternalMethod, Products.MimetypesRegistry, plone.openid, plone.app.discussion, Products.ZCTextIndex, Products.ZopeVersionControl, plone.app.users, Products.PlacelessTranslationService, Products.BTreeFolder2, Zope2, plone.contentrules, AccessControl, plone.dexterity, zope.container, plone.keyring)
download zope.tales (for zope.pagetemplate, Products.CMFPlone, Products.CMFFormController, zope.contentprovider, Zope2)
download zope.testing (for plone.registry, plone.app.workflow, zope.ramcache, Products.ZCatalog, plone.app.controlpanel, five.customerize, kss.core, five.localsitemanager, tempstorage, Products.PloneTestCase, Products.CMFPlacefulWorkflow, Zope2, plone.contentrules, AccessControl)
download plone.registry (for Products.CMFPlone, plone.app.querystring, plone.caching, plone.app.caching, plone.app.discussion, plone.app.registry, plone.cachepurging)
download zope.ramcache (for plone.app.controlpanel, plone.app.upgrade, plone.memoize)
download Persistence (for Products.ZSQLMethods, Products.ZCatalog, Products.ExternalMethod, Products.ZCTextIndex, Products.BTreeFolder2, Zope2, AccessControl, Products.OFSP)
download plone.app.textfield (for plone.app.dexterity)
download zope.annotation (for plone.folder, plone.locking, Products.CMFQuickInstallerTool, plone.app.controlpanel, plone.app.iterate, plone.app.contentrules, plone.app.portlets, Products.statusmessages, plone.behavior, zope.site, plone.portlets, plone.app.discussion, Products.PlacelessTranslationService, plone.contentrules, plone.dexterity, plone.memoize, borg.localrole, plone.app.layout, plone.cachepurging)
download zope.sendmail (for Zope2)
download tempstorage (for Zope2)
download z3c.autoinclude (for Products.CMFPlone)
download zope.security (for zope.pagetemplate, zope.app.content, z3c.form, zope.viewlet, zope.app.form, zope.componentvocabulary, kss.core, zope.site, zope.browserpage, zExceptions, zope.publisher, zope.formlib, plone.namedfile, zope.ptresource, plone.autoform, Zope2, AccessControl, plone.dexterity, zope.container, zope.browsermenu, zope.traversing)
download z3c.zcmlhook (for plone.supermodel, plone.app.caching)
download z3c.caching (for plone.resource, plone.caching)
download zope.componentvocabulary (for zope.app.content, five.customerize, plone.contentrules)
download plone.behavior (for plone.app.dexterity, plone.dexterity)
download Products.statusmessages (for Products.CMFPlone, plone.app.workflow, plone.app.controlpanel, plone.app.iterate, plone.app.contentrules, collective.z3cform.wizard, Products.Archetypes, plone.app.caching, plone.app.users, plone.app.registry, plone.dexterity, plone.app.kss)
download plone.supermodel (for plone.app.dexterity, plone.autoform, plone.app.registry, plone.dexterity)
download zope.publisher (for Products.CMFPlone, five.formlib, plone.app.content, plone.resourceeditor, zope.browserresource, z3c.form, plone.uuid, zope.viewlet, plone.app.controlpanel, plone.i18n, plone.app.contentrules, zope.app.form, five.customerize, plone.app.dexterity, kss.core, plone.app.querystring, plone.app.portlets, plone.app.uuid, plone.resource, Products.ATContentTypes, plone.portlets, Products.Archetypes, zope.browserpage, plone.app.contentmenu, zExceptions, zope.formlib, plone.app.caching, plone.theme, zope.ptresource, Products.PlacelessTranslationService, zope.contentprovider, plone.schemaeditor, Zope2, AccessControl, plone.dexterity, zope.container, plone.app.customerize, zope.browsermenu, zope.traversing, plone.app.layout)
download plone.memoize (for Products.CMFPlone, plone.folder, plone.app.content, plone.app.workflow, Products.PasswordResetTool, plone.app.redirector, plone.app.controlpanel, plone.app.iterate, plone.app.contentrules, plone.portlet.collection, plone.app.portlets, Products.ATContentTypes, plone.portlets, plone.app.contentmenu, plone.app.caching, plone.dexterity, Products.PlonePAS, borg.localrole, plone.app.layout)
download zope.app.content (for Products.TinyMCE)
download plone.app.redirector (for Products.CMFPlone)
download plone.i18n (for Products.CMFPlone, plone.app.content, plone.portlet.static, plone.app.portlets, Products.ATContentTypes, Products.PlonePAS, plone.app.layout)
download zExceptions (for Products.ZCatalog, DocumentTemplate, Products.PythonScripts, Products.ZCTextIndex, Zope2, AccessControl)
download zope.contentprovider (for z3c.form, plone.app.viewletmanager, zope.viewlet, plone.app.portlets, plone.portlets, plone.app.contentmenu, Zope2, plone.app.kss)
download zope.traversing (for zope.pagetemplate, Products.CMFPlone, zope.browserresource, z3c.form, plone.app.z3cform, zope.viewlet, plone.app.contentrules, plone.app.theming, five.customerize, kss.core, plone.app.portlets, plone.browserlayer, plone.resource, zope.browserpage, zope.formlib, plone.namedfile, plone.theme, wicked, Zope2, zope.container, zope.browsermenu)
download zope.pagetemplate (for Products.CMFPlone, z3c.form, five.customerize, kss.core, zope.browserpage, plone.app.caching, zope.ptresource, Zope2, zope.browsermenu)
download zope.browserresource (for z3c.form, kss.core, plone.app.caching, zope.ptresource, Zope2)
download AccessControl (for Products.ZCatalog, Products.StandardCacheManagers, DocumentTemplate, Products.ExtendedPathIndex, Products.ExternalMethod, Products.PythonScripts, Products.ZCTextIndex, Products.BTreeFolder2, Zope2, Products.OFSP)
download zope.container (for Products.CMFPlone, plone.folder, plone.app.content, plone.app.contentrules, plone.app.portlets, zope.site, plone.portlets, plone.app.discussion, Products.BTreeFolder2, plone.schemaeditor, wicked, Zope2, plone.contentrules, plone.dexterity, plone.keyring)
download plone.folder (for Products.Archetypes, plone.app.folder, plone.dexterity)
download z3c.form (for collective.z3cform.datetimewidget, plone.formwidget.namedfile, z3c.formwidget.query, plone.app.dexterity, plone.z3cform, plone.app.caching, plone.app.discussion, plone.autoform, collective.megaphone, plone.schemaeditor)
download DocumentTemplate (for Products.ZCatalog, Products.MIMETools, Products.PythonScripts, Zope2)
download zope.browserpage (for plone.uuid, plone.app.z3cform, zope.viewlet, zope.app.form, plone.app.dexterity, kss.core, plone.z3cform, zope.formlib, plone.namedfile, Zope2)
download zope.ptresource (for Zope2)
download zope.site (for Products.CMFPlone, plone.app.workflow, plone.app.viewletmanager, plone.app.controlpanel, plone.app.contentrules, five.customerize, kss.core, five.localsitemanager, plone.app.portlets, plone.portlets, Products.Archetypes, Products.PloneTestCase, plone.app.vocabularies, plone.app.upgrade, plone.app.form, plone.app.discussion, plone.app.users, Zope2)
download wicked (for Plone)
download plone.contentrules (for Products.CMFPlone, plone.app.contentrules, plone.app.dexterity)
download zope.browsermenu (for zope.app.form, plone.app.contentmenu, Zope2, Products.CMFDynamicViewFTI)
download plone.keyring (for plone.session, plone.protect)
download collective.z3cform.datetimewidget (for plone.app.z3cform, plone.app.dexterity)
download zope.viewlet (for Products.ResourceRegistries, plone.app.content, plone.app.viewletmanager, plone.locking, plone.app.iterate, five.customerize, Products.Archetypes, Zope2, plone.app.customerize, plone.app.layout, plone.app.kss)
download Products.MIMETools (for Zope2)
download z3c.formwidget.query (for plone.app.z3cform)
download kss.core (for plone.app.contentrules, plone.app.kss)
download zope.formlib (for five.formlib, plone.app.controlpanel, Products.GenericSetup, plone.app.contentrules, zope.app.form, Products.CMFDefault, plone.portlet.static, plone.app.portlets, plone.fieldsets, plone.app.vocabularies, plone.app.form, plone.app.users, archetypes.referencebrowserwidget)
download plone.portlets (for Products.CMFPlone, five.customerize, plone.app.dexterity, plone.portlet.static, plone.portlet.collection, plone.app.portlets, plone.app.openid, plone.app.upgrade, plone.app.customerize, plone.app.layout, plone.app.kss)
download plone.namedfile (for plone.formwidget.namedfile, plone.app.dexterity, Products.TinyMCE)
download plone.uuid (for Products.Marshall, plone.app.contentlisting, plone.app.contentrules, archetypes.schemaextender, plone.app.uuid, Products.Archetypes, plone.dexterity)
download plone.app.contentlisting (for Products.CMFPlone, plone.app.querystring, plone.app.search)
download zope.app.form (for five.formlib)
download archetypes.schemaextender (for plone.app.blob)
download plone.app.blob (for Products.CMFPlone, Products.CMFEditions)
download plone.app.search (for Products.CMFPlone)
download Zope2 (for Products.CMFPlone, five.formlib, Products.Marshall, Products.ResourceRegistries, plone.app.content, plone.session, Products.ZSQLMethods, plone.resourceeditor, plone.app.workflow, Products.CMFUid, plone.app.viewletmanager, plone.app.z3cform, plone.locking, Products.ZCatalog, Products.PasswordResetTool, Products.StandardCacheManagers, Products.CMFQuickInstallerTool, plone.app.controlpanel, plone.app.iterate, Products.GenericSetup, Products.PortalTransforms, plone.app.contentrules, Products.CMFFormController, Products.CMFCalendar, Products.CMFDiffTool, Products.CMFCore, Products.CMFDefault, five.customerize, plone.app.dexterity, plone.portlet.static, five.localsitemanager, plone.app.portlets, Products.CMFEditions, collective.z3cform.wizard, plone.browserlayer, plone.z3cform, Products.ExtendedPathIndex, plone.resource, Products.ATContentTypes, Products.PluggableAuthService, Products.Archetypes, Products.PloneTestCase, Products.MailHost, plone.caching, Products.validation, Products.ExternalMethod, plone.app.openid, plone.app.contentmenu, plone.app.vocabularies, Products.PythonScripts, Products.MimetypesRegistry, plone.app.upgrade, five.globalrequest, plone.protect, plone.app.form, plone.openid, plone.app.caching, plone.theme, Products.ZCTextIndex, Products.ZopeVersionControl, plone.app.users, Products.PlacelessTranslationService, Products.BTreeFolder2, plone.schemaeditor, plone.app.registry, plone.app.jquerytools, Products.OFSP, plone.dexterity, Products.DCWorkflow, plone.app.customerize, Products.PlonePAS, borg.localrole, plone.app.layout, plone.app.kss, Products.PluginRegistry, plone.cachepurging, Products.CMFDynamicViewFTI)
download Products.CMFCore (for Products.CMFPlone, Products.Marshall, Products.ResourceRegistries, plone.app.content, plone.app.workflow, Products.CMFUid, Products.CMFActionIcons, plone.locking, Products.PasswordResetTool, Products.CMFQuickInstallerTool, plone.app.controlpanel, plone.app.iterate, Products.PortalTransforms, plone.outputfilters, plone.app.contentrules, Products.CMFFormController, Products.CMFCalendar, Products.CMFDiffTool, Products.CMFDefault, plone.app.dexterity, plone.app.querystring, plone.app.portlets, Products.CMFEditions, plone.browserlayer, Products.ATContentTypes, Products.Archetypes, Products.PloneTestCase, plone.app.openid, plone.app.contentmenu, plone.app.vocabularies, Products.CMFPlacefulWorkflow, Products.MimetypesRegistry, plone.app.upgrade, plone.app.form, plone.app.caching, plone.theme, plone.app.users, plone.indexer, plone.app.jquery, plone.app.registry, plone.app.jquerytools, plone.dexterity, Products.DCWorkflow, plone.stringinterp, plone.app.customerize, Products.PlonePAS, borg.localrole, plone.app.layout, plone.app.kss, Products.CMFDynamicViewFTI)
download Products.GenericSetup (for Products.CMFPlone, Products.Marshall, Products.ResourceRegistries, plone.app.workflow, Products.CMFUid, Products.CMFActionIcons, plone.app.viewletmanager, Products.CMFQuickInstallerTool, plone.outputfilters, plone.app.contentrules, Products.CMFFormController, Products.CMFCalendar, Products.CMFDiffTool, Products.CMFCore, Products.CMFDefault, plone.app.dexterity, plone.app.portlets, Products.CMFEditions, plone.browserlayer, Products.ATContentTypes, Products.PluggableAuthService, Products.Archetypes, Products.PloneTestCase, Products.CMFPlacefulWorkflow, plone.app.upgrade, plone.app.caching, plone.app.jquery, plone.app.registry, plone.app.jquerytools, Products.DCWorkflow, Products.PlonePAS, borg.localrole, Products.PluginRegistry, Products.CMFDynamicViewFTI)
download Products.CMFPlone (for plone.app.content, plone.app.workflow, Products.PasswordResetTool, plone.app.controlpanel, plone.app.contentrules, plone.app.theming, plone.app.dexterity, plone.app.querystring, plone.app.portlets, Products.ATContentTypes, Products.PloneTestCase, plone.app.contentmenu, Products.CMFPlacefulWorkflow, Plone, plone.app.upgrade, plone.app.discussion, plone.app.users, plone.app.registry, plone.app.folder, plone.app.layout)
download Products.CMFDefault (for Products.CMFPlone, plone.app.content, plone.app.controlpanel, Products.PortalTransforms, plone.app.contentrules, Products.CMFCalendar, Products.ATContentTypes, Products.Archetypes, plone.app.upgrade, plone.app.form, plone.theme, plone.app.users, plone.dexterity, plone.app.layout)
download plone.z3cform (for plone.app.z3cform, plone.formwidget.namedfile, plone.app.dexterity, collective.z3cform.wizard, plone.app.discussion, plone.autoform, collective.megaphone, plone.schemaeditor, plone.dexterity)
download plone.app.layout (for Products.CMFPlone, plone.app.dexterity, Products.TinyMCE, plone.app.querystring, plone.app.portlets, Products.ATContentTypes, plone.app.discussion, plone.app.users, plone.app.kss)
download Products.PluggableAuthService (for Products.CMFPlone, plone.session, plone.app.portlets, plone.app.openid, plone.app.upgrade, plone.openid, Products.PlonePAS, borg.localrole)
download plone.locking (for Products.CMFPlone, plone.app.controlpanel, plone.app.iterate, plone.app.contentmenu, plone.app.form, plone.app.layout, plone.app.kss)
download plone.app.portlets (for Products.CMFPlone, plone.portlet.static, plone.portlet.collection, plone.app.openid, plone.app.upgrade, plone.app.layout, plone.app.kss)
download Products.Archetypes (for Products.CMFPlone, Products.Marshall, Products.PloneFormGen, plone.app.iterate, Products.TinyMCE, Products.ATContentTypes, plone.app.upgrade)
download plone.app.vocabularies (for Products.CMFPlone, plone.app.controlpanel, plone.app.contentrules, plone.app.querystring, plone.portlet.collection, plone.app.portlets, plone.app.form)
download plone.app.form (for Products.CMFPlone, plone.app.controlpanel, plone.app.contentrules, plone.portlet.static, plone.portlet.collection, plone.app.portlets, archetypes.referencebrowserwidget)
download Products.CMFDynamicViewFTI (for Products.CMFPlone, plone.app.portlets, Products.ATContentTypes, plone.app.contentmenu, plone.app.caching, plone.dexterity, plone.app.layout)
download Products.MimetypesRegistry (for Products.CMFPlone, Products.PortalTransforms, plone.outputfilters, Products.ATContentTypes, Products.Archetypes, plone.app.upgrade)
download Products.PortalTransforms (for Products.CMFPlone, plone.app.controlpanel, plone.outputfilters, Products.ATContentTypes, Products.Archetypes, plone.app.upgrade)
download plone.app.registry (for Products.CMFPlone, Products.ResourceRegistries, plone.app.theming, plone.app.querystring, plone.app.caching, plone.app.discussion)
download Products.DCWorkflow (for Products.CMFPlone, plone.app.workflow, plone.app.iterate, Products.Archetypes, plone.app.upgrade, plone.app.kss)
download plone.app.z3cform (for plone.app.dexterity, plone.app.caching, plone.app.discussion, collective.megaphone, plone.app.registry)
download plone.app.jquerytools (for Products.CMFPlone, Products.PloneFormGen, archetypes.querywidget, collective.megaphone, archetypes.referencebrowserwidget)
download five.formlib (for plone.app.contentrules, plone.app.portlets, plone.fieldsets, plone.app.form, plone.app.users)
download plone.protect (for Products.CMFPlone, plone.session, plone.app.controlpanel, plone.app.caching, plone.app.users)
download five.globalrequest (for Products.CMFCore, plone.app.theming, plone.caching, plone.cachepurging, plone.subrequest)
download Products.PlonePAS (for Products.CMFPlone, plone.app.controlpanel, plone.app.openid, plone.app.upgrade, borg.localrole)
download plone.app.controlpanel (for Products.CMFPlone, plone.app.theming, plone.app.users, plone.app.layout)
download five.localsitemanager (for Products.CMFPlone, Products.GenericSetup, Products.CMFCore, plone.app.upgrade)
download Products.PythonScripts (for Products.CMFCore, Products.CMFDefault, Zope2, Products.DCWorkflow)
download Products.CMFEditions (for Products.CMFPlone, plone.app.iterate, plone.app.upgrade, plone.app.layout)
download plone.autoform (for plone.app.dexterity, plone.schemaeditor, plone.app.registry, plone.dexterity)
download plone.app.folder (for Products.CMFPlone, Products.ATContentTypes, Products.Archetypes, plone.app.upgrade)
download Products.ResourceRegistries (for Products.CMFPlone, Products.TinyMCE, plone.app.upgrade)
download plone.app.content (for Products.CMFPlone, plone.app.dexterity, plone.app.contentmenu)
download plone.session (for Products.CMFPlone, plone.app.upgrade, Products.PlonePAS)
download Products.CMFUid (for Products.CMFPlone, Products.CMFEditions, plone.app.upgrade)
download Products.CMFQuickInstallerTool (for Products.CMFPlone, Products.Archetypes, plone.app.upgrade)
download Products.CMFCalendar (for Products.CMFPlone, Products.Archetypes, plone.app.upgrade)
download Products.CMFFormController (for Products.CMFPlone, Products.Archetypes, plone.app.upgrade)
download plone.app.uuid (for Products.CMFPlone, plone.app.dexterity, plone.app.discussion)
download Products.ATContentTypes (for Products.CMFPlone, Products.PloneTestCase, plone.app.upgrade)
download Products.MailHost (for Products.CMFCore, Products.CMFDefault, Zope2)
download plone.caching (for Products.TinyMCE, plone.resource, plone.app.caching)
download Products.CMFDiffTool (for Products.CMFPlone, Products.CMFEditions, plone.app.upgrade)
download plone.indexer (for Products.CMFPlone, plone.app.uuid, plone.app.discussion)
download archetypes.referencebrowserwidget (for Products.CMFPlone, Products.ATContentTypes, Products.ATReferenceBrowserWidget)
download five.customerize (for Products.CMFPlone, plone.app.portlets, plone.app.customerize)
download Products.ZSQLMethods (for Products.CMFCore, Products.Archetypes)
download plone.app.workflow (for Products.CMFPlone, plone.app.controlpanel)
download Products.ZCatalog (for plone.app.upgrade, Zope2)
download Products.ExternalMethod (for Zope2, Products.DCWorkflow)
download plone.app.dexterity (for plone.app.collection, Plone)
download plone.app.viewletmanager (for Products.CMFPlone, plone.app.layout)
download plone.app.querystring (for archetypes.querywidget, plone.formwidget.querystring)
download plone.browserlayer (for Products.CMFPlone, plone.app.customerize)
download plone.resource (for plone.resourceeditor, plone.app.theming)
download plone.fieldsets (for Products.CMFPlone, plone.app.controlpanel)
download plone.app.contentmenu (for Products.CMFPlone, plone.app.collection)
download Products.CMFActionIcons (for Products.CMFPlone, plone.app.upgrade)
download Products.CMFPlacefulWorkflow (for plone.app.iterate, Plone)
download Plone (for Products.PloneFormGen, collective.megaphone)
download Products.validation (for Products.ATContentTypes, Products.Archetypes)
download Products.ZCTextIndex (for Products.ZCatalog, Zope2)
download Products.PluginRegistry (for Products.CMFPlone, Products.PluggableAuthService)
download Products.PlacelessTranslationService (for Products.CMFPlone, Products.Archetypes)
download Products.BTreeFolder2 (for Products.CMFCore, Zope2)
download plone.app.jquery (for Products.CMFPlone, collective.js.jqueryui)
download borg.localrole (for Products.CMFPlone, plone.app.upgrade)
download plone.portlet.static (for Products.CMFPlone)
download Products.Marshall (for Products.Archetypes)
download Products.PloneFormGen (for collective.megaphone)
download plone.resourceeditor (for plone.app.theming)
download archetypes.querywidget (for Products.CMFPlone)
download Products.PasswordResetTool (for Products.CMFPlone)
download Products.StandardCacheManagers (for Zope2)
download plone.app.iterate (for Plone)
download plone.outputfilters (for Products.TinyMCE)
download plone.app.contentrules (for Products.CMFPlone)
download plone.formwidget.namedfile (for plone.app.dexterity)
download plone.app.theming (for Plone)
download plone.app.collection (for Products.CMFPlone)
download collective.z3cform.wizard (for collective.megaphone)
download Products.TinyMCE (for Products.CMFPlone)
download plone.portlet.collection (for Products.CMFPlone)
download Products.PloneTestCase (for Products.CMFPlacefulWorkflow)
download plone.cachepurging (for plone.app.caching)
download plone.app.upgrade (for Products.CMFPlone)
download Products.ATReferenceBrowserWidget (for Products.ATContentTypes)
download Products.ExtendedPathIndex (for Products.CMFPlone)
download plone.openid (for plone.app.openid)
download plone.app.caching (for Plone)
download plone.app.discussion (for Products.CMFPlone)
download plone.theme (for Products.CMFPlone)
download Products.ZopeVersionControl (for Products.CMFEditions)
download plone.app.users (for Products.CMFPlone)
download plone.schemaeditor (for plone.app.dexterity)
download plone.formwidget.querystring (for plone.app.collection)
download Products.OFSP (for Zope2)
download plone.app.kss (for plone.app.contentrules)
download plone.dexterity (for plone.app.dexterity)
download plone.app.openid (for Plone)
download plone.stringinterp (for plone.app.contentrules)
download plone.app.customerize (for Products.CMFPlone)
download collective.js.jqueryui (for Products.PloneFormGen)
download plone.subrequest (for plone.app.theming)
download collective.megaphone
# -*- coding: utf-8 -*-
#
# Copyright (C) 2012 Vinay Sajip. All rights reserved.
#
import logging
import sys
import time
from distlib.database import make_graph
from distlib.locators import locate, get_scheme, default_locator, DependencyFinder
from distlib.version import get_scheme, UnsupportedVersionError
logger = logging.getLogger(__name__)
def main():
if len(sys.argv) < 2:
raise ValueError('usage: finddeps.py dist-name')
default_locator.scheme = 'legacy'
finder = DependencyFinder(default_locator)
start = time.time()
dists, problems = finder.find(sys.argv[1])
elapsed = time.time() - start
#import pdb; pdb.set_trace()
print('%d dists, elapsed time: %.2f secs' % (len(dists), elapsed))
logger.debug('Making graph')
for dist in sorted(dists, key = lambda d: (d.name, d.version)):
logger.debug('%s (%s)', dist.name, dist.version)
graph = make_graph(dists, scheme='legacy')
logger.debug('Made graph')
if graph.missing:
print('-'*40)
print('Missing:')
for d, reqs in graph.missing.items():
print('%s (%s) - %d requirement(s)' % (d.name,
d.version, len(reqs)))
for r in reqs:
print(' %s' % r)
SEP = '-'*40
print(SEP)
print('Topological sort:')
print(SEP)
logger.debug('Sorting graph')
slist, cycle = graph.topological_sort()
logger.debug('Graph sorted')
for d in slist:
print('%s (%s)' % (d.name, d.version))
if cycle:
print(SEP)
print('Cycle:')
print(SEP)
cycle_names = set([d.name.lower() for d in cycle])
scheme = get_scheme('legacy')
for d in sorted(cycle, key = lambda d: d.name.lower()):
print('%s (%s)' % (d.name, d.version))
for r in d.get_requirements('install'):
m = scheme.matcher(r)
if m.name.lower() in cycle_names:
print(' %s' % r)
print(SEP)
print('Download order:')
print(SEP)
to_download = set(dists)
for dist in slist:
deps = graph.reverse_list[dist]
deps = ', '.join([d.name for d in deps])
if deps:
deps = ' (for %s)' % deps
print('download %s%s' % (dist.name, deps))
to_download.remove(dist)
# Now sort the remainder on dependency count.
to_download = sorted(to_download, key=lambda d: len(graph.reverse_list[d]),
reverse=True)
#import pdb; pdb.set_trace()
while to_download:
dist = to_download.pop(0)
deps = graph.reverse_list[dist]
deps = ', '.join([d.name for d in deps])
if deps:
deps = ' (for %s)' % deps
print('download %s%s' % (dist.name, deps))
if __name__ == '__main__':
logging.basicConfig(format='%(asctime)s %(threadName)s %(message)s',
level=logging.DEBUG,
filename='finddeps.log', filemode='w')
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment