forked from beeware/toga
-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
84 lines (77 loc) · 3.04 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
[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,MapPin"
# 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]
plugins = ["coverage_conditional_plugin"]
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.coverage.coverage_conditional_plugin.rules]
no-cover-if-missing-setuptools_scm = "not is_installed('setuptools_scm')"
no-cover-if-missing-PIL = "not is_installed('PIL')"
no-cover-if-PIL-installed = "is_installed('PIL')"
no-cover-if-lt-py311 = "sys_version_info < (3, 11) and os_environ.get('COVERAGE_EXCLUDE_PYTHON_VERSION') != 'disable'"
no-cover-if-gte-py311 = "sys_version_info > (3, 11) and os_environ.get('COVERAGE_EXCLUDE_PYTHON_VERSION') != 'disable'"
no-cover-if-lt-py310 = "sys_version_info < (3, 10) and os_environ.get('COVERAGE_EXCLUDE_PYTHON_VERSION') != 'disable'"
no-cover-if-gte-py310 = "sys_version_info > (3, 10) and os_environ.get('COVERAGE_EXCLUDE_PYTHON_VERSION') != 'disable'"
[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} <https://github.com/beeware/toga/issues/{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.