[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Merging the ctypes python bindings to trunk

From: Blair Zajac <blair_at_orcaware.com>
Date: Sun, 21 Sep 2008 19:42:20 -0700

David James wrote:
> Dear Subversion Developers,
>
> At long last, the ctypes python bindings are ready to merge to trunk.
>
> The new ctypes Python bindings offer the following advantages over the
> old SWIG Python bindings:
> 1. First and foremost, the ctypes bindings are complete and are
> generated entirely automatically. They offer complete access to all
> functionality provided by the Subversion library, so there is nothing
> that you won't be able to do. New features should be available in the
> ctypes bindings immediately.
> 2. The ctypes bindings are straightforward, and don't have any
> special "transformation" rules. All of the documentation for the
> Subversion C library applies equally to the ctypes bindings.
> 3. The ctypes bindings are pure python and cross-platform. You can
> generate the function definitions on one platform and copy them to
> another platform without incident. In other words, your users don't
> need a compiler to install the binding.
> 4. The ctypes bindings are both forward and backward compatible with
> different versions of Subversion and different libraries, as long as
> the functions you use in your programs have compatible definitions.
> 5. Besides the low-level bindings, the ctypes bindings have high
> level classes which make it easy to access common Subversion
> functionality in a Pythonic way. These classes do not offer complete
> access to all Subversion features, but they are often more convenient
> and easier to use than the raw ctypes library.
>
> NOTE: The bindings have been tested on Mac OS X, Linux, and Windows.
> To test on Windows, I build the csvn Python bindings on Linux and then
> copy the generated Python files to Windows.

I think we should wait a full release before even beginning to deprecate the
SWIG bindings.

Do you have any performance numbers comparing the two?

> I'd like to merge the ctypes python bindings to trunk using the
> following command:
> $ svn cp http://svn.collab.net/repos/svn/branches/ctypes-python-bindings
> http://svn.collab.net/repos/svn/trunk/subversion/bindings/ctypes-python-bindings

Ditto Arfrever's suggestion.

Do you need to modify any of the build files to get it to compile?

And I think it should be possible to have both the SWIG and ctypes bindings
installed and hopefully in use in the same process at the same time. So we'll
need a separate module name for these besides 'svn'.

Regards,
Blair

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-09-22 04:42:46 CEST

This is an archived mail posted to the Subversion Dev mailing list.