[ZODB-Dev] zSomething or zope.something?

Chris Withers chris at simplistix.co.uk
Tue Apr 20 09:31:32 EDT 2004


Jim Fulton wrote:
> 2. I want to try out the "z" name on a wider audience. We want people to 
> find
>    lots of Zope software usable outside of Zope. And I'm wondering if 
> the use
>    of a name like "z" for a container package would affect someone's 
> decision
>    about whether or not to use something in the package. I understand 
> John's
>    reaction to the "z". Claiming a single letter is a bit bold. But as I
>    said in my other note, the leter "z" is already closely associated 
> with Zope
>    in the Python community and it seems very unlikely that someone else 
> would
>    want to use it.  (It's far less likely that someone would name a module
>    "z" than it is that someone would name a module "persistent" or 
> "transaction".
>    I think "z" has some advantages, which I've listed in:
>    http://dev.zope.org/Zope3/RenameTheZopePackage.

(damn Zope.org is slow... well, while that page is loading...)

Less gut this time, but this is reminding me of the fact I'm not really happy 
with packages in python:

- there's no standard naming convention, as in the java world, which means we 
have to have these kind of naming discussions every x months ;-)

- there's no introspection, hence making things like test runners a mungle of 
os.path and regexes rather than the nice clean pythonic stuff we're used to.

As an end to that aside, are there any PEPs dealing with this or any place to 
improve things in other ways?

Right, now the z Package. I can see where it's coming from, and I'm less unhappy 
than I was when I last posted. I like the short, succinct z name, but I'm still 
not convinced it should be a package.

So, here's two different takes we can already see in the python community:

1. use the z as part of the package name, use a package for each bit of 
independently useful functionality:

zODB
zTransactions
zPersistence

- this is how Zope already does things, with a minor case tweak in some cases
- it makes it clear that each package is usuable on its own
- it brands the packages with the "owner", as some python people already do:
   all the eGenix stuff: mxODBC, mxDateTime, etc
   all of Max's stuff: mxmSomething (examples escape me right now ;-)

2. use the full zope as the package name, the nhave subpackages in there:

zope.odb
zope.transaction
zope.persistent

- makes it very clear it's all Zope (r) stuff
- has other examples in the python world: twisted, reportlab, and others I'm
   sure
- it's not clear that bits of this are independently useful and distributable.

I'm pretty happy with either option, but the lack of clarity about independence 
and distributability makes me go for option 1.

What do other people this?

Chris
> 
>    This is an important decision for us.  I'd really appreciate some 
> serious
>    feedback on this decision.
> 
> Jim
> 

-- 
Simplistix - Content Management, Zope & Python Consulting
            - http://www.simplistix.co.uk




More information about the ZODB-Dev mailing list