-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
147 lines (131 loc) · 3.98 KB
/
pyproject.toml
File metadata and controls
147 lines (131 loc) · 3.98 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
[project]
requires-python = "== 3.12"
# Bumpversion configuration
[tool.bumpversion]
current_version = "0.7.2"
commit = false
tag = false
pre_commit_hooks = [
"npm i", # ensure that package-lock.json is updated
]
parse = '''
(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)
(\-(?P<pre>[a-z]+)\.(?P<build>\d+))?
'''
serialize = [
"{major}.{minor}.{patch}-{pre}.{build}",
"{major}.{minor}.{patch}"
]
[tool.bumpversion.part.pre]
first_value = "alpha"
values = ["alpha", "beta", "rc"]
[[tool.bumpversion.files]]
filename = "src/referentielijsten/__init__.py"
[[tool.bumpversion.files]]
filename = "README.rst"
search = ":Version: {current_version}"
replace = ":Version: {new_version}"
[[tool.bumpversion.files]]
filename = "README.EN.rst"
search = ":Version: {current_version}"
replace = ":Version: {new_version}"
[[tool.bumpversion.files]]
filename = "package.json"
search = "\"version\": \"{current_version}\""
replace = "\"version\": \"{new_version}\""
# Ruff configuration
[tool.ruff]
# Exclude folders and files
exclude = [
"migrations",
"static",
"media",
]
# Same as Black
line-length = 88
indent-width = 4
target-version = "py312"
[tool.ruff.lint]
select = [
# https://docs.astral.sh/ruff/rules/#isort-i
"I",
# https://docs.astral.sh/ruff/rules/#error-e
"E",
# https://docs.astral.sh/ruff/rules/#pyflakes-f
"F",
# https://docs.astral.sh/ruff/rules/#flake8-simplify-sim
"SIM",
# https://docs.astral.sh/ruff/rules/#perflint-perf
"PERF",
# https://docs.astral.sh/ruff/rules/#refurb-furb
"FURB",
# https://docs.astral.sh/ruff/rules/#flake8-bugbear-b
"B006",
"B010",
# https://docs.astral.sh/ruff/rules/#pep8-naming-n
"N",
"TID251",
]
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",
]
[tool.ruff.lint.isort]
combine-as-imports = true
force-wrap-aliases = false
known-first-party = ["referentielijsten"]
lines-after-imports = -1
relative-imports-order = "furthest-to-closest"
sections = { django = ["django"] }
section-order = [
"future",
"standard-library",
"django",
"third-party",
"first-party",
"local-folder",
]
[tool.ruff.format]
line-ending = "lf"
[lint.flake8-tidy-imports.banned-api]
"logging".msg = "Use `structlog.stdlib.get_logger(__name__)` instead of the stdlib logging module."