-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
138 lines (119 loc) Β· 4.13 KB
/
pyproject.toml
File metadata and controls
138 lines (119 loc) Β· 4.13 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
[project]
name = "django-template"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12"
dependencies = ["django>=5.2.5"]
[dependency-groups]
dev = [
"git-cliff>=2.12.0",
"pre-commit>=4.3.0",
"pylint>=3.3.8",
"pylint-django>=2.6.1",
"pytest>=8.4.1",
]
[tool.black]
line-length = 79
include = '\.pyi?$'
exclude = '''
/(
\.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
)/
'''
[tool.isort]
profile = "black"
[tool.skjold]
sources = ["pyup", "gemnasium"] # Sources to check against.
report_only = true # Report only, always exit with zero.
cache_dir = '.skylt_cache' # Cache location (default: `~/.skjold/cache`).
cache_expires = 86400 # Cache max. age.
verbose = true # Be verbose.
[tool.ruff]
# Set the maximum line length to 79.
line-length = 79
[tool.ruff.lint]
# Add the `line-too-long` rule to the enforced rule set. By default, Ruff omits rules that
# overlap with the use of a formatter, like Black, but we can override this behavior by
# explicitly adding the rule.
extend-select = [
"E501",
"UP", # pyupgrade
]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.flake8]
# Check that this is aligned with your other tools like Black
max-line-length = 120
max-complexity = 18
exclude = [".git", "*migrations*", ".tox", ".venv", ".env"]
# Use extend-ignore to add to already ignored checks which are anti-patterns like W503.
extend-ignore = ["E501", "W503", "F403", "C901", "B904"]
[tool.git-cliff.changelog]
# A Tera template to be rendered as the changelog's header.
# See https://keats.github.io/tera/docs/#introduction
header = """
# Changelog\n
All notable changes to this project will be documented in this file.\n
"""
# A Tera template to be rendered for each release in the changelog.
# See https://keats.github.io/tera/docs/#introduction
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## π¨π»βπ»π§ Unreleased
{% endif %}\
{% for group, commits in commits | unique(attribute="message") | group_by(attribute="group") %}
### {{ group | upper_first }}
{% for commit in commits %}
- {{ commit.message | split(pat="\n") | first | upper_first | trim_end }}\
{% endfor %}
{% endfor %}
"""
# A Tera template to be rendered as the changelog's footer.
# See https://keats.github.io/tera/docs/#introduction
footer = """
<!-- generated by git-cliff -->
"""
# Remove leading and trailing whitespaces from the changelog's body.
trim = true
[tool.git-cliff.git]
# Parse commits according to the conventional commits specification.
# See https://www.conventionalcommits.org
conventional_commits = true
# Exclude commits that do not match the conventional commits specification.
commit_parsers = [
{ message = ".\\d+\\.\\d+\\.\\d+", skip = true },
{ message = "^Merge '[^']+' into 'master'", skip = true },
{ message = "^chore\\(release\\): prepare for", skip = true },
{ message = ".*format code with Black.*", skip = true },
{ message = "^feat", group = "π Features" },
{ message = "^fix", group = "π Bug Fixes" },
{ message = "^doc", group = "π Docs" },
{ message = "^perf", group = "π§° Improvements" },
{ message = "^refactor", group = "π§° Improvements" },
{ message = "^style", group = "π Style" },
{ message = "^test", group = "π§ͺ Testing" },
{ message = "^chore", group = "Miscellaneous Tasks" },
{ body = ".*security", group = "π Security" },
{ body = ".*", group = "β Other (unconventional)" },
]
# An array of regex based parsers for extracting data from the commit message.filter_unconventional = false
# Assigns commits to groups.
# Optionally sets the commit's scope and can decide to exclude commits from further processing.
# Exclude commits that are not matched by any commit parser.
filter_commits = true
# Order releases topologically instead of chronologically.
topo_order = false
# Order of commits in each group/release within the changelog.
# Allowed values: newest, oldest
sort_commits = "oldest"