[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 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 src/borg/xattr.py:E402 src/borg/crypto/key.py:E402 src/borg/helpers/__init__.py:F401 src/borg/helpers/misc.py:E402 src/borg/helpers/parseformat.py:E402,E501,E741 src/borg/helpers/process.py:E402 src/borg/helpers/shellpattern.py:E501 src/borg/platform/__init__.py:F401 src/borg/platform/base.py:E402 src/borg/testsuite/archiver/disk_full.py:F811 src/borg/testsuite/archiver/return_codes.py:F811 src/borg/testsuite/benchmark.py:F811 src/borg/testsuite/crypto.py:E501,E741 src/borg/testsuite/helpers.py:E501 src/borg/testsuite/locking.py:E501 src/borg/testsuite/platform.py:E501,F811 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