[Zope3-dev] Re: z3c.widget not on pypi?

Philipp von Weitershausen philipp at weitershausen.de
Tue Sep 18 18:32:06 EDT 2007


Jodok Batlogg wrote:
> the current practice (at least here at lovely systems, and presumably a 
> lot of other developers) is to add download.zope.org/distribution (or a 
> mirror of it) to your find-links.
> recently some people started registering packages (and uploading eggs ) 
> to cheeseshop. this makes totally sense for zc.buildout, 
> lovely.buildouthttp,... but i'm not sure about zope packages.

We're certainly uploading a lot of Zope3's own eggs to PyPI *IF*

- they have a decent description and long_description
- they have decent metadata otherwise (Trove classifiers, changelog)
- they're actual stable releases

When packages fulfil these criteria, then I think it's very good to have 
them on PyPI: they're a great way to make them discoverable for other 
developers, Zope and non-Zope. For example, I can browse the 'Zope3' 
framework category and find a lot of Zope3-related software now. I wish 
more software were aptly classified with this Trove classifier so I 
could find more (all!) Zope3 software tehre.

> because of this mix you might end up in getting the wrong egg. or not 
> finding a egg you downloaded a few days ago. in case pypi is down you're 
> totally stuck.

You're stuck either way, even if you'd be using 
download.zope.org/distribution. The key is to mirror the PyPI simple 
index. That's what ppix (or actually it's success 
zc.mirrorpypislashsimple) is all about.

This is a non-issue I think.

> well, i understand that the stability of pypi is much better lately and 
> the simple interface, the and ppix mirrors  make the index lookup much 
> faster as well.
> but for me there are still two remaining issues:
> - the eggs are hosted on cheesehop as well, it's not easy (commandline) 
> to host the egg externally or to specify a mirror to use when pulling 
> the eggs. that's not acceptable for production deployments.

I think it's really easy. Just use Jim's mirror software and point 
buildout to that different index. That's one line in buildout.cfg.

Again, seems like a non-issue.

> - by default "setup.py sdist bdist_egg register upload" hides the old 
> releases, which is not acceptable as we nail all versions for 
> deployments. if someone releases a new version, the older ones disappear 
> and buildout (with nailed versions) stops and complains not finding the 
> egg.

It doesnt' disappear from the simple index. It just disappears from the 
"human" index, which I think is a good idea. It doesn't make sense to 
show people a billion releases. setuptools and zc.buildout (which both 
nowadays use the simple index) will obviously need to know about the odl 
releases.

This is a non-issue :).

> before we don't have a solution for the two points above i have 
> objections to register the packages on pypi and prefer to add 
> download.zope.org/distribution to my find-links.
> if there is an easy solution for it, enlighten me :)

Human discoverability is *very* important. If you have doubts about 
depending on PyPI, fine. I won't mind a backup location (though I hate 
download.zope.org/distribution. It has piled up so many crappy eggs by 
now with no way of deleting them...).

But please don't take the human discoverability away from it all. I 
thikn that's what PyPI is great for. Provided you actually make it 
worthwhile and have meaningful package metadata in setup.py.

Bis morgen :)


-- 
http://worldcookery.com -- Professional Zope documentation and training


More information about the Zope3-dev mailing list