1
0
mirror of https://gitlab.com/libvirt/libvirt-python.git synced 2024-10-26 07:55:06 +03:00
Python language binding for libvirt native C API
Go to file
Pino Toscano 2c8339b44c setup: invoke git commands properly
Storing the git commands as single string, to split it by space later
on, works only in case there are no spaces in the arguments, which is
exactly what is in those commands.

Instead, specify them directly as lists, with the options & arguments
split in the right way. This fixes the generation of the AUTHORS and
ChangeLog files.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
2023-09-25 10:42:29 +00:00
.github/workflows Switch to new GitHub repo-lockdown configuration 2021-12-01 09:27:50 +00:00
ci ci: lcitool: Maintain project package deps lists here 2023-08-21 11:54:09 +02:00
examples Add binding for network metadata events 2023-09-21 11:58:47 +01:00
tests tests: expand AIO tests and add more comments 2022-06-08 16:43:52 +01:00
.ctags maint: Add ctags configuration file and ignore the output 2014-03-24 19:15:02 +01:00
.dir-locals.el maint: set up preferred emacs settings 2014-03-24 11:04:15 -06:00
.gitignore .gitignore: Ignore more common Python build artifacts 2023-01-06 10:19:13 +01:00
.gitlab-ci.yml gitlab: unset CFLAGS for rpm build 2023-09-21 16:48:42 +01:00
.mailmap Fix duplicate entries in AUTHORS 2015-05-28 14:50:51 -06:00
AUTHORS.in Setup distutils build system 2013-11-22 15:58:06 +00:00
CONTRIBUTING.rst gitlab: add CONTRIBUTING.rst file to indicate use of merge requests 2020-05-05 12:10:18 +01:00
COPYING COPYING: Only ship a single license file COPYING 2023-06-08 09:52:47 +02:00
generator.py override: domain: Implement override for virDomainFDAssociate 2023-01-12 13:52:25 +01:00
HACKING Add virDomainCheckpoint APIs 2019-07-29 13:39:39 -05:00
libvirt-lxc-override-api.xml Introduce an LXC specific public API & library 2013-01-14 13:58:34 +00:00
libvirt-lxc-override.c debug: Fix bit-rot in debug output 2020-07-27 13:24:36 +02:00
libvirt-override-api.xml Add an override impl for virDomainRestoreParams and virDomainSaveParams 2022-05-13 13:28:11 +02:00
libvirt-override-virConnect.py Add binding for network metadata events 2023-09-21 11:58:47 +01:00
libvirt-override-virDomain.py override: domain: Implement override for virDomainFDAssociate 2023-01-12 13:52:25 +01:00
libvirt-override-virDomainCheckpoint.py override: Convert to list comprehension 2020-08-18 09:48:25 +00:00
libvirt-override-virDomainSnapshot.py override: Convert to list comprehension 2020-08-18 09:48:25 +00:00
libvirt-override-virNetwork.py override: Convert to list comprehension 2020-08-18 09:48:25 +00:00
libvirt-override-virStoragePool.py override: Convert to list comprehension 2020-08-18 09:48:25 +00:00
libvirt-override-virStream.py stream: Convert type() to isinstance() 2020-08-18 09:48:25 +00:00
libvirt-override.c Add binding for network metadata events 2023-09-21 11:58:47 +01:00
libvirt-override.py generator: refactor buildWrappers to make it more generic 2022-04-21 12:32:51 +01:00
libvirt-python.spec.in spec: Invoke pytest properly 2023-06-22 10:52:40 +02:00
libvirt-qemu-override-api.xml qemu-api: Fix return type 2020-07-27 13:24:36 +02:00
libvirt-qemu-override.c Fix sign compare offenders 2023-02-13 15:42:58 +01:00
libvirt-qemu-override.py generator: merge python wrapper generator methods 2022-04-21 12:32:51 +01:00
libvirt-utils.c libvirt-utils: Clear error when guessing typed param type 2022-07-08 08:21:58 +02:00
libvirt-utils.h Drop support for python 2 2019-12-04 12:14:51 +00:00
libvirtaio.py libvirtaio: add better docs on best practice usage pattern 2022-06-08 16:43:52 +01:00
Makefile Makefile: Add a 'test' rule to run the full tox execution 2023-06-22 10:27:41 +02:00
MANIFEST.in setup: Query library version out of a file 2023-06-22 10:27:41 +02:00
pyproject.toml Add pyproject.toml 2023-06-22 10:27:41 +02:00
README README: Drop direct 'setup.py' usage 2023-06-22 10:52:40 +02:00
requirements-test.txt Add travis build config 2017-09-19 16:11:23 +01:00
setup.cfg setup: Query library version out of a file 2023-06-22 10:27:41 +02:00
setup.py setup: invoke git commands properly 2023-09-25 10:42:29 +00:00
tox.ini tox.ini: Drop sanitytest execution 2023-06-08 09:52:50 +02:00
typewrappers.c typewrappers: Drop typecast in libvirt_intWrap() 2023-02-13 14:51:47 +01:00
typewrappers.h Replace uint with unsigned int 2022-09-09 17:18:56 +02:00
VERSION Post-release version bump to 9.8.0 2023-09-01 13:04:56 +02:00

Libvirt Python Binding README
=============================

This package provides a module that permits applications
written in the Python 3.x programming language to call the interface
supplied by the libvirt library, to manage the virtualization
capabilities of recent versions of Linux (and other OSes).
As such, the module exposes Python bindings to to the libvirt.so,
libvirt-qemu.so and libvirt-lxc.so library APIs.

It is written to build against any version of libvirt that
is 0.9.11 or newer.

This code is distributed under the terms of the LGPL version
2 or later.

Requirements
------------

To build the libvirt python binary requires the GCC and pkg-config
tools, and development headers for the libvirt and python libraries.

Building and installing
-----------------------

The module can be built by following the normal python module
build process

  $ python3 -m build

for testing and distributing purposes or it can be installed directly via pip
as

  $ python3 -m pip install .

without explicit building.

In order to test the package, you'll need either tox or at least pytest,
depending on whether you want to test an already installed package in which
case the latter is sufficient or if you wish to test in a virtual
environment you'd need tox. Depending on your preferred setup, you can run the
tests either as

  $ python3 -m pytest

or as

  $ tox

A makefile shim is also provided for your convenience, so that you don't have
to care about the exact operations mentioned above and instead you simply do

  $ make && make check

As of libvirt 1.2.6, it is possible to develop against an uninstalled
libvirt.git checkout, by setting PKG_CONFIG_PATH and LD_LIBRARY_PATH
environment variables to point into that libvirt tree; you can even
automate this by using libvirt's run script:

  /path/to/libvirt/run python3 -m build

Patches for this code should be submitted as merge requests to the
project page on gitlab. See CONTRIBUTING.rst for more information.