Phillip J. Eby | 6 Jun 00:22 2005

EasyInstall 0.4a1: now with PyPI autodownload

I've just released a new version of EasyInstall, that supports automatic 
package location via PyPI; installing a package can now be as simple as:

     easy_install "SQLObject>=0.6"

There are many new options and features related to this; see the 
EasyInstall home page for more information:

     http://peak.telecommunity.com/DevCenter/EasyInstall

For the benefit of the PyPI maintainers, here is a summary of EasyInstall's 
fairly minimal assumptions about PyPI's current behavior, assuming that 
"base-url" is the root URL of the package index:

    * Going to "base-url/SomePackage" produces an HTML page that either has 
a title containing "Index of Packages" and links to zero or more pages for 
specific versions, or else it is a single-version package page.

    * Single-version package pages may have a home page and download URL 
link, each of which occurs after '<th>Home Page' and '<th>Download URL' 
respectively, if present.

    * Going to "base-url/" (note trailing '/') produces an HTML page 
containing links to all active versions of registered packages

    * Links to package pages always have URLs of the form 
"base-url/SomePackage/itsVersion" - i.e., exactly two path parts following 
the base URL, with no query strings, parameters, fragments, etc.

EasyInstall should continue to work with PyPI if these assumptions continue 
(Continue reading)

Ed Summers | 7 Jun 20:01 2005
Picon

pypi xmlrpc

I heard a rumor (on here i think) that there was some xmlrpc support 
added to pypi at pycon2005. Is there any documentation on the functions 
you can call and the urls? Is the code available for perusal in svn or 
cvs?

//Ed
Ian Bicking | 7 Jun 20:09 2005

Re: pypi xmlrpc

Ed Summers wrote:
> I heard a rumor (on here i think) that there was some xmlrpc support 
> added to pypi at pycon2005. Is there any documentation on the functions 
> you can call and the urls? Is the code available for perusal in svn or 
> cvs?

They added what we gave them, which wasn't much ;)  Here's the functions 
currently available:

def echo(store,*args):
     return args

def index(store,*args):
     spec = { }
     return store.query_packages( spec )

def search(store,*args):
     term = args[0]
     spec = { 'name' : term, 'summary' : term }
     return store.query_packages( spec, andor='or' )

Usage:

 >>> import xmlrpclib
 >>> pypi = xmlrpclib.ServerProxy('http://python.org/pypi')
 >>> pypi.search('pypi')
({'info': ['pypi', '2004-03-01', 'PyPI is the Python Package Index at 
http://www.python.org/pypi'], 'cols': ['name', 'version', 'summary'], 
'cols_d': {'version': 1, 'name': 0, 'summary': 2}}, {'info': ['pypi', 
'2004-03-02', 'PyPI is the Python Package Index at 
(Continue reading)

Walter Dörwald | 10 Jun 20:26 2005
Picon

PyPI upload problem

I'm having problems with uploading Windows installer files (i.e.
those generated by "python setup.py bdist --formats=wininst") to PyPI.

I'm uploading the file through the web interface (from the URL 
http://www.python.org/pypi?:action=files&name=ll-xist&version=2.10) not 
via "python setup.py upload".

I get the following error:

----
Error...

There's been a problem with your request

exceptions.NameError: global name 'safe_zipnames' is not defined
----

Please CC any replies to me, as I'm not on the list.

Bye,
    Walter Dörwald
Maurice Ling | 20 Jun 01:12 2005
Picon

Another project idea (oldie but a goodie)

Richard Jones wrote:

>[this is possibly heading off-topic for this list. I suggest follow-up 
>questions be posted to the catalog-sig]
>
>On Sun, 19 Jun 2005 12:13 pm, Maurice Ling wrote:
>  
>
>>>>PyPI, to me, lacks that download-and-install tool I've been mentioning.
>>>>So, I'll be 150% glad to have my tool to fill that gap.
>>>>        
>>>>
>>>You'll be needing support from the web interface to achieve this - see
>>>Ian's proposal above. The beauty is that once the web interface supports
>>>queries, all of the download-related projects benefit (EasyInstall,
>>>Centipyde, Uraga, ...)
>>>      
>>>
>>I can see where you are coming from. On the assumption that PyPI is
>>consistent (which is a set of assumptions), download-and-install related
>>projects (all can be seen as implementations of PEP262 one way or another)
>>can query PyPI through the proposed XML-RPC interface, download the stuffs
>>and install the package.
>>    
>>
>
>Correct.
>
>
>  
(Continue reading)

Maurice Ling | 20 Jun 01:41 2005
Picon

Re: Another project idea (oldie but a goodie)


>>The toughest part of 
>>it will be to ensure that the dependencies of a module matches another
>>module in PyPI.
>>    
>>
>
>I don't see it this way. As far as I'm concerned, you just have to say "The 
>dependencies are X, Y and Z. I can download and install X and Z but you'll 
>have to find Y for yourself." Enough irate (or motivated) users later, and 
>someone will upload Y to PyPI :)
>  
>
 From a viewpoint of a human user, yes, that can be expected. We will in 
fact expect the person to google for it if it is not in PyPI. From a 
viewpoint of a tool, that may be too tricky.

Another thing in my radar is that package names may change. I was 
reading an article on O'Reilly ONLamp.com, "Using PySOAP" by Cameron 
Laird, written on 06/14/2001 
(www.onlamp.com/pub/a/python/2001/06/14/pysoap.html). When reading it, I 
realise that instead of PySOAP, it should be SOAPpy. Of course, I do not 
know if SOAPpy was named as PySOAP back then, but you see my point......

>We can't hold things up just because PyPI isn't complete - that's going to 
>take quite a while to happen. For now we just have to assume that we can't 
>satisfy all dependencies by downloading and installing automatically.
>  
>

(Continue reading)

Richard Jones | 20 Jun 02:50 2005
Picon

Re: Another project idea (oldie but a goodie)

On Mon, 20 Jun 2005 09:41 am, Maurice Ling wrote:
> >>The toughest part of
> >>it will be to ensure that the dependencies of a module matches another
> >>module in PyPI.
> >
> >I don't see it this way. As far as I'm concerned, you just have to say
> > "The dependencies are X, Y and Z. I can download and install X and Z but
> > you'll have to find Y for yourself." Enough irate (or motivated) users
> > later, and someone will upload Y to PyPI :)
>
>  From a viewpoint of a human user, yes, that can be expected. We will in
> fact expect the person to google for it if it is not in PyPI. From a
> viewpoint of a tool, that may be too tricky.

Presumably the tool is invoked by a user, and therefore user feedback is 
possible?

> Another thing in my radar is that package names may change. I was
> reading an article on O'Reilly ONLamp.com, "Using PySOAP" by Cameron
> Laird, written on 06/14/2001
> (www.onlamp.com/pub/a/python/2001/06/14/pysoap.html). When reading it, I
> realise that instead of PySOAP, it should be SOAPpy. Of course, I do not
> know if SOAPpy was named as PySOAP back then, but you see my point......

This is something that I hope will be minimised by having the "authoritative" 
name database in PyPI.

    Richard
(Continue reading)

Phillip J. Eby | 27 Jun 05:36 2005

PyPI upload doesn't support eggs?

I can't seem to convince the "upload" command to send egg distributions to 
PyPI.  I'm using the CVS head version of "upload", and modified bdist_egg 
to add the necessary information to distribution.dist_files, but attempting 
to upload gives this response (using --show-response):

Submitting dist\setuptools-0.5a4-py2.3.egg to http://www.python.org/pypi
Upload failed (500): There's been a problem with your request
--------------------------------------------------------------------------- 
Erro
r...

There's been a problem with your request

exceptions.ValueError: invalid distribution file 
-------------------------------
--------------------------------------------

Any suggestions?

_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG <at> python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Phillip J. Eby | 27 Jun 06:05 2005

Re: PyPI upload doesn't support eggs?

I just tried doing the upload via the web interface, and got the same 
error.  It appears that PyPI doesn't support uploading eggs, which is 
surprising because I could've sworn that the sprinters at PyCon said they 
were putting eggs on the list of allowed filetypes.  But I just found the 
appropriate PyPI source code, and '.egg' isn't on the list of allowed file 
extensions, so I'll go ahead and file an RFE for this.

At 11:36 PM 6/26/2005 -0400, Phillip J. Eby wrote:
>I can't seem to convince the "upload" command to send egg distributions to
>PyPI.  I'm using the CVS head version of "upload", and modified bdist_egg
>to add the necessary information to distribution.dist_files, but attempting
>to upload gives this response (using --show-response):
>
>Submitting dist\setuptools-0.5a4-py2.3.egg to http://www.python.org/pypi
>Upload failed (500): There's been a problem with your request
>---------------------------------------------------------------------------
>Erro
>r...
>
>There's been a problem with your request
>
>exceptions.ValueError: invalid distribution file
>-------------------------------
>--------------------------------------------
>
>Any suggestions?

_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG <at> python.org
http://mail.python.org/mailman/listinfo/distutils-sig
(Continue reading)

Ryan Tomayko | 27 Jun 10:30 2005
Picon

.egg media type? (was: PyPI upload doesn't support eggs?)

On Jun 27, 2005, at 12:05 AM, Phillip J. Eby wrote:
> I just tried doing the upload via the web interface, and got the same
> error.  It appears that PyPI doesn't support uploading eggs, which is
> surprising because I could've sworn that the sprinters at PyCon  
> said they
> were putting eggs on the list of allowed filetypes.  But I just  
> found the
> appropriate PyPI source code, and '.egg' isn't on the list of  
> allowed file
> extensions, so I'll go ahead and file an RFE for this.

On an almost related note, what should the MIME content/media type be  
for serving egg files via HTTP? It may be advantageous to use  
"application/zip" [1].

A derivative like "application/egg+zip" would allow the media type to  
be associated with easy_install or other handlers while preserving  
the base media type information (although I'm not completely clear on  
whether derivatives require registration).

[1] http://www.iana.org/assignments/media-types/application/zip

Ryan Tomayko
                                  rtomayko <at> gmail.com
                                  http://naeblis.cx/rtomayko/

Gmane