On Fri, Jul 19, 2013 at 09:58:30AM +0100, Daniel P. Berrange wrote: > On Fri, Jul 19, 2013 at 07:26:09AM +0200, Michal Privoznik wrote: > > On 19.07.2013 04:04, Doug Goldstein wrote: > > > On Thu, Jul 18, 2013 at 1:13 PM, Dave Allan <dallan@xxxxxxxxxx> wrote: > > >> I've seen a bunch of interest in python3 [1,2,3]. Has anybody started > > >> thinking about python3 bindings for libvirt? > > >> > > > > > > While not really answering your question, I would like to see the > > > build system a little more flexible with regards to Python binding > > > generation. Currently you have to configure libvirt and it will > > > generate bindings for the python it detects (or is supplied) and if > > > you want to change that you need to rebuild the entire source tree. > > > It'd be nice in the future to be able to build against multiple > > > Python's without having to reconfigure and rebuild. > > > > That's because python bindings need the client implementation. But I > > agree that it would be nice if one could just: > > > > make -C python > > > > to build the bindings. yes that would be nicer, the problem is that python version detection is done in configure.ac . > > To answer Dave's question, I'm not really into python but isn't 2to3 enough? > > 2to3 will take a python2 file & spit out a reasonable python3 > file. The issue is that, IMHO, we don't want to be in the business > of maintaining 2 sets of python bindings. For any C code, I think > we want to make sure we use #if conditionals to minimize the extra > burden of python3. For the py code, I think we should also aim to > try to support 2 & 3 with one set of code. There are some modules > you can import which give you access to some python3 style apis > from python2, which could help. When I ported libxml2, I had to do a couple of tricks but honnestly not too many, and I didn't try to use any portability layer. On the other hand debugging a lot of the nasty stuff that 2to3 generated making it improper for python2 or just changing the semantic wasn't too fun. That's why if i were to do it now on libvirt I would process from the set of patches I used for libxml2. Daniel -- Daniel Veillard | Open Source and Standards, Red Hat veillard@xxxxxxxxxx | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list