139 lines
4.1 KiB
TOML
139 lines
4.1 KiB
TOML
[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"
|