diff --git a/.travis.yml b/.travis.yml index 25e5805..ab69f44 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,21 +2,17 @@ language: python matrix: include: - - python: 3.11-dev + - python: 3.14-dev env: TOXENV=black - - python: 3.11-dev + - python: 3.14-dev env: TOXENV=coveralls - - python: 3.9-dev + - python: 3.13-dev env: TOXENV=full - - python: 3.9-dev + - python: 3.13-dev env: TOXENV=min - - python: 3.10-dev + - python: 3.12-dev env: TOXENV=full - - python: 3.10-dev - env: TOXENV=min - - python: 3.11-dev - env: TOXENV=full - - python: 3.11-dev + - python: 3.12-dev env: TOXENV=min before_install: diff --git a/docs/conf.py b/docs/conf.py index 15b7e59..39f3bd3 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -6,7 +6,6 @@ import sys import time - # Fetch general information about the project. # Source: https://github.com/jaraco/skeleton/blob/skeleton/docs/conf.py root = os.path.realpath(os.path.join(os.path.dirname(__file__), "..")) diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..1248542 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,54 @@ +[build-system] +requires = ["setuptools>=61.0"] +build-backend = "setuptools.build_meta" + +[project] +name = "virt-backup" +version = "0.5.6" +description = "Automatic backups for libvirt" +readme = "README.md" +license = {text = "BSD-2-Clause"} +authors = [{name = "Anthony Ruhier", email = "anthony.ruhier@gmail.com"}] +requires-python = ">=3.12" +classifiers = [ + "Operating System :: POSIX :: Linux", + "Programming Language :: Python :: 3 :: Only", + "License :: OSI Approved :: BSD License", +] +dependencies = [ + "appdirs", + "arrow", + "libvirt-python", + "lxml", + "packaging", + "PyYAML", +] + +[project.optional-dependencies] +zstd = ["zstandard"] +test = ["pytest", "pytest-cov", "pytest-mock", "deepdiff", "apipkg"] + +[project.scripts] +virt-backup = "virt_backup.__main__:cli_run" + +[project.urls] +Homepage = "https://github.com/Anthony25/virt-backup" +Repository = "https://github.com/Anthony25/virt-backup" + +[tool.setuptools.packages.find] +exclude = ["example", "tests"] + +[tool.bumpversion] +current_version = "0.5.6" +commit = true +tag = true + +[[tool.bumpversion.files]] +filename = "pyproject.toml" +search = 'version = "{current_version}"' +replace = 'version = "{new_version}"' + +[[tool.bumpversion.files]] +filename = "virt_backup/__init__.py" +search = 'VERSION = "{current_version}"' +replace = 'VERSION = "{new_version}"' diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 1112839..0000000 --- a/setup.cfg +++ /dev/null @@ -1,20 +0,0 @@ -[bumpversion] -current_version = 0.5.6 -commit = True -tag = True - -[aliases] -test = pytest --extras --addopts "-m 'not no_extra'" -testmin = pytest --addopts "-m 'not extra'" -testv = pytest --addopts "-v --durations=10 -m 'not no_extra'" --extras -testd = pytest --addopts "--pdb -m 'not no_extra'" --extras -testlf = pytest --addopts "--lf -m 'not no_extra'" --extras -testcov = pytest --addopts "--cov virt_backup --cov-config .coveragerc -m 'not no_extra'" --extras - -[bumpversion:file:setup.py] -search = version="{current_version}" -replace = version="{new_version}" - -[bumpversion:file:virt_backup/__init__.py] -search = VERSION = "{current_version}" -replace = VERSION = "{new_version}" diff --git a/setup.py b/setup.py deleted file mode 100755 index 5eec317..0000000 --- a/setup.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python3 - -""" -Automatic backups for libvirt -See: - https://github.com/Anthony25/virt-backup -""" - -from os import path -from setuptools import find_packages, setup - -here = path.abspath(path.dirname(__file__)) - -setup( - name="virt-backup", - version="0.5.6", - description="Automatic backups for libvirt", - url="https://github.com/Anthony25/virt-backup", - author="Anthony25 ", - author_email="anthony.ruhier@gmail.com", - license="Simplified BSD", - classifiers=[ - "Operating System :: POSIX :: Linux", - "Programming Language :: Python :: 3 :: Only", - "License :: OSI Approved :: BSD License", - ], - keywords="libvirt", - packages=find_packages(exclude=["example", "tests"]), - install_requires=[ - "appdirs", - "arrow", - "libvirt-python", - "lxml", - "packaging", - "PyYAML", - ], - setup_requires=[ - "pytest-runner", - ], - tests_require=["pytest", "pytest-cov", "pytest-mock", "deepdiff"], - extras_require={ - "zstd": ["zstandard"], - }, - entry_points={ - "console_scripts": [ - "virt-backup = virt_backup.__main__:cli_run", - ], - }, -) diff --git a/tests/helper/virt_backup.py b/tests/helper/virt_backup.py index 0db8716..7180938 100644 --- a/tests/helper/virt_backup.py +++ b/tests/helper/virt_backup.py @@ -13,7 +13,6 @@ ) from virt_backup.groups import BackupGroup - CUR_PATH = os.path.dirname(os.path.realpath(__file__)) @@ -235,7 +234,7 @@ def build_dombackup(dom, *dombackup_args, **dombackup_kwargs): dom, *dombackup_args, callbacks_registrer=callbacks_registrer, - **dombackup_kwargs + **dombackup_kwargs, ) diff --git a/tox.ini b/tox.ini index d819c6a..659b687 100644 --- a/tox.ini +++ b/tox.ini @@ -1,35 +1,21 @@ [testenv] -deps = - apipkg - libvirt-python - pytest - pytest-mock +extras = + test + zstd +commands = pytest {posargs:-m "not no_extra"} [testenv:full] -deps = - apipkg - libvirt-python - pytest - pytest-mock - -commands= python setup.py test [testenv:min] -deps = - apipkg - libvirt-python - pytest - pytest-mock - -commands= python setup.py testmin +extras = test +commands = pytest {posargs:-m "not extra"} +[testenv:cov] +extras = test + zstd +commands = pytest --cov virt_backup --cov-config .coveragerc {posargs:-m "not no_extra"} [testenv:black] -usedevelop=True -basepython=python3.11 -changedir=. -deps = - {[testenv]deps} - black -commands= - black --check virt_backup tests +deps = black +skip_install = true +commands = black --check virt_backup tests diff --git a/virt_backup/__main__.py b/virt_backup/__main__.py index f2abd3b..3947e8f 100644 --- a/virt_backup/__main__.py +++ b/virt_backup/__main__.py @@ -19,7 +19,6 @@ from virt_backup.tools import InfoFilter from virt_backup import APP_NAME, VERSION, compat_layers - logger = logging.getLogger("virt_backup") diff --git a/virt_backup/backups/__init__.py b/virt_backup/backups/__init__.py index 8f7eba2..2466681 100644 --- a/virt_backup/backups/__init__.py +++ b/virt_backup/backups/__init__.py @@ -4,7 +4,6 @@ import threading from virt_backup.domains import get_domain_disks_of - __all__ = [ "DomBackup", "DomCompleteBackup", diff --git a/virt_backup/backups/complete.py b/virt_backup/backups/complete.py index 766def2..80b6c1e 100644 --- a/virt_backup/backups/complete.py +++ b/virt_backup/backups/complete.py @@ -12,7 +12,6 @@ from virt_backup.tools import copy_file from . import _BaseDomBackup - logger = logging.getLogger("virt_backup") diff --git a/virt_backup/backups/packagers/__init__.py b/virt_backup/backups/packagers/__init__.py index ddcb912..7c6610e 100644 --- a/virt_backup/backups/packagers/__init__.py +++ b/virt_backup/backups/packagers/__init__.py @@ -7,7 +7,6 @@ BackupPackagerOpenedError, ) - logger = logging.getLogger("virt_backup") diff --git a/virt_backup/backups/packagers/tar.py b/virt_backup/backups/packagers/tar.py index 321d40b..2046a25 100644 --- a/virt_backup/backups/packagers/tar.py +++ b/virt_backup/backups/packagers/tar.py @@ -27,7 +27,7 @@ def __init__( compression=None, compression_lvl=None, *args, - **kwargs + **kwargs, ): super().__init__(name) diff --git a/virt_backup/backups/pending.py b/virt_backup/backups/pending.py index 476d72e..725306b 100644 --- a/virt_backup/backups/pending.py +++ b/virt_backup/backups/pending.py @@ -18,7 +18,6 @@ from . import _BaseDomBackup from .snapshot import DomExtSnapshot - logger = logging.getLogger("virt_backup") diff --git a/virt_backup/backups/snapshot.py b/virt_backup/backups/snapshot.py index 5e107d1..2e65112 100644 --- a/virt_backup/backups/snapshot.py +++ b/virt_backup/backups/snapshot.py @@ -14,7 +14,6 @@ ) from virt_backup.exceptions import DiskNotSnapshot, SnapshotNotStarted - logger = logging.getLogger("virt_backup") diff --git a/virt_backup/compat_layers/config.py b/virt_backup/compat_layers/config.py index 2285eb0..5df770e 100644 --- a/virt_backup/compat_layers/config.py +++ b/virt_backup/compat_layers/config.py @@ -2,7 +2,6 @@ import logging import yaml - logger = logging.getLogger("virt_backup") diff --git a/virt_backup/compat_layers/definition.py b/virt_backup/compat_layers/definition.py index 8eb448d..ed822db 100644 --- a/virt_backup/compat_layers/definition.py +++ b/virt_backup/compat_layers/definition.py @@ -6,7 +6,6 @@ from packaging.version import parse as version_parser import yaml - logger = logging.getLogger("virt_backup") diff --git a/virt_backup/compat_layers/pending_info.py b/virt_backup/compat_layers/pending_info.py index 8d6c3c6..77096b1 100644 --- a/virt_backup/compat_layers/pending_info.py +++ b/virt_backup/compat_layers/pending_info.py @@ -6,7 +6,6 @@ from virt_backup.domains import get_xml_block_of_disk from . import definition as definition_compat - logger = logging.getLogger("virt_backup") diff --git a/virt_backup/config.py b/virt_backup/config.py index 91bd08d..419fe1f 100644 --- a/virt_backup/config.py +++ b/virt_backup/config.py @@ -6,7 +6,6 @@ from virt_backup import APP_NAME - logger = logging.getLogger("virt_backup") os.environ["XDG_CONFIG_DIRS"] = "/etc" diff --git a/virt_backup/domains.py b/virt_backup/domains.py index 6c11f40..9a3567d 100644 --- a/virt_backup/domains.py +++ b/virt_backup/domains.py @@ -4,7 +4,6 @@ from virt_backup.exceptions import DiskNotFoundError - logger = logging.getLogger("virt_backup") diff --git a/virt_backup/groups/__init__.py b/virt_backup/groups/__init__.py index b923168..e90b1ea 100644 --- a/virt_backup/groups/__init__.py +++ b/virt_backup/groups/__init__.py @@ -1,7 +1,6 @@ from .complete import CompleteBackupGroup, complete_groups_from_dict from .pending import BackupGroup, groups_from_dict - __all__ = [ "CompleteBackupGroup", "BackupGroup", diff --git a/virt_backup/groups/complete.py b/virt_backup/groups/complete.py index 2e10282..dcd5671 100644 --- a/virt_backup/groups/complete.py +++ b/virt_backup/groups/complete.py @@ -11,7 +11,6 @@ from virt_backup.exceptions import BackupNotFoundError, DomainNotFoundError from .pattern import domains_matching_with_patterns - logger = logging.getLogger("virt_backup") diff --git a/virt_backup/groups/pattern.py b/virt_backup/groups/pattern.py index 94cb158..2f43477 100644 --- a/virt_backup/groups/pattern.py +++ b/virt_backup/groups/pattern.py @@ -4,7 +4,6 @@ from virt_backup.domains import search_domains_regex - logger = logging.getLogger("virt_backup") diff --git a/virt_backup/groups/pending.py b/virt_backup/groups/pending.py index c8863b8..5ccb78e 100644 --- a/virt_backup/groups/pending.py +++ b/virt_backup/groups/pending.py @@ -9,7 +9,6 @@ from virt_backup.exceptions import BackupsFailureInGroupError, CancelledError from .pattern import matching_libvirt_domains_from_config - logger = logging.getLogger("virt_backup")