[ZODB-Dev] API question

Jim Fulton jim at zope.com
Tue Jan 15 11:25:24 UTC 2013


On Mon, Jan 14, 2013 at 7:20 PM, Tres Seaver <tseaver at palladion.com> wrote:
...
> I'm tempted to rename the 'DB.py' module 'db.py', and jam in a BBB entry
> in sys.modules for 'ZODB.DB';  likewise, I am tempted to rename the
> 'FileStorage.py' package 'filestorage', its same-named module
> '_filestorage.py', and jam in BBB entries for the old names.

+.9 if done without backward-incompatiblke breakage. This would be a
4.1 thing.  +1 if you used zodb.filestorage.filestorage rather than
zodb.filestorage._filestorage.

> Those renames would make the "preferred" API:
>   >>> from ZODB import DB # convenience alias for the class
>   >>> from ZODB import db # the moodule
>   >>> from ZODB.db import DB # my preferred speling
>   >>> from ZDOB.filestorage imoprt FileStorage # conv. alias for class
>   >>> from ZODB import filestorage # the package
>   >>> from ZODB.filestorage import FileStorage # my preferred speling

This is the same as one earlier.  I suspect you meant:

   >>> from ZODB.filestorage._filestorage import FileStorage

but couldn't type the underware.

I don't think the packagification of the FileStorage module was a win,
but it's too hard to fix it now.

Some day, I'd like to work on a filestorage2, but fear I won't ever
find the time. :(

>   >>> from ZODB.filestorage import _filestorage # if needed

We shouldn't design an API where we expected people to grab underware.

Aside from not liking from imports and the _filestorage nit, +1

> For extra bonus fun, we could rename 'ZODB' to 'zodb' :)

In that case, we might switch to a namespace package, oodb, which I've
already reserved:

  http://pypi.python.org/pypi/oodb

But I doubt we're up for this much disruption.

Jim

--
Jim Fulton
http://www.linkedin.com/in/jimfulton
Jerky is better than bacon! http://zo.pe/Kqm


More information about the ZODB-Dev mailing list