[Zope-dev] How to publish Zope2 products on PyPI
Dieter Maurer
dieter at handshake.de
Sat Sep 22 05:32:56 EDT 2007
Andreas Jung wrote at 2007-9-22 09:00 +0200:
>--On 22. September 2007 07:59:48 +0200 Dieter Maurer <dieter at handshake.de>
>wrote:
>> During our latest discussion to put my most important Zope2 products
>> into a public repository, I have promissed to publish them on
>> PyPI instead. Yesterday, I started work to fulfill this promiss
>> and carefully read the PyPI related documentation -- to find
>> out, that it is not easy to publish Zope2 products.
>>
>> As the name suggests, PyPI is for Python packages.
>> And Zope2 products rightfully are no Python packages:
>> ....
>>My current ideas towards a solution:
>>
>> We define a package prefix for Zope2 products, e.g. "zope2.products".
>> Zope2 products are published to PyPI as "<prefix>.<productname>".
>>
>> 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"
>I came across a Plone products GSXML that is shipped as egg and configured
>through a slug. See the docs at
>
><http://plone.org/products/gsxml>
>
>Isn't that a suitable solution?
What does "configured through a slug" mean?
Looking at the page referenced above, I could not recognize
how "gsxml" is made available as a Zope2 product.
Looking into the egg, it looks like a standard package
and not like a Zope2 product.
Let me clarify my wish:
I think we need an instance specific way to tell Zope 2
that it should treat something installed via "setuptools"
as an additional (Zope2) product (without
treating also other things laying around there as products as well);
especially during startup
look for an "initalize" function and call it -- beside
potential Five related magic performed for Zope 2 products (such
as looking for "*.zcml" files).
The "zope2.product" prefix proposed above is not essential.
It only tells people looking into "site-packages" that the
content of this package is supposed to be used as Zope 2 products
and not as standard Python packages.
--
Dieter
More information about the Zope-Dev
mailing list