Gregory P. Smith wrote:
> Of particular interest to bsddb is the pep3118 buffer API.  I updated
> the existing bsddb module found in the py3k branch to use it last
> fall; you may want to use the changes made to it as an example.
> 
> I agree, a single C code base is the only sane way forward for bsddb.
> The interesting part is that you also want to support older python
> versions (2.3-2.5?) as well so _bsddb.c & bsddb.h become a nice
> example of how to write code that spans multiple python versions.
> 
> I expect it is less difficult than it sounds.

I would say so. Most things can be done with preprocessor conditionals and
some redefinitions, e.g. "#define PyLong_Type PyInt_Type", etc.

The method "generate_module_preamble()" in Cython's ModuleNode.py source file
(from line 360 onwards) has a code block of things we found so far.

http://hg.cython.org/cython-devel/file/tip/Cython/Compiler/ModuleNode.py


> I believe the buffer api is supposed to be backported to 2.6?  I
> haven't followed the status of that.  If so, bsddb should use it in
> 2.6 as well.

The API is there (in addition to the old buffer API), but it doesn't seem to
get used.

Stefan

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to