[Zope3-dev] Zope 3 Packages vs Python Packages
Jeffrey P Shell
jeffrey@cuemedia.com
Thu, 16 Jan 2003 10:20:35 -0700
On Thursday, January 16, 2003, at 09:30 AM, Steve Alexander wrote:
> Chris Withers wrote:
>> Steve Alexander wrote:
>>>> Are Zope 3 Packages and Python Packages the same thing?
>>>
>>>
>>> I don't know what a "Zope 3 package" is.
>>>
>>> A Persistent Package (as used in Zope 3) is not the same as a Python
>>> Package.
>> That sounds liek whatan outside oberver might refer to as a 'Zope 3
>> packacge' ;-)
>>>> If not, please can we change the name NOW?
>>>
>>>
>>> Both do the job of "packaging".
>>>
>>> "Package" is a pretty good name for both things.
>> Ugh! Is it only me who see's the potential for huge amounts of
>> unnecessary confusion?! Python got Package first, why not call the
>> Zope 3 things 'bundles'.
>
> Do we need a different name for Zope 3 Persistent Classes and Zope 3
> Persistent Modules too? Perhaps 'db-behaviours' and
> 'db-code-containers'?
If you put a Persistent Module in a Persistent Package, how do you
address the module? If I add a persistent package through the web
called "jtestpack" and put a persistent module inside it called
"jtestmod", do I refer to that module as 'jtestpack.jtestmod'? If
that's true, keep calling them packages. If not, I think that's a big
enough feature difference between Python Packages and Persistent
Packages.
> I'm absolutely fine with Python having packages, modules and classes,
> and with Zope 3 having persistent packages, persistent modules and
> persistent classes.
> We expect the 'persistent' variants of these things to work a bit
> differently to the standard python ones.
How differently will the persistent ones work? If the difference is
shockingly different from typical Python behavior, then yes - different
would be good.
If Persistent packages have as much - or more - to do with
configuration, installation, and deployment as they do with code, I
stand by what I say above. When you download a new module or package
for Python, the top level piece that holds the configuration (ie,
distutils scripts) is typically not thought of as a Python package.
You can't just download docutils and use the root part of the tarball
like any other python package - you have to run the setup that puts the
appropriate packages in the right place for import.