Files
DnD-Sidecar/pyproject.toml
2026-03-30 19:37:29 +00:00

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"