[tool.codespell] skip = ".git,*.pdf,*.svg" # the way to make case sensitive skips of words etc ignore-regex = "\bNd\b" ignore-words-list = "te,crate,re-use" # The coverage settings in this file only control `coverage report`. `coverage run` and # `coverage combine` are controlled by the pyproject.toml files in each package's # subdirectory. # # In each subdirectory's pyproject.toml, we use both of the following settings: # * `source_pkgs`: detects the given packages no matter where they're imported from. # * `source`: detects all files in the given directory, including files that are # never imported by the tests. # # When running through `tox`, this will produce duplicate entries which must be merged # with `coverage combine`. [tool.coverage.run] relative_files = true [tool.coverage.report] show_missing = true skip_covered = true skip_empty = true precision = 1 exclude_lines = [ "pragma: no cover", "@(abc\\.)?abstractmethod", "NotImplementedError\\(\\)", "if TYPE_CHECKING:", "class .+?\\(Protocol.*\\):", "@overload", ] [tool.isort] profile = "black" split_on_trailing_comma = true combine_as_imports = true known_third_party = [ "android", # isort defaults to making this first-party for some reason. ] known_first_party = [ "testbed", "toga", "toga_android", "toga_cocoa", "toga_dummy", "toga_gtk", "toga_iOS", "toga_web", "toga_winforms", ] [tool.towncrier] directory = "changes" package = "toga" package_dir = "core/src" filename = "docs/background/project/releases.rst" title_format = "{version} ({project_date})" issue_format = "`#{issue} `__" template = "changes/template.rst" type = [ { directory = "feature", name = "Features", showcontent = true }, { directory = "bugfix", name = "Bugfixes", showcontent = true }, { directory = "removal", name = "Backward Incompatible Changes", showcontent = true }, { directory = "doc", name = "Documentation", showcontent = true }, { directory = "misc", name = "Misc", showcontent = false }, ] [tool.setuptools_scm] # We're not doing anything Python-related at the root level of the repo, but if this # declaration isn't here, tox commands run from the root directory raise a warning that # pyproject.toml doesn't contain a setuptools_scm section.