[libvirt] [RFC/PATCH python] expose the bindings version to Python
Roman Bogorodskiy
bogorodskiy at gmail.com
Tue Dec 31 15:11:47 UTC 2013
Doug Goldstein wrote:
> On Thu, Dec 12, 2013 at 4:29 PM, Eric Blake <eblake at redhat.com> wrote:
> > On 12/11/2013 08:43 PM, Doug Goldstein wrote:
> >> The method getVersion() retrieves the version of the libvirt library
> >> that the binaries are linked against but there is no way to retrieve the
> >> version of the bindings you are using. In the future if we support new
> >> APIs in Python that don't rely on features in the library there needs to
> >> be a way for programmers to detect the version.
> >> ---
> >> I would expect there's a cleaner way to implement this than I've done
> >> but I opted for what I saw as the smallest implementation. If anyone
> >> has a suggestion for a better way to do this I'm ok with redoing this
> >> patch.
> >
> > The idea sounds sane to me.
> >
> >> ---
> >> libvirt-override.py | 3 +++
> >> setup.py | 16 ++++++++++++++++
> >> 2 files changed, 19 insertions(+)
> >
> > Alas, my python is too weak to give either a meaningful review to the
> > code, or to suggest an alternative. :(
> >
> > --
> > Eric Blake eblake redhat com +1-919-301-3266
> > Libvirt virtualization library http://libvirt.org
> >
>
> Ping for some more feedback from others.
A have a shorter but probably a little hacky way to do this:
diff --git a/libvirt-override.py b/libvirt-override.py
index 63f8ecb..93b6e0a 100644
--- a/libvirt-override.py
+++ b/libvirt-override.py
@@ -2,6 +2,9 @@
# Manually written part of python bindings for libvirt
#
+version = (1, 2, 0)
+__version__ = '.'.join(str(x) for x in version)
+
# On cygwin, the DLL is called cygvirtmod.dll
import sys
diff --git a/setup.py b/setup.py
index 24d4cf2..1138e15 100755
--- a/setup.py
+++ b/setup.py
@@ -278,7 +278,7 @@ class my_clean(clean):
remove_tree("build")
setup(name = 'libvirt-python',
- version = '1.2.0',
+ version = __import__('libvirt-override').__version__,
url = 'http://www.libvirt.org',
maintainer = 'Libvirt Maintainers',
maintainer_email = 'libvir-list at redhat.com',
Roman Bogorodskiy
More information about the libvir-list
mailing list