ERP5 and Jupyter integrated together
[slapos.git] / stack / erp5 / buildout.cfg
1 [buildout]
2 extends =
3 # Exact version of Zope
4   https://raw.github.com/zopefoundation/Zope/2.13.22/versions.cfg
5   ../../component/cups/buildout.cfg
6   ../../component/dbus/buildout.cfg
7   ../../component/file/buildout.cfg
8   ../../component/fonts/buildout.cfg
9   ../../component/ghostscript/buildout.cfg
10   ../../component/git/buildout.cfg
11   ../../component/graphviz/buildout.cfg
12   ../../component/gzip/buildout.cfg
13   ../../component/haproxy/buildout.cfg
14   ../../component/hookbox/buildout.cfg
15   ../../component/findutils/buildout.cfg
16   ../../component/librsvg/buildout.cfg
17   ../../component/imagemagick/buildout.cfg
18   ../../component/inkscape/buildout.cfg
19   ../../component/kumo/buildout.cfg
20   ../../component/libdmtx/buildout.cfg
21   ../../component/libffi/buildout.cfg
22   ../../component/libpng/buildout.cfg
23   ../../component/libreoffice-bin/buildout.cfg
24   ../../component/mesa/buildout.cfg
25   ../../component/numpy/buildout.cfg
26   ../../component/percona-toolkit/buildout.cfg
27   ../../component/patch/buildout.cfg
28   ../../component/pillow/buildout.cfg
29   ../../component/pysvn-python/buildout.cfg
30   ../../component/python-ldap-python/buildout.cfg
31   ../../component/rdiff-backup/buildout.cfg
32   ../../component/stunnel/buildout.cfg
33   ../../component/subversion/buildout.cfg
34   ../../component/tesseract/buildout.cfg
35   ../../component/w3-validator/buildout.cfg
36   ../../component/w3m/buildout.cfg
37   ../../component/xorg/buildout.cfg
38   ../../component/poppler/buildout.cfg
39   ../../component/zabbix/buildout.cfg
40   ../../component/sed/buildout.cfg
41   ../../component/coreutils/buildout.cfg
42   ../../component/grep/buildout.cfg
43   ../../component/dash/buildout.cfg
44   ../../component/wget/buildout.cfg
45   ../../component/aspell/buildout.cfg
46   ../../component/cloudooo/buildout.cfg
47   ../../component/jsl/buildout.cfg
48   ../../component/6tunnel/buildout.cfg
49   ../../component/findutils/buildout.cfg
50   ../../component/userhosts/buildout.cfg
51   ../../component/postfix/buildout.cfg
52   ../../software/ipython_notebook/software.cfg
53   ../../software/neoppod/software-common.cfg
54 # keep neoppod extends last
55
56 parts +=
57   erp5-util-develop
58   slapos-cookbook-develop
59   slapos-cookbook
60   rdiff-backup
61   aspell
62   aspell-en-dictionary
63   apache
64   apache-antiloris
65   file
66   findutils
67   graphviz
68   haproxy
69   jsl
70   stunnel
71   w3m
72   poppler
73   libpng
74   ghostscript
75   mroonga-mariadb
76   imagemagick
77   inkscape
78   libdmtx
79   dmtx-utils
80   kumo
81   libreoffice-bin
82   w3-validator
83   tesseract
84   hookbox
85   perl-DBD-mariadb
86   perl-DBI
87   percona-toolkit
88   zabbix-agent
89   dash
90   wget
91   userhosts
92   postfix
93
94 # Buildoutish
95   eggs
96   testrunner
97   test_suite_runner
98
99 # basic Xorg
100   libXdmcp
101   libXext
102   libXau
103   libSM
104   libXrender
105
106 # fonts
107   liberation-fonts
108   ipaex-fonts
109   ipa-fonts
110   ocrb-fonts
111   android-fonts
112
113 # Cloudooo specific part
114   cloudooo-develop
115   cloudooo
116
117 # get git repositories
118   erp5
119   genbt5list
120
121 # some additional utils
122   zodbanalyze
123
124 # Create instance template
125   template
126
127 # jupyter
128   ipython-notebook
129   instance-jupyter
130   monitor-eggs
131
132 # override instance-jupyter not to render into default template.cfg
133 [instance-jupyter]
134 rendered = ${buildout:directory}/template-jupyter.cfg
135
136 [download-base]
137 <= download-base-neo
138 url = ${:_profile_base_location_}/${:filename}
139
140 [check-recipe]
141 recipe = plone.recipe.command
142 stop-on-error = true
143 update-command = ${:command}
144 command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
145
146 [mariadb-resiliency-after-import-script]
147 recipe = slapos.recipe.build:download
148 url = ${:_profile_base_location_}/template/instance-mariadb-resiliency-after-import-script.sh.in
149 md5sum = b32d9ee1cb85f85d8d2f2b58f58459f1
150 mode = 755
151
152 [template-mariadb]
153 <= download-base
154 filename = instance-mariadb.cfg.in
155 md5sum = fbc39d333bf70894f6f9d094515a2a4a
156 link-binary =
157   ${coreutils:location}/bin/basename
158   ${coreutils:location}/bin/cat
159   ${coreutils:location}/bin/cp
160   ${coreutils:location}/bin/ls
161   ${coreutils:location}/bin/tr
162   ${coreutils:location}/bin/uname
163   ${gettext:location}/lib/gettext/hostname
164   ${grep:location}/bin/grep
165   ${sed:location}/bin/sed
166   ${mariadb:location}/bin/mysqlbinlog
167
168 [template-kumofs]
169 <= download-base
170 filename = instance-kumofs.cfg.in
171 md5sum = 763db0c4a94649296e74fe1f53c03940
172
173 [template-cloudooo]
174 <= download-base
175 filename = instance-cloudoo.cfg.in
176 md5sum = 1b515056c5892a86d4ece252ad114a97
177
178 [template-zope-conf]
179 <= download-base
180 filename = zope.conf.in
181 md5sum = c1cd0be406152c79e137dcf8c81f52f2
182
183 [template-runzope-userhosts-preloaded]
184 <= download-base
185 filename = runzope_userhosts_preloaded.in
186 md5sum = bc6048b85b410693e60e5a77399dd1b7
187
188 [template-my-cnf]
189 <= download-base
190 filename = my.cnf.in
191 md5sum = 9ae79a450f9760072ccbc8c9b2d0c377
192
193 [template-mariadb-initial-setup]
194 <= download-base
195 filename = mariadb_initial_setup.sql.in
196 md5sum = 6465212fdc7fe9076a0c929d9f14da14
197
198 [template-create-erp5-site]
199 <= download-base
200 filename = instance-create-erp5-site.cfg.in
201 md5sum = 71cef1d06065951ab4cf43eb13f311a3
202
203 [template-create-erp5-site-real]
204 <= download-base
205 filename = instance-create-erp5-site-real.cfg.in
206 md5sum = 79f789360e71146486c82a7a10834bae
207
208 [template-postfix]
209 < = download-base
210 filename = instance-postfix.cfg.in
211 md5sum = 90a017581116f14014a039d38ef36ffd
212
213 [template-postfix-master-cf]
214 < = download-base
215 filename = postfix_master.cf.in
216 md5sum = 9ac81647368068a1a98a785d08074b43
217
218 [template-postfix-main-cf]
219 < = download-base
220 filename = postfix_main.cf.in
221 md5sum = d51897728755e14d8005344608098009
222
223 [template-postfix-aliases]
224 < = download-base
225 filename = postfix_aliases.in
226 md5sum = 0969fbb25b05c02ef3c2d437b2f4e1a0
227
228 [template]
229 recipe = slapos.recipe.template:jinja2
230 # XXX: "template.cfg" is hardcoded in instanciation recipe
231 rendered = ${buildout:directory}/template.cfg
232 template = ${:_profile_base_location_}/instance.cfg.in
233 md5sum = 98a4edfb18cfd810ea570f56d502a2cc
234 mode = 640
235 context =
236     key mariadb_link_binary template-mariadb:link-binary
237     key zope_link_binary template-zope:link-binary
238     key apache_location apache:location
239     key aspell_location aspell:location
240     key bin_directory buildout:bin-directory
241     key buildout_bin_directory buildout:bin-directory
242     key cairo_location cairo:location
243     key coreutils_location coreutils:location
244     key cups_location cups:location
245     key curl_location curl:location
246     key cyrus_sasl_location cyrus-sasl:location
247     key dash_location dash:location
248     key dbus_glib_location dbus-glib:location
249     key dbus_location dbus:location
250     key dcron_location dcron:location
251     key erp5_location erp5:location
252     key file_location file:location
253     key findutils_location findutils:location
254     key fontconfig_location fontconfig:location
255     key fonts_location fonts:location
256     key freetype_location freetype:location
257     key glib_location glib:location
258     key glu_location glu:location
259     key gzip_location gzip:location
260     key haproxy_location haproxy:location
261     key instance_common_cfg instance-common:rendered
262     key jsl_location jsl:location
263     key jupyter_enable_default erp5-defaults:jupyter-enable-default
264     key kumo_location kumo:location
265     key libICE_location libICE:location
266     key libSM_location libSM:location
267     key libX11_location libX11:location
268     key libXau_location libXau:location
269     key libXdmcp_location libXdmcp:location
270     key libXext_location libXext:location
271     key libXrender_location libXrender:location
272     key libexpat_location libexpat:location
273     key libffi_location libffi:location
274     key libpng12_location libpng12:location
275     key libreoffice_bin_location libreoffice-bin:location
276     key librsvg_location librsvg:location
277     key libxcb_location libxcb:location
278     key local_bt5_repository local-bt5-repository:list
279     key logrotate_location logrotate:location
280     key mariadb_location mariadb:location
281     key mariadb_resiliency_after_import_script mariadb-resiliency-after-import-script:target
282     key mesa_location mesa:location
283     key openssl_location openssl:location
284     key pixman_location pixman:location
285     key postfix_location postfix:location
286     key root_common root-common:target
287     key sixtunnel_location 6tunnel:location
288     key slapos_core_version versions:slapos.core
289     key stunnel_location stunnel:location
290     key template_apache_conf template-apache-conf:target
291     key template_balancer template-balancer:target
292     key template_cloudooo template-cloudooo:target
293     key template_create_erp5_site template-create-erp5-site:target
294     key template_create_erp5_site_real template-create-erp5-site-real:target
295     key template_erp5 template-erp5:target
296     key template_haproxy_cfg template-haproxy-cfg:target
297     key template_jupyter_cfg instance-jupyter:rendered
298     key template_kumofs template-kumofs:target
299     key template_mariadb template-mariadb:target
300     key template_mariadb_initial_setup template-mariadb-initial-setup:target
301     key template_monitor monitor-template:rendered
302     key template_my_cnf template-my-cnf:target
303     key template_postfix template-postfix:target
304     key template_postfix_aliases template-postfix-aliases:target
305     key template_postfix_main_cf template-postfix-main-cf:target
306     key template_postfix_master_cf template-postfix-master-cf:target
307     key template_runzope_userhosts_preloaded template-runzope-userhosts-preloaded:target
308     key template_zeo template-zeo:target
309     key template_zope template-zope:target
310     key template_zope_conf template-zope-conf:target
311     key userhosts_location userhosts:location
312     key wget_location wget:location
313     key xdamage_location xdamage:location
314     key xfixes_location xfixes:location
315     key zlib_location zlib:location
316
317 [monitor-template-dummy]
318 <= download-base
319 # This is a placeholder, to be overriden by extending monitor SR
320 filename = dummy.cfg
321 md5sum = d41d8cd98f00b204e9800998ecf8427e
322
323 [monitor-template]
324 rendered = ${monitor-template-dummy:target}
325
326 [template-erp5]
327 <= download-base
328 filename = instance-erp5.cfg.in
329 md5sum = 66edf64eeaecded8977459acb26f4424
330
331 [template-zeo]
332 <= download-base
333 filename = instance-zeo.cfg.in
334 md5sum = b0cb0ee97cddc79112a718e065806037
335
336 [template-zope]
337 <= download-base
338 filename = instance-zope.cfg.in
339 md5sum = bac5ff1ded5454749ec0e18d0ae1dae8
340 link-binary =
341   ${aspell:location}/bin/aspell
342   ${dmtx-utils:location}/bin/dmtxwrite
343   ${git:location}/bin/git
344   ${graphviz:location}/bin/dot
345   ${grep:location}/bin/grep
346   ${imagemagick:location}/bin/convert
347   ${imagemagick:location}/bin/identify
348   ${jsl:location}/bin/jsl
349   ${librsvg:location}/bin/rsvg-convert
350   ${mariadb:location}/bin/mysql
351   ${mariadb:location}/bin/mysqldump
352   ${openssl:location}/bin/openssl
353   ${poppler:location}/bin/pdfinfo
354   ${poppler:location}/bin/pdftohtml
355   ${poppler:location}/bin/pdftotext
356   ${sed:location}/bin/sed
357   ${tesseract:location}/bin/tesseract
358   ${w3m:location}/bin/w3m
359
360 [template-balancer]
361 <= download-base
362 filename = instance-balancer.cfg.in
363 md5sum = ec9321514674c084e509ca070763b4a1
364
365 [template-apache-conf]
366 <= download-base
367 filename = apache.conf.in
368 md5sum = 713b22938d7212c8506449bc0508452b
369
370 [template-haproxy-cfg]
371 <= download-base
372 filename = haproxy.cfg.in
373 md5sum = 3defd473e2cea17ae36bba7752494858
374
375 [bt5-repository]
376 # Format:
377 #   <url or path> [...]
378 #
379 # Use absolute paths for local repositories, and URLs for non-local otherwise.
380 #
381 list = ${local-bt5-repository:list}
382
383 [local-bt5-repository]
384 # Same as bt5-repository, but only local repository.
385 # Used to generate bt5lists.
386 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
387
388 [genbt5list]
389 recipe = plone.recipe.command
390 stop-on-error = true
391 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
392 command =
393   ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
394 update-command = ${:command}
395
396 [erp5_repository_list]
397 repository_id_list = erp5
398
399 # ERP5 defaults, which can be overridden in inheriting recipes (e.g. wendelin)
400 [erp5-defaults]
401 # Jupyter is by default disabled in ERP5
402 jupyter-enable-default = false
403
404 [erp5]
405 recipe = slapos.recipe.build:gitclone
406 repository = http://git.erp5.org/repos/erp5.git
407 branch = master
408 git-executable = ${git:location}/bin/git
409
410 [testrunner]
411 # XXX: Workaround for fact ERP5Type is not an distribution and does not
412 #      expose entry point for test runner
413 recipe = zc.recipe.egg
414 eggs = ${eggs:eggs}
415 extra-paths = ${eggs:extra-paths}
416 entry-points =
417   runUnitTest=runUnitTest:main
418 scripts = runUnitTest
419 initialization =
420   import glob, imp, os, sys
421   import App # prevent Testing from importing Zope2.App instead of App
422   import Products
423   Products.__path__[:0] = filter(None,
424     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
425   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
426   os.environ['ZOPE_SCRIPTS'] = ''
427   parts_directory = '''${buildout:parts-directory}'''
428   repository_id_list = \
429     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
430   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
431     [bt5_path, os.path.join(bt5_path, '*')]
432     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
433                      for x in repository_id_list)), []))
434   extra_path_list = '''${:extra-paths}'''.split()
435   sys.path[:0] = sum((
436     glob.glob(os.path.join(x, 'tests'))
437     for x in extra_path_list), [])
438   sys.path[:0] = sum((
439     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
440     for x in extra_path_list), [])
441   sys.path[:0] = sum((
442     glob.glob(os.path.join(x, 'Products', '*', 'tests'))
443     for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
444   os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
445   os.environ['CGI_PATH'] = '${w3-validator:location}/httpd/cgi-bin'
446
447 [test_suite_runner]
448 # XXX: Workaround for fact ERP5Type is not an distribution and does not
449 #      expose entry point for test runner
450 recipe = zc.recipe.egg
451 eggs = ${eggs:eggs}
452 extra-paths = ${eggs:extra-paths}
453 entry-points =
454   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
455 scripts = runTestSuite
456 initialization =
457   import os
458   import sys
459   import Products
460   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
461   import Zope2
462   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
463   os.environ['ZOPE_SCRIPTS'] = ''
464   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
465   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
466
467 [eggs]
468 <= neoppod
469 eggs =
470   ${numpy:egg}
471   ${mysql-python:egg}
472   ${lxml-python:egg}
473   ${pillow-python:egg}
474   ${python-ldap-python:egg}
475   ${pysvn-python:egg}
476   ${pycrypto-python:egg}
477   lock_file
478   PyStemmer
479   PyXML
480   Pympler
481   SOAPpy
482   chardet
483   collective.recipe.template
484   coverage
485   erp5diff
486   inotifyx
487   interval
488   ipdb
489   Jinja2
490   jsonschema
491   mechanize
492   objgraph
493   paramiko
494   ply
495   pyflakes
496   pypdf2
497   python-magic
498   python-memcached
499   pytz
500   requests
501   threadframe
502   timerserver
503   urlnorm
504   uuid
505   xml_marshaller
506   xupdate_processor
507   feedparser
508   validictory
509   erp5.util
510   huBarcode
511   qrcode
512   spyne
513   httplib2
514   suds
515   pprofile
516   pycountry
517   xfw
518   jsonschema
519 # Needed for checking ZODB Components source code
520   pylint
521   pytracemalloc
522
523   neoppod[client]
524 # Zope
525   ZODB3
526   Zope2
527 # Zope acquisition patch
528   Acquisition
529
530 # Other Zope 2 packages
531   Products.PluggableAuthService
532   Products.PluginRegistry
533
534 # CMF 2.2
535   Products.CMFActionIcons
536   Products.CMFCalendar
537   Products.CMFCore
538   Products.CMFDefault
539   Products.CMFTopic
540   Products.CMFUid
541   Products.DCWorkflow
542   Products.GenericSetup
543   five.localsitemanager
544
545 # Other products
546   Products.DCWorkflowGraph
547   Products.MimetypesRegistry
548   Products.ExternalEditor
549   Products.TIDStorage
550   Products.LongRequestLogger
551
552 # BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
553 #      (for tests like testCookieCrumbler).
554   zope.app.testing
555
556 # Currently forked in our repository
557 #    Products.PortalTransforms
558 # Dependency for our fork of PortalTransforms
559   StructuredText
560
561 # Needed for parsing .po files from our Localizer subset
562   polib
563
564 # parameterizing the version of the generated python interpreter name by the
565 # python section version causes dependency between this egg section and the
566 # installation of python, which we don't want on an instance
567 interpreter = ${buildout:python}
568 scripts =
569   repozo
570   runzope
571   runzeo
572   tidstoraged
573   tidstorage_repozo
574   web_checker_utility = erp5.util.webchecker:web_checker_utility
575
576 extra-paths =
577   ${erp5:location}
578
579 # patches for eggs
580 patch-binary = ${patch:location}/bin/patch
581 Acquisition-patches = ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic.patch#e8029103350dad364d25747514a20327
582 Acquisition-patch-options = -p1
583 Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method.patch#975b49e96bae33ac8563454fe5fa9899
584 Products.DCWorkflow-patch-options = -p1
585 python-magic-patches = ${:_profile_base_location_}/../../component/egg-patch/python_magic/magic.patch#de0839bffac17801e39b60873a6c2068
586 python-magic-patch-options = -p1
587
588 [zodbanalyze]
589 recipe = zc.recipe.egg
590 eggs = erp5.util
591 entry-points =
592   zodbanalyze=erp5.util.zodbanalyze:main
593 scripts = zodbanalyze
594
595 # develop erp5.util from parts/erp5/
596 [erp5-util-develop]
597 recipe = zc.recipe.egg:develop
598 setup = ${erp5:location}
599
600 [cloudooo-repository]
601 branch =
602 revision = f1545ad0e6db238d22fd8c84a149b004ab6b8f03
603
604 [slapos-deps-eggs]
605 recipe = zc.recipe.egg
606 eggs +=
607   slapos.toolbox[zodbpack]
608 scripts +=
609   is-local-tcp-port-opened
610   onetimedownload
611   zodbpack
612
613 [versions]
614 # See ../../software/neoppod/software-common.cfg for versions common with NEO:
615 #  neoppod, MySQL-python, slapos.recipe.template & [slapos-deps-eggs]
616
617 # patched eggs
618 Acquisition = 2.13.8+SlapOSPatched001
619 Products.DCWorkflow = 2.2.4+SlapOSPatched001
620 pysvn = 1.7.10+SlapOSPatched002
621 python-ldap = 2.4.22+SlapOSPatched001
622 python-magic = 0.4.10+SlapOSPatched001
623
624 # specify dev version to be sure that an old released version is not used
625 cloudooo = 1.2.5-dev
626
627 # use newer version than specified in ZTK
628 PasteDeploy = 1.5.2
629 Pygments = 2.0.2
630 coverage = 4.0.3
631 zope.dottedname = 4.1.0
632
633 # test_UserManagerInterfaces in testERP5Security fails with 1.10.0.
634 Products.PluggableAuthService = 1.9.0
635
636 # we are still using this old stable version.
637 rdiff-backup = 1.0.5
638
639 # use newest version of slapos.cookbook
640 slapos.cookbook =
641
642 # modified version that works fine for buildout installation
643 SOAPpy = 0.12.0nxd001
644
645 # CMF 2.3 is not yet supported.
646 Products.CMFCalendar = 2.2.3
647 Products.CMFCore = 2.2.9
648 Products.CMFDefault = 2.2.4
649 Products.CMFTopic = 2.2.1
650 Products.CMFUid = 2.2.1
651
652 # newer version requires zope.traversing>=4.0.0a2.
653 zope.app.appsetup = 3.16.0
654
655 # newer version requires zope.i18n>=4.0.0a3
656 zope.app.publication = 3.14.0
657
658 # newer version requires zope.testbrowser>=4
659 zope.app.testing = 3.8.1
660
661 # Pinned versions
662 Pillow = 3.1.0
663 Products.CMFActionIcons = 2.1.3
664 Products.DCWorkflowGraph = 0.4.1
665 Products.ExternalEditor = 2.0.0
666 Products.GenericSetup = 1.8.1
667 Products.LongRequestLogger = 2.0.0
668 Products.MimetypesRegistry = 2.0.8
669 Products.PluginRegistry = 1.3
670 Products.TIDStorage = 5.4.9
671 PyPDF2 = 1.25.1
672 PyStemmer = 1.3.0
673 PyXML = 0.8.5
674 Pympler = 0.4.2
675 StructuredText = 2.11.1
676 WSGIUtils = 0.7
677 # astroid 1.4.1 breaks testDynamicClassGeneration
678 astroid = 1.3.8
679 chardet = 2.3.0
680 csp-eventlet = 0.7.0
681 erp5diff = 0.8.1.7
682 eventlet = 0.17.4
683 five.formlib = 1.0.4
684 five.localsitemanager = 2.0.5
685 greenlet = 0.4.9
686 http-parser = 0.8.3
687 httplib2 = 0.9.2
688 huBarcode = 1.0.0
689 interval = 1.0.0
690 ipdb = 0.8.1
691 ipython = 4.0.0
692 logilab-common = 1.1.0
693 numpy = 1.10.4
694 objgraph = 2.0.1
695 ply = 3.8
696 polib = 1.0.7
697 pprofile = 1.7.3
698 ptyprocess = 0.5
699 pycountry = 1.19
700 pyflakes = 1.0.0
701 # pylint 1.5.1 breaks testDynamicClassGeneration
702 pylint = 1.4.4
703 python-memcached = 1.57
704 pytracemalloc = 1.2
705 qrcode = 5.1
706 restkit = 4.2.2
707 rtjp-eventlet = 0.3.2
708 simplegeneric = 0.8.1
709 socketpool = 0.5.3
710 spyne = 2.12.11
711 suds = 0.4
712 threadframe = 0.2
713 timerserver = 2.0.2
714 urlnorm = 1.1.2
715 uuid = 1.30
716 validictory = 1.0.1
717 xfw = 0.10
718 xupdate-processor = 0.4
719
720 # Required by:
721 # Products.CMFCore==2.2.9
722 Products.ZSQLMethods = 2.13.4
723
724 # Required by:
725 # SOAPpy===0.12.0nxd001
726 fpconst = 0.7.2
727
728 # Required by:
729 # traitlets==4.0.0
730 ipython-genutils = 0.1.0
731
732 # Required by:
733 # pickleshare==0.5
734 path.py = 8.1.2
735
736 # Required by:
737 # ipython==4.0.0
738 pexpect = 4.0.1
739
740 # Required by:
741 # ipython==4.0.0
742 pickleshare = 0.5
743
744 # Required by:
745 # ipython==4.0.0
746 traitlets = 4.0.0
747
748 # Required by:
749 # zope.app.testing==3.8.1
750 zope.app.debug = 3.4.1
751
752 # Required by:
753 # zope.app.testing==3.8.1
754 zope.app.dependable = 3.5.1
755
756 # Required by:
757 # Products.CMFCalendar==2.2.3
758 # five.formlib==1.0.4
759 zope.app.form = 4.0.2
760
761 # Required by:
762 # Products.ZCatalog==2.13.27
763 # zope.container==3.11.2
764 zope.dottedname = 4.1.0