[tool.black] line-length = 120 target-version = ['py311'] include = '\.pyi?$' extend-exclude = ''' /( # directories \.eggs | \.git | \.hg | \.mypy_cache | \.tox | \.venv | venv | _build | buck-out | build | dist | migrations )/ ''' [tool.pylint.messages_control] disable = [ "C0111", # missing-docstring "C0103", # invalid-name "R0903", # too-few-public-methods "R0913", # too-many-arguments ] [tool.pylint.format] max-line-length = 120 [tool.bandit] exclude_dirs = ["tests", "migrations", "venv", ".venv"] skips = ["B101"] # Skip assert_used test [tool.coverage.run] source = ["app"] omit = [ "*/tests/*", "*/test_*.py", "*/__pycache__/*", "*/venv/*", "*/env/*", "*/migrations/*", "app/utils/pdf_generator.py", "app/utils/pdf_generator_fallback.py", ] [tool.coverage.report] precision = 2 show_missing = True skip_covered = False exclude_lines = [ "pragma: no cover", "def __repr__", "raise AssertionError", "raise NotImplementedError", "if __name__ == .__main__.:", "if TYPE_CHECKING:", "@abstractmethod", ] [tool.mypy] python_version = "3.11" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = false ignore_missing_imports = true exclude = [ "migrations/", "tests/", "venv/", ".venv/", ] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = [ "-v", "--tb=short", "--strict-markers", "--color=yes", "-W ignore::DeprecationWarning", "-W ignore::PendingDeprecationWarning", "--durations=10", ]