[Python-3000] bsddb finished for 2.6/3.0 (and "<class 'BytesWarning'>: str() on a bytes instance")
Barry Warsaw
barry at python.org
Thu Sep 4 00:29:02 CEST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Sep 3, 2008, at 5:31 PM, Jesus Cea wrote:
> Christian Heimes wrote:
>> Jesus Cea wrote:
>>> I can't reproduce the issue in my local Python3.0 development
>>> version
>>> (here, all tests passes fine). Any suggestion?.
>>
>> Yeah, use my byte warning mode of Python 3.0. Before your time in the
>> core team I had a long discussion with Guido and a few others. The
>> conclusion of the discussion was the byte warning mode.
>
> So much to learn, so little time :). Do you have an URL at hand?
>
>>> "Decoding" the "db.DB_VERSION_STRING" byte string would solve the
>>> error,
>>> but I rather prefer to know WHY I am having this issue at all. My
>>> Python3.0 "str()" has no any issue with byte values:
>>
>> It has no issues because Guido wanted str() to successed. Any
>> comparison
>> or conversion of a byte / bytearray instance with / to str is most
>> likely a bug or design flaw in the application. The byte warning mode
>> helps to discover hard to find bugs like "" == b"".
>
> Just committed the "decode" thing: r66188.
Jesus, again thanks for working so hard on pybsddb, I really
appreciate the effort.
However, in talking with several developers, there are still concerns
about bundling bsddb with Python 3.0. We have to leave it in 2.6 for
backward compatibility reasons, but we should deprecate it, remove it
from 3.0 and continue to release it as a separate package.
The issues come down to these:
- - You (Jesus) are the only person maintaining the code
- - The upstream bsddb API has never been the most stable thing in the
world
- - Concerns that the buildbot environments are not adequately testing
the code
My gut own feeling is that both pybsddb and Python would be much
better served with this code outside the core, distributed
separately. All your work would still live on, and be appreciated by
the community, but neither pybsddb nor Python would be tied to each
other's release cycles. And of course, your continued maintenance on
the 2.6 branch is greatly appreciated.
The dilemma for me is whether to let 3.0rc1 go out with or without
bsddb. Either way, if there's a pitchfork revolt of this decision
we'll have to break our rule for rc2 to back the change out.
Guido has already given his approval to remove pybsddb from Python 3.0:
http://mail.python.org/pipermail/python-dev/2008-July/081379.html
and I know Brett agrees, so that's it. On IRC, I've just asked
Benjamin to do the honors for 3.0 and Brett will add the deprecations
for 2.6.
- -Barry
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)
iQCVAwUBSL8PrnEjvBPtnXfVAQKFfAP9EfWlyrmdBvIrO85vX4dpd/uIjM1Q5Ngm
LP4a20nWPsmA6LpMbW7fjpwVnnNOeJqamqX8JFsqcETw1GOJnIgovqhHItzCgQjb
0X+Uw/m2Uv0TqKcgrf0WXw61sLG8liWdkV4tq92JnbzBVwEzCTdZPDfOGUGEYRop
Q3LLOxKRRow=
=4dVo
-----END PGP SIGNATURE-----
More information about the Python-3000
mailing list