-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
174 lines (159 loc) · 4.81 KB
/
pyproject.toml
File metadata and controls
174 lines (159 loc) · 4.81 KB
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
[project]
requires-python = "== 3.12"
[tool.uv.pip]
emit-index-url = false
[tool.ruff.lint]
extend-select = [
"B", # flake8-bugbear
"A", # flake8-builtins
"DJ", # django
"ISC", # flake8-implicit-str-concat
"LOG", # logging
"G",
"PIE", # flake8-pie
"T20", # flake8-print
"I", # isort
"PERF",# perflint
"E", # pycodestyle
"F", # pyflakes
"UP", # pyupgrade
]
ignore = [
# Checks for assertRaises and pytest.raises context managers that catch Exception or BaseException.
"B017",
# Checks for useless expressions.
"B018",
# Checks for raise statements in exception handlers that lack a from clause.
"B904",
# Whitespace before ':' (conflicts with Black)
"E203",
# Checks for lines that exceed the specified maximum character length.
"E501",
# Do not assign a lambda expression
"E731",
# Name may be undefined from '*' import
"F405",
# Checks for CamelCase imports that are aliased to lowercase names
"N813",
# Checks for CamelCase imports that are aliased to constant-style names.
"N814",
# Checks for class variable names that follow the mixedCase convention
"N815",
# Exception name should be named with Error suffix
"N818",
# Checks for instance methods that use a name other than self for their first argument.
"N805",
# Checks for the use of non-lowercase variable names in functions
"N806",
# Checks for functions names that do not follow the snake_case naming convention.
"N802",
# Checks for module names that do not follow the snake_case naming convention or are otherwise invalid.
"N999",
# Checks for for loops that can be replaced by a list comprehension.
"PERF401",
# Checks for `if` statements that can be replaced with bool
"SIM103",
# Check for if-else-blocks that can be replaced with a ternary operator
"SIM108",
#Check for environment variables that are not capitalized.
"SIM112",
# Checks for nested if statements that can be collapsed into a single if statement
"SIM102",
# Use a single `with` statement with multiple contexts instead of nested `with` statements
"SIM117",
# Checks for str.format calls that can be replaced with f-strings.
"UP032",
# An undefined name is likely to raise NameError at runtime.
"F821",
]
[tool.ruff.lint.isort]
combine-as-imports = true
section-order = [
"future",
"standard-library",
"django",
"third-party",
"first-party",
"local-folder",
]
[tool.ruff.lint.isort.sections]
"django" = ["django"]
[tool.bumpversion]
current_version = "0.1.0"
parse = """(?x)
(?P<major>0|[1-9]\\d*)\\.
(?P<minor>0|[1-9]\\d*)\\.
(?P<patch>0|[1-9]\\d*)
(?:
- # dash separator for pre-release section
(?P<pre_l>[a-zA-Z-]+)\\. # pre-release label
(?P<pre_n>0|[1-9]\\d*) # pre-release version number
)? # pre-release section is optional
"""
serialize = [
"{major}.{minor}.{patch}-{pre_l}.{pre_n}",
"{major}.{minor}.{patch}",
]
search = "{current_version}"
replace = "{new_version}"
regex = false
ignore_missing_version = false
ignore_missing_files = false
tag = false
sign_tags = false
tag_name = "{new_version}"
tag_message = ":arrow_up: Bump version to {new_version} and update changelog"
allow_dirty = false
commit = false
message = ":arrow_up: Bump version to {new_version} and update changelog"
commit_args = ""
setup_hooks = []
pre_commit_hooks = [
"npm i", # ensure that package-lock.json is updated
]
post_commit_hooks = []
[tool.bumpversion.parts.pre_l]
values = ["dev", "beta", "rc", "final"]
optional_value = "final"
[[tool.bumpversion.files]]
filename = "src/openvtb/__init__.py"
[[tool.bumpversion.files]]
filename = "src/openvtb/conf/locale/nl/LC_MESSAGES/django.po"
[[tool.bumpversion.files]]
filename = "README.rst"
search = ":Version: {current_version}"
replace = ":Version: {new_version}"
[[tool.bumpversion.files]]
filename = "package.json"
search = " \"version\": \"{current_version}\""
replace = " \"version\": \"{new_version}\""
[tool.coverage.run]
parallel = true
branch = true
source = ["src"]
omit =[
# files processed at entrypoint time
"src/manage.py",
"src/openvtb/wsgi.py",
# migrations run while django initializes the test db
"*/migrations/*",
# settings
"src/openvtb/conf/dev.py",
"src/openvtb/conf/docker.py",
"src/openvtb/conf/jenkins.py",
"src/openvtb/conf/test.py",
]
[tool.coverage.report]
skip_covered = true
exclude_also = [
"if (typing\\.)?TYPE_CHECKING:",
"@(typing\\.)?overload",
"class .*\\(.*Protocol.*\\):",
"@(abc\\.)?abstractmethod",
"raise NotImplementedError",
"raise RuntimeError",
"\\.\\.\\.",
"pass$",
"if settings.DEBUG:",
"assert_never\\(.*\\)"
]