tag:blogger.com,1999:blog-7789059876927500089.post6482853939485649305..comments2023-10-23T12:42:58.147-07:00Comments on Most recent call: Analyzing PyPI packagesKonradhttp://www.blogger.com/profile/14388784103552736162noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-7789059876927500089.post-78270633772328690922010-06-08T03:51:46.873-07:002010-06-08T03:51:46.873-07:00@Rok: you have to count all plone.* and zope.* pac...@Rok: you have to count all plone.* and zope.* packages in fact, because if I want to have my code running ain a plone app, I am required to use setuptools.<br /><br />But with PEP 345 (dependencies declarations) and PEP 382 (namespace packages) being implemented, this won't be needed anymore.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7789059876927500089.post-77588734952656087842010-06-07T23:12:52.974-07:002010-06-07T23:12:52.974-07:00@Rok In fact, distutils2 is the original reason I ...@Rok In fact, distutils2 is the original reason I run these stats. I am taking part in GSOC this year, helping Tarek move it forward (along with 5 other students).Konradhttps://www.blogger.com/profile/14388784103552736162noreply@blogger.comtag:blogger.com,1999:blog-7789059876927500089.post-86967192327139150732010-06-07T17:17:12.068-07:002010-06-07T17:17:12.068-07:00i would actually agree with analysis konrad made f...i would actually agree with analysis konrad made for using setuptools. and yes setuptools is the de facto tool to use now for packaging. probably even better would be distribute which is like distribute with more patches applied.<br /><br />but for best practices to be i would also consider looking into future of python packaging with distutils2, since lately there is quite big movement in this area, especially after tarek took over the maintaining it.<br /><br />and for the zope and plone part. you should only count out the packages that start with zope.app and plone.app, since this are the packages which are intended to be used in zope or plone app. all others were just developed by plone/zope developers and are just using plone/zope namespaces, but are not make for plone/zope only, so you shouldnt count them in i think, right?Rok Garbashttps://www.blogger.com/profile/09020411845956615957noreply@blogger.comtag:blogger.com,1999:blog-7789059876927500089.post-13143365890386669342010-06-07T08:19:52.091-07:002010-06-07T08:19:52.091-07:00As for tests - I usually put my tests inside a ...As for tests - I usually put my tests inside a 'test' directory in my package. Using test discovery from unittest2 (or nose or py.test) there is no need to provide a top level script to run them. From my reading of your post you were only looking for top-level directories (?) so would miss projects that follow this practise.Michael Foordhttps://www.blogger.com/profile/06229713779852499022noreply@blogger.comtag:blogger.com,1999:blog-7789059876927500089.post-88923884728321188462010-06-07T03:56:21.274-07:002010-06-07T03:56:21.274-07:00Interesting - thanks. So even without Zope / Plone...Interesting - thanks. So even without Zope / Plone / Django setuptools is still pretty dominant.<br /><br />The "browse PyPI page" shows the following numbers for Zope, Plone and Django related projects: <br /><br />http://pypi.python.org/pypi?%3Aaction=browse<br /><br />Zope2 (531)<br />Zope3 (915)<br />Plone (1136)<br />Django (554)<br /><br />This is out of a total of over 7000 packages - but 1136 targeting Plone is still quite a number! (Obviously there will be some overlap between Zope2, Zope3 and Plone - but still much higher than Django. You're right that there is a strong convention of splitting Zope apps into multiple PyPI packages.)Michael Foordhttps://www.blogger.com/profile/06229713779852499022noreply@blogger.comtag:blogger.com,1999:blog-7789059876927500089.post-79911584652964753252010-06-07T03:43:38.935-07:002010-06-07T03:43:38.935-07:00Zope itself is split into <100 packages, so it ...Zope itself is split into <100 packages, so it doesn't make a big difference and Plone, for some reason, doesn't include setup.py at all.<br /><br />What *does* make a difference, however, is a huge number of packages targeting zope. By looking at the data it makes more or less one third of all setuptools users. It looks like there is a convention in Zope community to split applications into separate pypi packages (that's what many Zope users tend to do as least).<br /><br />On the other hand, there's quite a lot of Django setuptools users as well (~300).Konradhttps://www.blogger.com/profile/14388784103552736162noreply@blogger.comtag:blogger.com,1999:blog-7789059876927500089.post-27084656219272657282010-06-07T03:19:20.625-07:002010-06-07T03:19:20.625-07:00I think Zope and Plone badly skew any analysis of ...I think Zope and Plone badly skew any analysis of PyPI like this - simply by virtue of having been split into about a kabillion different packages (all of which use setuptools).<br /><br />I'd be interested in the same analysis, but skipping zope / plone stuff. I think we'd see that setuptools usage is much lower amongst the other packages (although still significant of course).Michael Foordhttps://www.blogger.com/profile/06229713779852499022noreply@blogger.com