[tool:pytest] # do not litter the working directory cache_dir = /tmp/pytest_cache # slightly more verbose output console_output_style = count addopts = # show all skipped/failed/xfailed tests in the summary except passed -ra --strict-config [coverage:run] data_file = .reports/coverage/data branch = true relative_files = true [coverage:report] precision = 2 skip_empty = true show_missing = true exclude_lines = pragma: no cover if TYPE_CHECKING if typing.TYPE_CHECKING raise AssertionError raise NotImplementedError [coverage:html] show_contexts = true [flake8] min-version = 3.8 accept-encodings = utf-8 max-line-length = 88 classmethod-decorators = classmethod cached_classproperty # errors we ignore; see https://www.flake8rules.com/ for more info ignore = # pycodestyle errors # continuation line under-indented for hanging indent E121, # closing bracket does not match indentation of opening bracket's line E123, # continuation line over-indented for hanging indent E126, # multiple spaces after non-arithmetic operators (for vertical alignment) E241, # expected 2 blank lines after end of function or class E305, # do not assign a lambda expression, use a def E731, # do not use variables name 'I', 'O', or 'l' E741, # pycodestyle warnings: line breaks around binary operators W503, W504, # mccabe errors: function is too complex C901, # Exception subclasses should be named with an Error suffix N818, # Exclude rules for black compatibility E203, E704, [mypy] files = beets,beetsplug,test,extra,docs allow_any_generics = false # FIXME: Would be better to actually type the libraries (if under our control), # or write our own stubs. For now, silence errors ignore_missing_imports = true