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
Daniel P. Berrangé 4733e2a2d1 ci: refresh with latest lcitool manifest
This refresh switches the CI for contributors to be triggered by merge
requests. Pushing to a branch in a fork will no longer run CI pipelines,
in order to avoid consuming CI minutes. To regain the original behaviour
contributors can opt-in to a pipeline on push

   git push <remote> -o ci.variable=RUN_PIPELINE=1

This variable can also be set globally on the repository, though this is
not recommended. Upstream repo pushes to branches will run CI.

The use of containers has changed in this update, with only the upstream
repo creating containers, in order to avoid consuming contributors'
limited storage quotas. A fork with existing container images may delete
them. Containers will be rebuilt upstream when pushing commits with CI
changes to the default branch. Any other scenario with CI changes will
simply install build pre-requisite packages in a throaway environment,
using the ci/buildenv/ scripts. These scripts may also be used on a
contributor's local machines.

With pipelines triggered by merge requests, it is also now possible to
workaround the inability of contributors to run pipelines if they have
run out of CI quota. A project member can trigger a pipeline from the
merge request, which will run in context of upstream, however, note
this should only be done after reviewing the code for any malicious
CI changes.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-09-30 12:24:31 -04:00
.github/workflows Switch to new GitHub repo-lockdown configuration 2021-12-01 09:27:50 +00:00
ci ci: refresh with latest lcitool manifest 2022-09-30 12:24:31 -04:00
examples examples: remove use of deprecated setDaemon method 2022-06-08 16:43:52 +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 Add tox.ini to run tests on Python 2.6, 2.7 & 3.4 2015-04-22 16:45:13 +01:00
.gitlab-ci.yml ci: refresh with latest lcitool manifest 2022-09-30 12:24:31 -04: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 Setup distutils build system 2013-11-22 15:58:06 +00:00
COPYING.LESSER Setup distutils build system 2013-11-22 15:58:06 +00:00
generator.py Add an override impl for virDomainRestoreParams and virDomainSaveParams 2022-05-13 13:28:11 +02: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 support for domain event for memory device size change 2021-10-08 11:23:27 +01:00
libvirt-override-virDomain.py domain: Fix None comparison 2020-08-18 09:48:25 +00: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 VIR_DOMAIN_IOTHREAD_THREAD_POOL_{MIN,MAX} macros 2022-07-08 08:18:15 +02:00
libvirt-override.py generator: refactor buildWrappers to make it more generic 2022-04-21 12:32:51 +01:00
libvirt-python.spec.in rpm: drop support for RHEL-7 2021-09-01 18:33:28 +01:00
libvirt-qemu-override-api.xml qemu-api: Fix return type 2020-07-27 13:24:36 +02:00
libvirt-qemu-override.c Implement virDomainQemuMonitorCommandWithFiles() override 2022-03-10 09:51:33 +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 build: provide wrapper makefile 2014-06-18 13:19:30 -06:00
MANIFEST.in add missing files to MANIFEST.in 2022-02-11 11:20:26 +00:00
README Don't mention email patch submission in README 2021-09-21 16:11:07 -05:00
requirements-test.txt Add travis build config 2017-09-19 16:11:23 +01:00
setup.py Link libvirtmod_* modules also with libvirt 2022-09-09 17:28:51 +02:00
tox.ini setup: use pytest instead of nose to run the test suite 2021-04-07 17:09:54 +02:00
typewrappers.c Replace uint with unsigned int 2022-09-09 17:18:56 +02:00
typewrappers.h Replace uint with unsigned int 2022-09-09 17:18:56 +02:00

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

This package provides a python binding 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

  python setup.py build
  sudo python setup.py install

or to install as non-root

  python setup.py build
  python setup.py install --user

If python-pytest is installed, you can test the package with

  python setup.py test

A makefile shim is provided so that you can do

  make && make check

rather than directly invoking setup.py.

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 python setup.py build

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