cookiecutter-django/pyproject.toml

176 lines
3.4 KiB
TOML
Raw Normal View History

[project]
name = "cookiecutter-django"
2024-12-28 05:25:06 +03:00
version = "2024.12.27"
description = "A Cookiecutter template for creating production-ready Django projects quickly."
readme = "README.md"
keywords = [
"cookiecutter",
"django",
"project template",
"scaffolding",
"skeleton",
]
license = { text = "BSD" }
authors = [
{ name = "Daniel Roy Greenfeld", email = "pydanny@gmail.com" },
]
requires-python = ">=3.12,<3.13"
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Framework :: Django :: 5.0",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Natural Language :: English",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Software Development",
]
dependencies = [
"binaryornot==0.4.4",
"cookiecutter==2.6",
"django-upgrade==1.22.2",
"djlint==1.36.4",
"gitpython==3.1.43",
2024-12-31 12:50:08 +03:00
"jinja2==3.1.5",
"pre-commit==3.8",
"pygithub==2.5",
"pytest==8.3.4",
"pytest-cookies==0.7",
"pytest-instafail==0.5",
"pytest-xdist==3.6.1",
"pyyaml==6.0.2",
"requests==2.32.3",
"ruff==0.8.4",
"sh==2.1; sys_platform!='win23'",
"tox==4.23.2",
"tox-uv>=1.17",
]
urls = { Repository = "https://github.com/cookiecutter/cookiecutter-django" }
[dependency-groups]
docs = [
"myst-parser>=4",
"sphinx>=8.0.2",
"sphinx-autobuild>=2024.10.3",
"sphinx-rtd-theme>=3",
]
[tool.ruff]
target-version = "py312"
# Exclude the template content as most files aren't parseable
extend-exclude = [
"{{cookiecutter.project_slug}}/*",
]
[tool.ruff.lint]
select = [
"F",
"E",
"W",
"C90",
"I",
"N",
"UP",
"YTT",
# "ANN", # flake8-annotations: we should support this in the future but 100+ errors atm
"ASYNC",
"S",
"BLE",
"FBT",
"B",
"A",
"COM",
"C4",
"DTZ",
"T10",
"EM",
"EXE",
"FA",
'ISC',
"ICN",
"G",
'INP',
'PIE',
"T20",
'PYI',
'PT',
"Q",
"RSE",
"RET",
"SLF",
"SLOT",
"SIM",
"TID",
"TCH",
"INT",
# "ARG", # Unused function argument
"PTH",
"ERA",
"PD",
"PGH",
"PL",
"TRY",
"FLY",
# "NPY",
# "AIR",
"PERF",
# "FURB",
# "LOG",
"RUF",
]
ignore = [
"S101", # Use of assert detected https://docs.astral.sh/ruff/rules/assert/
"RUF012", # Mutable class attributes should be annotated with `typing.ClassVar`
"SIM102", # sometimes it's better to nest
"UP038", # Checks for uses of isinstance/issubclass that take a tuple
# of types for comparison.
# Deactivated because it can make the code slow:
# https://github.com/astral-sh/ruff/issues/7871
]
# The fixes in extend-unsafe-fixes will require
# provide the `--unsafe-fixes` flag when fixing.
extend-unsafe-fixes = [
"UP038",
]
[tool.ruff.lint.isort]
force-single-line = true
# ==== pytest ====
[tool.pytest.ini_options]
addopts = "-v --tb=short"
norecursedirs = [
".tox",
".git",
"*/migrations/*",
"*/static/*",
"docs",
"venv",
"*/{{cookiecutter.project_slug}}/*",
]
# ==== djLint ====
[tool.djlint]
blank_line_after_tag = "load,extends"
close_void_tags = true
format_css = true
format_js = true
# TODO: remove T002 when fixed https://github.com/Riverside-Healthcare/djLint/issues/687
ignore = "H006,H030,H031,T002,T028"
ignore_blocks = "raw"
include = "H017,H035"
indent = 2
max_line_length = 119
profile = "jinja"
[tool.djlint.css]
indent_size = 2
[tool.djlint.js]
indent_size = 2