[metadata]
name = vorta
author = Manuel Riel and Vorta contributors
description = A GUI for Borg Backup
version = attr: vorta._version.__version__
url = https://github.com/borgbase/vorta
keywords =
  backup
  borgbackup
# List of classifiers: https://pypi.org/pypi?%3Aaction=list_classifiers
classifiers =
  Development Status :: 4 - Beta
  Environment :: MacOS X
  Environment :: X11 Applications :: Qt
  Operating System :: MacOS
  Operating System :: POSIX
  License :: OSI Approved :: GNU General Public License v3 (GPLv3)
  Programming Language :: Python :: 3.7
  Programming Language :: Python :: 3.8
  Programming Language :: Python :: 3.9
  Programming Language :: Python :: 3.10
  Topic :: System :: Archiving :: Backup
  Topic :: System :: Systems Administration
  Topic :: Utilities
long_description = file: README.md
long_description_content_type = text/markdown
license_file = LICENSE.txt
project_urls =
    Bug Tracker = https://github.com/borgbase/vorta/issues
    Documentation = https://docs.borgbase.com
    Source Code = https://github.com/borgbase/vorta

[options]
packages = find:
package_dir =
    =src
include_package_data = true
python_requires = >=3.8
install_requires =
  platformdirs >=3.0.0, <5.0.0; sys_platform == 'darwin'  # for macOS: breaking changes in 3.0.0,
  platformdirs >=2.6.0, <5.0.0; sys_platform != 'darwin'  # for others: 2.6+ works consistently.
  pyqt6
  peewee
  psutil
  setuptools
  secretstorage; sys_platform != 'darwin'
  pyobjc-core < 10; sys_platform == 'darwin'
  pyobjc-framework-Cocoa < 10; sys_platform == 'darwin'
  pyobjc-framework-LaunchServices < 10; sys_platform == 'darwin'
  pyobjc-framework-CoreWLAN < 10; sys_platform == 'darwin'
tests_require =
  pytest
  pytest-qt
  pytest-mock

[options.entry_points]
gui_scripts =
  vorta = vorta.__main__:main

[options.packages.find]
where=src

[tool:pytest]
addopts = -vs
testpaths = tests
qt_default_raising = true
filterwarnings =
    ignore::DeprecationWarning

[coverage:run]
source = vorta
omit = tests/*
relative_files = true

[flake8]
ignore =
max-line-length = 120
extend-ignore = E203,E121,E123,E126,E226,E24,E704,W503,W504
exclude =
    build,dist,.git,.idea,.cache,.tox,.eggs,
    ./src/vorta/__init__.py,.direnv,env

[tox:tox]
envlist = py36,py37,py38,flake8
skip_missing_interpreters = true

[testenv]
deps =
    pytest
    pytest-qt
    pytest-mock
commands=pytest
passenv = DISPLAY

[testenv:flake8]
deps =
    flake8
commands=flake8 src tests

[pycodestyle]
max_line_length = 120

[pylint.master]
extension-pkg-whitelist=PyQt6
load-plugins=

[pylint.messages control]
disable= W0503,W0511,C0301,R0903,R0201,W0212,C0114,C0115,C0116,C0103,E0611,E1120,C0415,R0914,R0912,R0915

[pylint.format]
max-line-length=120