borg/setup.cfg

157 lines
4.7 KiB
INI

[metadata]
name = borgbackup
author = The Borg Collective (see AUTHORS file)
description = Deduplicated, encrypted, authenticated and compressed backups
url = https://borgbackup.org
keywords =
backup
borgbackup
classifiers =
Development Status :: 4 - Beta
Environment :: Console
Intended Audience :: System Administrators
License :: OSI Approved :: BSD License
Operating System :: POSIX :: BSD :: FreeBSD
Operating System :: POSIX :: BSD :: OpenBSD
Operating System :: POSIX :: BSD :: NetBSD
Operating System :: MacOS :: MacOS X
Operating System :: POSIX :: Linux
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Topic :: Security :: Cryptography
Topic :: System :: Archiving :: Backup
platforms = Linux, MacOS X, FreeBSD, OpenBSD, NetBSD
license = BSD
license_files = LICENSE
project_urls =
Bug Tracker = https://github.com/borgbackup/borg/issues
Documentation = https://borgbackup.readthedocs.io
Source Code = https://github.com/borgbackup/borg
[options]
packages = find_namespace:
package_dir =
=src
python_requires = >=3.9
install_requires =
msgpack >=1.0.3, <=1.0.5
packaging
platformdirs >=3.0.0, <4.0.0; sys_platform == 'darwin' # for macOS: breaking changes in 3.0.0,
platformdirs >=2.6.0, <4.0.0; sys_platform != 'darwin' # for others: 2.6+ works consistently.
argon2-cffi
tests_require =
pytest
zip_safe = False
# See also the MANIFEST.in file.
# We want to install all the files in the package directories...
include_package_data = true
# ...except the source files which have been compiled (C extensions):
[options.exclude_package_data]
* =
*.c
*.h
*.pyx
[options.packages.find]
where = src
[options.entry_points]
console_scripts =
borg = borg.archiver:main
borgfs = borg.archiver:main
[options.extras_require]
llfuse = llfuse >= 1.3.8
pyfuse3 = pyfuse3 >= 3.1.1
nofuse =
[tool:pytest]
python_files = testsuite/*.py
markers =
allow_cache_wipe
[flake8]
# for reference ...
# E402 module level import not at top
# E501 line too long
# E741 ambiguous variable name
# F401 import unused
# F405 undefined or defined from star imports
# F811 redef of unused var
# #### Pick either W503, or W504 - latest recommendation from pep8 is to ignore W503
# W503 line break before binary operator
# W504 line break after binary operator
# borg code style guidelines:
# Ignoring E203 due to https://github.com/PyCQA/pycodestyle/issues/373
ignore = W503, E203, F405
# Code style violation exceptions:
# please note that the values are adjusted so that they do not cause failures
# with existing code. if you want to change them, you should first fix all
# flake8 failures that appear with your change.
per_file_ignores =
src/borg/archive.py:E402,E501,F401
src/borg/archiver/__init__.py:E402,E741
src/borg/archiver/_common.py:E501
src/borg/archiver/help_cmd.py:E501
src/borg/archiver/rlist_cmd.py:E501
src/borg/cache.py:E402,E501
src/borg/fuse.py:E402
src/borg/manifest.py:E402,E501
src/borg/remote.py:E501
src/borg/repository.py:E501,F401
src/borg/xattr.py:E402
src/borg/crypto/key.py:E402,F401
src/borg/crypto/keymanager.py:F401
src/borg/helpers/__init__.py:F401
src/borg/helpers/checks.py:F401
src/borg/helpers/misc.py:E402,F401
src/borg/helpers/parseformat.py:E402,E501,E741,F401
src/borg/helpers/process.py:E402,F401
src/borg/helpers/shellpattern.py:E501
src/borg/platform/__init__.py:F401
src/borg/platform/base.py:E402
src/borg/testsuite/__init__.py:F401
src/borg/testsuite/archiver/__init__.py:F401
src/borg/testsuite/archiver/disk_full.py:F401,F811
src/borg/testsuite/archiver/return_codes.py:F401,F811
src/borg/testsuite/benchmark.py:F401,F811
src/borg/testsuite/chunker_pytest.py:F401
src/borg/testsuite/crypto.py:E501,E741
src/borg/testsuite/file_integrity.py:F401
src/borg/testsuite/hashindex.py:F401
src/borg/testsuite/helpers.py:E501,F401
src/borg/testsuite/key.py:F401
src/borg/testsuite/locking.py:E501,F401
src/borg/testsuite/platform.py:E501,F401,F811
src/borg/testsuite/repository.py:F401
max_line_length = 120
exclude = build,dist,.git,.idea,.cache,.tox
[mypy]
python_version = 3.9
strict_optional = False
local_partial_types = True
show_error_codes = True
files = src/borg/**/*.py
[mypy-msgpack.*]
ignore_missing_imports = True
[mypy-llfuse]
ignore_missing_imports = True
[mypy-pyfuse3]
ignore_missing_imports = True
[mypy-trio]
ignore_missing_imports = True
[mypy-borg.crypto.low_level]
ignore_missing_imports = True
[mypy-borg.platform.*]
ignore_missing_imports = True