[Zope-dev] Re: How to publish Zope2 products on PyPI

Philipp von Weitershausen philipp at weitershausen.de
Sun Sep 23 13:24:42 EDT 2007

On 23 Sep 2007, at 19:05 , Dieter Maurer wrote:
> Philipp von Weitershausen wrote at 2007-9-22 19:27 +0200:
>> ...
>> Dieter Maurer wrote:
>> ...
>> * PyPI doesn't necessarily have to contain eggs. It's primarily a
>> discovery mechanism for humans. The fact that setuptools can download
>> packages from it is not as important as the fact that developers can
>> find packages there.
> The reason why I had to promiss to make my products available via PyPI
> was that they can be downloaded from there.

Right. So then I don't understand why need all that extra machinery  
in Zope and an extra namespace.

>>>   We extend the Zope2 configuration with an option "additional- 
>>> products"
>>>   which lists the products used by the instance that are not
>>>   at a standard place -- such as those installed by "setuptools"
>> As long as the packages are on the PYTHONPATH, Zope 2 will find  
>> them. I
>> don't think there's a need for this new directive.
> But, such packages are not treated as Zope2 products -- which is  
> essential
> for packages that are to be used as Zope2 products.

If a package is in the Products.* namespace, Zope 2 will find it and  
load it. No matter where on the PYTHONPATH it is located. So I think  
my statement is correct.

> I have learned meanwhile that by some disregard of concerns, Five
> can turn a package into a Zope2 product.

Yup. You can put your software into an arbitrarily named Python  
package (e.g. dieter.mystuff) and have it be treated like a Zope 2  
product (which really just means calling an initialize() function at  
some point).

> Thus, the functionality is there -- just maybe in the wrong place.

If Five's registerPackage functionality is what you had been  
proposing all along, then I have been misunderstanding you terribly.  
Either way, you don't elaborate on why you think that this is the  
"wrong" place for it. I personally consider registerPackage a  
solutino for integrating new software (Zope 3-style software in  
Python packages) into a legacy discovery mechanism (the automatic  
Products.* loading).

More information about the Zope-Dev mailing list