[ZODB-Dev] RFC: ZODB 4.0 (without persistent)

Laurence Rowe l at lrowe.co.uk
Sun Oct 14 22:58:09 UTC 2012


On 14 October 2012 23:33, Jim Fulton <jim at zope.com> wrote:
> On Sun, Oct 14, 2012 at 6:07 PM, Laurence Rowe <l at lrowe.co.uk> wrote:
>> On 14 October 2012 22:49, Jim Fulton <jim at zope.com> wrote:
>>> On Sun, Oct 14, 2012 at 5:28 PM, Tres Seaver <tseaver at palladion.com> wrote:
>>> ...
>>>>> Well, I don't have time to chase BTrees.  This could always be done in
>>>>> ZODB 5. :)
>>>>
>>>> I could help chop BTrees out, if that would be useful:  most of the
>>>> effort will be purely subtractive in the ZODB package (I don't think
>>>> anything depends on BTrees).
>>>
>>> FileStorage uses BTrees for it's in-memory index.
>>>
>>> MappingStorage used BTrees.
>>>
>>> There are ZODB tests that use BTrees,
>>> but I suppose they could be fixed.
>>>
>>> I just don't think the win is that great
>>> in separating BTrees at this time.
>>
>> I don't think Hanno is suggesting removing BTrees as a dependency from
>> ZODB but rather breaking out the BTrees package into a separate PyPI
>> distribution to make it more visible to potential users outside of the
>> ZODB community, e.g.
>> http://www.reddit.com/r/Python/comments/exj74/btree_c_extension_module_for_python_alpha/
>
> I think if we released a package named "BTrees" and people looked at it and
> saw that it was dependent on persistent and ZODB, they'd get pissed.
>
> Let's leave BTrees alone for now.

Presumably the dependency tree would look something like:

  persistent < BTrees < ZODB < ZEO

The persistent dependency is definitely less to swallow than the whole
ZODB for a potential user of the BTrees package, but its still a
complication and there's no urgent reason to make the change now.
Smaller, iterative changes usually win.

Laurence


More information about the ZODB-Dev mailing list