[Pythonmac-SIG] PackMan engine version 0.4

Kevin Ollivier kevino at tulane.edu
Mon Mar 8 13:50:40 EST 2004


Hi,

On Mar 8, 2004, at 8:01 AM, has wrote:

[snip]

>> and the GUI implementation is just uh.. awful.
>
> Also redundant. (e.g. PyPI provides a reasonably good graphical 
> interface for browsing/searching for modules; why not try to lever 
> that?)

BTW, on the GUI front, you mind find wxPackMan to be an improvement... 
=) http://www.theolliviers.com/python/wxpm/

This isn't any radical revision, just something to simplify the 
interface a bit and prepare us for a cross-platform offering. =)

>
>>> Now, this wouldn't be such a problem if PM was positioned as a 
>>> complement to a broader distribution mechanism; the latter taking 
>>> care of light-to-average installations, with PM stepping in only for 
>>> those special-cases that the more general system isn't intended to 
>>> cater for. However, it seems to be marketed as the main [sole?] 
>>> system for _Mac_Python users to install third-party modules.
>>
>> I don't agree with you here.  If PM was better, this wouldn't be an 
>> issue.  It's marketed as the only option to install third-party 
>> modules other than compiling them yourself because well, it *is* the 
>> only option.
>
> This statement is incorrect. The vast majority of third-party modules 
> require no compilation, being written in pure Python. These are 
> precisely the modules PM fails to consider because all its attention 
> is on the small number of modules that do contain C extensions. Worse, 
> there's no way PM can reasonably address this omission, as its 
> reliance on centralised 'gurus' to do all the support work means its 
> scalability is inherently poor.
>
> This is another aspect of PM's flawed "policy", btw; placing too much 
> control/responsibility in the hands of a few individuals upon whom all 
> other developers and users must rely to get anything done. PyPI's 
> decentralised model, where each developer is wholly responsible for 
> managing their own work is much more robust. (BTW, earlier you 
> mentioned the need for platform gurus to ensure third-party modules 
> are MacPython-compatible; the decentralised model in no way prevents 
> this: 'gurus' can work directly with third-party developers to resolve 
> compatibility issues or produce their own repackaged distros as they 
> like.)

Yes, I agree. I think the major failing with PackMan's current design 
model is that it places responsibility on specific people, and this 
being open source, whether or not these people will have time to 
maintain the packages is very uncertain and more importantly varies 
with time. I understand Jack's point about having "Quality Assured" 
packages, but again this is open source, why not have the *community* 
Quality Assure the packages? For example, enable a "report a bug" 
feature in the GUI to send the package maintainer, and also the 
'scapegoat', an error report containing the user's system info and 
comments about how the install or compilation failed. Since PackMan can 
detect unsuccessful installs, this process could be mostly automated. 
The system could also, with the user's explicit permission, send a 
successful installation report to the database so that PackMan can know 
how many people have successfully installed the package, by platform, 
and thus have a rough idea of how stable the package installation is. 
We could even categorize those packages as 'stable' or 'unstable' so 
that people can make the call as to whether to use unstable packages or 
not. (Stable could even be determined by number of successful installs 
or similar criteria.) A package rating system could also be in place.

Of course, the integration with PyPI and its centralized database makes 
a lot of sense to me here. I've always thought it would be good for 
PackMan to pull package metadata from PyPI and utilize that.

I personally think this route could make Jack and others happy without 
overly burdening any one person to do testing on a variety of platforms 
and versions. I personally would have no problem installing a module in 
the unstable branch, and would be happy to provide an error report if 
something went wrong, and I think there's lots of folks like me. I 
actually think that the error reporting feature would also provide an 
extra incentive for package developers to use PackMan - getting a good 
error report from a user isn't always the easiest thing to do. =)

Thanks,

Kevin




More information about the Pythonmac-SIG mailing list