123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- [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
- setup_requires =
- setuptools_scm[toml] >= 6.2
- install_requires =
- msgpack >=1.0.3, <=1.0.4
- packaging
- platformdirs
- 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 ...
- # E121 continuation line under-indented for hanging indent
- # E122 continuation line missing indentation or outdented
- # E123 closing bracket does not match indentation of opening bracket's line
- # E125 continuation line with same indent as next logical line
- # E126 continuation line over-indented for hanging indent
- # E127 continuation line over-indented for visual indent
- # E128 continuation line under-indented for visual indent
- # E221 multiple spaces before operator
- # E226 missing whitespace around arithmetic operator
- # E261 at least two spaces before inline comment
- # E265 block comment should start with '# '
- # E301 expected 1 blank line
- # E305 expected 2 blank lines after class or function definition
- # E401 multiple imports on one line
- # E402 module level import not at top
- # E501 line too long
- # E722 do not use bare except
- # E731 do not assign a lambda expression, use def
- # E741 ambiguous variable name
- # F401 import unused
- # F403 from ... import * used, unable to detect undefined names
- # F405 undefined or defined from star imports
- # F811 redef of unused var
- # F821 undefined name
- # W391 blank line at end of file
- # #### 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 = E226, W503, E203
- # 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 =
- docs/conf.py:E121,E126,E265,E305,E401,E402
- src/borg/archive.py:E122,E125,E127,E402,E501,F401,F405,W504
- src/borg/archiver/__init__.py:E402,E501,E722,E741,F405
- src/borg/archiver/_common.py:E501,F405
- src/borg/archiver/benchmark_cmd.py:F405
- src/borg/archiver/config_cmd.py:F405,E722
- src/borg/archiver/create_cmd.py:E501,F405
- src/borg/archiver/debug_cmd.py:F405
- src/borg/archiver/delete_cmd.py:F405
- src/borg/archiver/diff_cmd.py:F405
- src/borg/archiver/help_cmd.py:E501,F405
- src/borg/archiver/key_cmds.py:F405
- src/borg/archiver/prune_cmd.py:F405
- src/borg/archiver/rcompress_cmd.py:F405
- src/borg/archiver/recreate_cmd.py:F405
- src/borg/archiver/rdelete_cmd.py:F405
- src/borg/archiver/rlist_cmd.py:E501
- src/borg/archiver/tar_cmds.py:F405
- src/borg/cache.py:E127,E128,E402,E501,E722,W504
- src/borg/fuse.py:E402,E501,E722,W504
- src/borg/fuse_impl.py:F811
- src/borg/locking.py:E128,E501,E722
- src/borg/manifest.py:E128,E402,E501,F405
- src/borg/remote.py:E128,E501,F405
- src/borg/repository.py:E126,E128,E501,F401,F405,W504
- src/borg/upgrader.py:E501
- src/borg/xattr.py:E402
- src/borg/crypto/key.py:E125,E128,E402,E501,F401,F405,W504
- src/borg/crypto/keymanager.py:E126,E128,E501,F401
- src/borg/crypto/nonces.py:E128,E501
- src/borg/helpers/__init__.py:F401,F405
- src/borg/helpers/checks.py:F401
- src/borg/helpers/errors.py:F405
- src/borg/helpers/fs.py:F405
- src/borg/helpers/misc.py:E402,E722,F401,F405
- src/borg/helpers/msgpack.py:E127,F405
- src/borg/helpers/parseformat.py:E402,E501,E741,F401,F405
- src/borg/helpers/process.py:E402,F401,W504
- src/borg/helpers/progress.py:E402
- src/borg/helpers/shellpattern.py:E501
- src/borg/platform/__init__.py:F401,F811
- src/borg/platform/base.py:E402
- src/borg/testsuite/__init__.py:E501,F401
- src/borg/testsuite/archive.py:E128,W504
- src/borg/testsuite/archiver/__init__.py:E128,E501,E722,F401,F405,F811
- src/borg/testsuite/archiver/debug_cmds.py:E501
- src/borg/testsuite/archiver/disk_full.py:F401,F405,F811
- src/borg/testsuite/archiver/extract_cmd.py:F405
- src/borg/testsuite/archiver/mount_cmds.py:E501,E722
- src/borg/testsuite/archiver/prune_cmd.py:F405
- src/borg/testsuite/archiver/rcompress_cmd.py:F405
- src/borg/testsuite/archiver/recreate_cmd.py:F405
- src/borg/testsuite/archiver/return_codes.py:F401,F405,F811
- src/borg/testsuite/benchmark.py:F401,F811
- src/borg/testsuite/chunker.py:E501,F405
- src/borg/testsuite/chunker_pytest.py:F401
- src/borg/testsuite/chunker_slow.py:F405
- src/borg/testsuite/crypto.py:E126,E501,E741
- src/borg/testsuite/file_integrity.py:F401
- src/borg/testsuite/hashindex.py:F401
- src/borg/testsuite/helpers.py:E126,E127,E128,E501,F401
- src/borg/testsuite/key.py:E501,F401
- src/borg/testsuite/locking.py:E126,E128,E501,E722,F401
- src/borg/testsuite/patterns.py:E123
- src/borg/testsuite/platform.py:E128,E501,F401,F811
- src/borg/testsuite/repository.py:E128,E501,F401
- src/borg/testsuite/shellpattern.py:E123
- src/borg/testsuite/upgrader.py:F405
- 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
|