From zooko at zooko.com Wed Mar 5 22:24:48 2008 From: zooko at zooko.com (zooko) Date: Wed, 5 Mar 2008 14:24:48 -0700 Subject: [Catalog-sig] requested Trove Classifier: "Framework :: Setuptools Plugin" Message-ID: <3D18B7BD-5B13-4171-B573-943866240545@zooko.com> Folks: Per this thread on distutils-sig, it would be useful to have a classifier with which to identify setuptools plugins: http://mail.python.org/pipermail/distutils-sig/2008-March/008847.html What needs to be done to make this possible? Regards, Zooko From richardjones at optushome.com.au Sun Mar 9 01:03:13 2008 From: richardjones at optushome.com.au (Richard Jones) Date: Sun, 9 Mar 2008 11:03:13 +1100 Subject: [Catalog-sig] requested Trove Classifier: "Framework :: Setuptools Plugin" In-Reply-To: <3D18B7BD-5B13-4171-B573-943866240545@zooko.com> References: <3D18B7BD-5B13-4171-B573-943866240545@zooko.com> Message-ID: <200803091103.13519.richardjones@optushome.com.au> On Thu, 6 Mar 2008, zooko wrote: > Folks: > > Per this thread on distutils-sig, it would be useful to have a > classifier with which to identify setuptools plugins: > > http://mail.python.org/pipermail/distutils-sig/2008-March/008847.html > > What needs to be done to make this possible? Sorry for the slow response, I've been busy. I would prefer to see the classifier named similarly to the other frameworks - ie. no "Plugin". Otherwise I have no objection. Richard From pje at telecommunity.com Sun Mar 9 02:13:25 2008 From: pje at telecommunity.com (Phillip J. Eby) Date: Sat, 08 Mar 2008 20:13:25 -0500 Subject: [Catalog-sig] requested Trove Classifier: "Framework :: Setuptools Plugin" In-Reply-To: <200803091103.13519.richardjones@optushome.com.au> References: <3D18B7BD-5B13-4171-B573-943866240545@zooko.com> <200803091103.13519.richardjones@optushome.com.au> Message-ID: <20080309011307.E058B3A40AC@sparrow.telecommunity.com> At 11:03 AM 3/9/2008 +1100, Richard Jones wrote: >On Thu, 6 Mar 2008, zooko wrote: > > Folks: > > > > Per this thread on distutils-sig, it would be useful to have a > > classifier with which to identify setuptools plugins: > > > > http://mail.python.org/pipermail/distutils-sig/2008-March/008847.html > > > > What needs to be done to make this possible? > >Sorry for the slow response, I've been busy. > >I would prefer to see the classifier named similarly to the other >frameworks - >ie. no "Plugin". Otherwise I have no objection. My concern is that people will use the tag merely if their code *uses* setuptools or is compatible with it, because there isn't any other guidance about how it's meant to be used. Would you be alright with say, "Setuptools Extensions"? From zooko at zooko.com Sun Mar 9 03:08:02 2008 From: zooko at zooko.com (zooko) Date: Sat, 8 Mar 2008 19:08:02 -0700 Subject: [Catalog-sig] requested Trove Classifier: "Framework :: Setuptools Plugin" In-Reply-To: <200803091103.13519.richardjones@optushome.com.au> References: <3D18B7BD-5B13-4171-B573-943866240545@zooko.com> <200803091103.13519.richardjones@optushome.com.au> Message-ID: <9F191149-1E82-43B2-B935-53967A905030@zooko.com> > I would prefer to see the classifier named similarly to the other > frameworks - > ie. no "Plugin". Otherwise I have no objection. Well, we should be careful distinguish between a package which is a setuptools plugin -- i.e. a unit of code which can used to extend the setuptools build tool -- from a package which is built using setuptools. The classifier I'm looking for is a way to find packages of the former kind. It was Philip J. Eby's suggestion, originally, to name it "setuptools plugin" in order to make it clear that this classifier wasn't appropriate for any package which is built using setuptools. Regards, Zooko From richardjones at optushome.com.au Sun Mar 9 03:57:19 2008 From: richardjones at optushome.com.au (Richard Jones) Date: Sun, 9 Mar 2008 13:57:19 +1100 Subject: [Catalog-sig] requested Trove Classifier: "Framework :: Setuptools Plugin" In-Reply-To: <9F191149-1E82-43B2-B935-53967A905030@zooko.com> References: <3D18B7BD-5B13-4171-B573-943866240545@zooko.com> <200803091103.13519.richardjones@optushome.com.au> <9F191149-1E82-43B2-B935-53967A905030@zooko.com> Message-ID: <200803091357.19180.richardjones@optushome.com.au> On Sun, 9 Mar 2008, you wrote: > > I would prefer to see the classifier named similarly to the other > > frameworks - > > ie. no "Plugin". Otherwise I have no objection. > > Well, we should be careful distinguish between a package which is a > setuptools plugin -- i.e. a unit of code which can used to extend the > setuptools build tool -- from a package which is built using setuptools. > > The classifier I'm looking for is a way to find packages of the > former kind. > > It was Philip J. Eby's suggestion, originally, to name it "setuptools > plugin" in order to make it clear that this classifier wasn't > appropriate for any package which is built using setuptools. OK, I've added "Framework :: Setuptools Plugin" Richard From zooko at zooko.com Sun Mar 9 05:01:04 2008 From: zooko at zooko.com (zooko) Date: Sat, 8 Mar 2008 21:01:04 -0700 Subject: [Catalog-sig] requested Trove Classifier: "Framework :: Setuptools Plugin" In-Reply-To: <200803091357.19180.richardjones@optushome.com.au> References: <3D18B7BD-5B13-4171-B573-943866240545@zooko.com> <200803091103.13519.richardjones@optushome.com.au> <9F191149-1E82-43B2-B935-53967A905030@zooko.com> <200803091357.19180.richardjones@optushome.com.au> Message-ID: <9EE5F72C-3A55-460D-B1E4-1856D69E97BD@zooko.com> On Mar 8, 2008, at 7:57 PM, Richard Jones wrote: > OK, I've added "Framework :: Setuptools Plugin" Hooray! I've added the first three setuptools plugins to be marked with that classifier. This search shows all packages on pypi which have the "Framework :: Setuptools Plugin" classifier: http://pypi.python.org/pypi?:action=browse&c=524 Regards, Zooko From mereandor at gmail.com Fri Mar 21 14:24:16 2008 From: mereandor at gmail.com (mereandor at gmail.com) Date: Fri, 21 Mar 2008 14:24:16 +0100 Subject: [Catalog-sig] Request: Interface to index of package-metadata Message-ID: <200803211424.16665.mereandor@gmail.com> hi! I'm currently planning to integrate the PyPI into the paludis package management system (http://paludis.pioto.org). I did some research on which interfaces are available to retrieve data from the index. The two most promising interfaces are the XML-RPCs and http://pypi.python.org/simple. But both lack a compact index (information that I can download with only one request) that contains at least the package names and the available versions. A syncable directory (rsync, svn, ... you name it) that contains the PKGINFO file for each package/version combination would be even better, since this would reduce the communication with the server (and thus the server load) to a minimum. Would it be possibe to extend the existing interfaces so that they fit this needs? I'll gladly help working on those new interfaces if help is wanted. Thanks in advance for any suggestions. Greetings, Roman From martin at v.loewis.de Fri Mar 21 19:45:22 2008 From: martin at v.loewis.de (=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Fri, 21 Mar 2008 19:45:22 +0100 Subject: [Catalog-sig] Request: Interface to index of package-metadata In-Reply-To: <200803211424.16665.mereandor@gmail.com> References: <200803211424.16665.mereandor@gmail.com> Message-ID: <47E40242.90703@v.loewis.de> > I did some research on which interfaces are available to retrieve > data from the index. The two most promising interfaces are the > XML-RPCs and http://pypi.python.org/simple. But both lack a compact > index (information that I can download with only one request) that > contains at least the package names and the available versions. I can't quite understand where the need for a *single* request comes from. The information is surely available by use of multiple requests. > Would it be possibe to extend the existing interfaces so that they > fit this needs? > > I'll gladly help working on those new interfaces if help is wanted. > Thanks in advance for any suggestions. Indeed, such an interface could only become reality by means of somebody contributing it. However, before you start doing so: have you considered alternatives, such as using multiple requests, along with incremental updates? If the interface were available, how would you use it? (e.g. how often, and what for) Regards, Martin From mereandor at gmail.com Fri Mar 21 20:29:37 2008 From: mereandor at gmail.com (mereandor at gmail.com) Date: Fri, 21 Mar 2008 20:29:37 +0100 Subject: [Catalog-sig] Request: Interface to index of package-metadata In-Reply-To: <47E40242.90703@v.loewis.de> References: <200803211424.16665.mereandor@gmail.com> <47E40242.90703@v.loewis.de> Message-ID: <200803212029.38419.mereandor@gmail.com> Am Freitag, 21. M?rz 2008 19:45:22 schrieb Martin v. L?wis: > > I did some research on which interfaces are available to retrieve > > data from the index. The two most promising interfaces are the > > XML-RPCs and http://pypi.python.org/simple. But both lack a compact > > index (information that I can download with only one request) that > > contains at least the package names and the available versions. > > I can't quite understand where the need for a *single* request comes > from. The information is surely available by use of multiple requests. > > > Would it be possibe to extend the existing interfaces so that they > > fit this needs? > > > > I'll gladly help working on those new interfaces if help is wanted. > > Thanks in advance for any suggestions. > > Indeed, such an interface could only become reality by means of > somebody contributing it. However, before you start doing so: > have you considered alternatives, such as using multiple requests, > along with incremental updates? > > If the interface were available, how would you use it? (e.g. how > often, and what for) > > Regards, > Martin > > The need for a single request is basically a matter of efficiency as shown below in the use case. Usually, if all the metadata is readily available (ie. without downloading all packages) the package manager periodically (at most once a day - typically once a week or less) synchronises all "repositories" (containing all necessary package metadata). This means the metadata is stored on the user's disk for further use. Considering the server load, synchronising seems not to be an option at the moment (IMHO) since this would mean one request for each package in the repository. The problems with the currently available interfaces are best shown by an use case. Let's say the user want's to update all installed packages: Without the ability to sync (as described above) this would mean: 1. requesting one page per installed package to determine which versions are available. 2. downloading the new versions 3. resolve the dependencies and starting at step 1 for every new dependency 4. install the packages This results in m+n+2*q requests to the server (m = number of installed packages, n = number of updateable packages, q = number of new dependencies). Typically m is by far the largest number. With the ability to sync this would be: 1. syncing the repository 2. determining newer versions and resolving their dependencies 3. download and install the list of packages This results in 1+n+q requests. This shows us that it would vastly improve the situation if at least the version was available in a similar way to the simple-index http://pypi.python.org/simple or the corresponding xml-rpc. I hope this clears things up a bit. Regards, Roman From martin at v.loewis.de Fri Mar 21 21:39:01 2008 From: martin at v.loewis.de (=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Fri, 21 Mar 2008 21:39:01 +0100 Subject: [Catalog-sig] Request: Interface to index of package-metadata In-Reply-To: <200803212029.38419.mereandor@gmail.com> References: <200803211424.16665.mereandor@gmail.com> <47E40242.90703@v.loewis.de> <200803212029.38419.mereandor@gmail.com> Message-ID: <47E41CE5.9080703@v.loewis.de> > Usually, if all the metadata is readily available (ie. without > downloading all packages) the package manager periodically (at most > once a day - typically once a week or less) synchronises all > "repositories" (containing all necessary package metadata). This > means the metadata is stored on the user's disk for further use. > Considering the server load, synchronising seems not to be an option > at the moment (IMHO) since this would mean one request for each > package in the repository. Thanks for the explicit scenario; it is fortunately not the case that you would have to download all package and version information each weak. Instead, I recommend to use the changelog method, to find out all changes since the last week. > I hope this clears things up a bit. Indeed it does. For synchronization, you shouldn't at all consider downloading all information again repeatedly. Instead, try using incremental update methods as much as possible. With the changelog method, daily updates become much more reasonable; some sites query the changelog every minute (and it is then typically empty). Regards, Martin From mereandor at gmail.com Fri Mar 21 23:49:27 2008 From: mereandor at gmail.com (mereandor at gmail.com) Date: Fri, 21 Mar 2008 23:49:27 +0100 Subject: [Catalog-sig] Request: Interface to index of package-metadata In-Reply-To: <47E41CE5.9080703@v.loewis.de> References: <200803211424.16665.mereandor@gmail.com> <200803212029.38419.mereandor@gmail.com> <47E41CE5.9080703@v.loewis.de> Message-ID: <200803212349.28717.mereandor@gmail.com> Am Freitag, 21. M?rz 2008 21:39:01 schrieb Martin v. L?wis: > Thanks for the explicit scenario; it is fortunately not the > case that you would have to download all package and version > information each weak. > > Instead, I recommend to use the changelog method, to find out > all changes since the last week. > > > I hope this clears things up a bit. > > Indeed it does. For synchronization, you shouldn't at all > consider downloading all information again repeatedly. Instead, > try using incremental update methods as much as possible. > > With the changelog method, daily updates become much more > reasonable; some sites query the changelog every minute > (and it is then typically empty). > > Regards, > Martin I would still prefer the full dump for several reasons: * changelog would only give me the information what package has changed, I still would have to use release_data to get the new data * the benefits of changelog decrease the longer the update interval is (and it's typically longer than a day; sometimes several months - depends on the user) * getting a dump of all data is not that expensive as search({'name':''}) takes about 5 seconds including the time for the data-transfer and displaying all the data * the problem of the first sync remains (at least once for each system installation/user) Incremental updates add a certain amount of complexity: * I need to be sure that the data is sane before the sync so that I can be sure that it is sane after it * I need to know the exact time of the last sync * The algorithm for an incremental sync is considerably more complex Regards, Roman From martin at v.loewis.de Sat Mar 22 00:39:30 2008 From: martin at v.loewis.de (=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Sat, 22 Mar 2008 00:39:30 +0100 Subject: [Catalog-sig] Request: Interface to index of package-metadata In-Reply-To: <200803212349.28717.mereandor@gmail.com> References: <200803211424.16665.mereandor@gmail.com> <200803212029.38419.mereandor@gmail.com> <47E41CE5.9080703@v.loewis.de> <200803212349.28717.mereandor@gmail.com> Message-ID: <47E44732.7010704@v.loewis.de> > * changelog would only give me the information what package has > changed, I still would have to use release_data to get the new data I'm beginning to lose track. I thought you only wanted package names and versions; now you seem to also want additional data? > * the benefits of changelog decrease the longer the update interval > is (and it's typically longer than a day; sometimes several months - > depends on the user) Yes, but only slightly so. Even after several months, the changelog will be much smaller than the full database. In any case, I don't think I can find time to work on this within the next year or so, even if I wanted to. So you will have to provide patches if you really think you need it. Regards, Martin