Re: ctypes-python bindings

Branko Čibej <[email protected]>
Newsgroups gmane.comp.version-control.subversion.devel
Organization The Apache Software Foundation
Message-ID <[email protected]>
On 18. 7. 2026 16:15, Daniel Sahlberg wrote:
> Hi,
>
> When testing 1.15.0-rc3, I stumbled on check-ctypes-python. That 
> currently fails miserably:
>
> [[[
> python: can't open file '/home/dsg/ramdisk/svn_trunk2/none': [Errno 2] 
> No such file or directory
> sed: can't read subversion/bindings/ctypes-python/svn_all.py: No such 
> file or directory
> cd 
> /home/dsg/ramdisk_backstorage/svn_trunk2/subversion/bindings/ctypes-python; 
> \
>   /bin/bash "/home/dsg/ramdisk_backstorage/svn_trunk2/libtool" 
> --tag=CC --silent --mode=execute `for f in 
> /home/dsg/ramdisk_backstorage/svn_trunk2/subversion/*/*.la; do echo 
> -dlopen $f; done` python test/run_all.py
> Traceback (most recent call last):
>   File 
> "/home/dsg/ramdisk_backstorage/svn_trunk2/subversion/bindings/ctypes-python/test/run_all.py", 
> line 22, in <module>
>     import setup_path
>   File 
> "/home/dsg/ramdisk_backstorage/svn_trunk2/subversion/bindings/ctypes-python/test/setup_path.py", 
> line 31, in <module>
>     import csvn.core
>   File 
> "/home/dsg/ramdisk_backstorage/svn_trunk2/subversion/bindings/ctypes-python/csvn/core/__init__.py", 
> line 20, in <module>
>     import functions
> ModuleNotFoundError: No module named 'functions'
> make: *** [Makefile:1050: check-ctypes-python] Error 1
> ]]]
>
> I've started fixing errors one by one and I have a 444 line diff, but 
> I'm no closer to making it work.
>
> Given that last substantial commit was somewhere around 2011, this is 
> probably yet another feature we are not maintaining as well as we 
> should. I believe a lot of things have not been updated from Py2 to 
> Py3 standards but it seems to be other stuff as well.


Ctypes-python is broken and unmaintained. Because of that, nobody uses it.


> Is there any advantage having a ctypes-binding over the swig-binding? 
> Otherwise, I think we should axe this one as well - in this particular 
> case (since it currently doesn't work) - I'm on the SIGKILL squad.

Theoretically, one can build better bindings with ctypes than Swig, 
because you get a more "native" mapping of types. But we didn't. I think 
15 years of brokenness is long enough.

-- Brane
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.