114 lines
2.7 KiB
TOML
114 lines
2.7 KiB
TOML
[tool.poetry]
|
|
name = "blog"
|
|
version = "0.1.0"
|
|
description = ""
|
|
authors = ["Gabriel Augendre <gabriel@augendre.info>"]
|
|
license = "GPLv3"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.10"
|
|
django = {version = ">=4.1", extras = ["argon2"]}
|
|
markdown = ">=3.2"
|
|
gunicorn = ">=20.0"
|
|
Pygments = ">=2.6"
|
|
django-anymail = {version = ">=8.4", extras = ["mailgun"]}
|
|
pillow = ">=9.2"
|
|
django-cleanup = ">=6.0"
|
|
requests = ">=2.24"
|
|
readtime = ">=2.0.0"
|
|
django-debug-toolbar = ">=3.2"
|
|
whitenoise = {extras = ["brotli"], version = ">=6.0"}
|
|
rcssmin = ">=1.0.6"
|
|
django-csp = ">=3.7"
|
|
django-two-factor-auth = {extras = ["phonenumberslite"], version = ">=1.14"}
|
|
beautifulsoup4 = ">=4.10.0"
|
|
django-environ = ">=0.9.0"
|
|
django-extensions = ">=3.2.1"
|
|
setuptools = ">=65.4.0"
|
|
|
|
[tool.poetry.dev-dependencies]
|
|
pre-commit = ">=2.7"
|
|
pytest = ">=7.0"
|
|
pytest-django = ">=4.5"
|
|
model-bakery = ">=1.1"
|
|
pytest-cov = ">=3.0"
|
|
pytest-recording = ">=0.12.0"
|
|
pytest-rerunfailures = ">=10.2"
|
|
pytest-env = ">=0.6.2"
|
|
poetry-deps-scanner = ">=2.0"
|
|
invoke = ">=1.6.0"
|
|
mypy = ">=0.981"
|
|
types-Markdown = ">=3.3.10"
|
|
types-requests = ">=2.26.3"
|
|
types-setuptools = ">=65"
|
|
types-toml = ">=0.10.1"
|
|
types-beautifulsoup4 = ">=4.10.7"
|
|
types-Pillow = ">=9.2"
|
|
kolo = ">=2.0.3"
|
|
lxml-stubs = ">=0.4.0"
|
|
|
|
[tool.isort]
|
|
profile = "black"
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "--color=yes"
|
|
minversion = "6.0"
|
|
DJANGO_SETTINGS_MODULE = "blog.settings"
|
|
testpaths = [
|
|
"src",
|
|
]
|
|
env = [
|
|
"GOATCOUNTER_DOMAIN=gc.gabnotes.org"
|
|
]
|
|
|
|
[tool.mypy]
|
|
mypy_path = "$MYPY_CONFIG_FILE_DIR/stubs"
|
|
disallow_untyped_defs = true
|
|
warn_redundant_casts = true
|
|
strict_equality = true
|
|
disallow_untyped_calls = true
|
|
warn_unreachable = true
|
|
enable_error_code = ["redundant-expr"]
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"django.*",
|
|
"environ",
|
|
"django_otp.plugins.otp_static.models",
|
|
"two_factor.models",
|
|
"django_otp.plugins.otp_totp.models",
|
|
"model_bakery",
|
|
"invoke",
|
|
"kolo",
|
|
]
|
|
ignore_missing_imports = true
|
|
|
|
[tool.flakeheaven]
|
|
max_complexity = 10
|
|
format = "grouped"
|
|
|
|
[tool.flakeheaven.plugins]
|
|
"flake8-*" = [
|
|
"+*",
|
|
# long lines
|
|
"-E501",
|
|
# conflict with black on PEP8 interpretation
|
|
"-E203",
|
|
# deprecated rule: https://www.flake8rules.com/rules/W503.html
|
|
"-W503",
|
|
]
|
|
flake8-builtins = ["-A003"] # class attribute is shadowing a python builtin
|
|
flake8-quotes = ["-Q000"] # found double quotes, conflict with black
|
|
flake8-commas = ["-C812"] # missing trailing comma, conflict with black
|
|
flake8-docstrings = ["-D1??"] # missing docstring
|
|
flake8-rst-docstrings = ["-*"]
|
|
flake8-isort = ["-*"]
|
|
|
|
[tool.flakeheaven.exceptions."**/migrations/*"]
|
|
|
|
[tool.flakeheaven.exceptions."**/tests/*"]
|
|
flake8-bandit = ["-S101"] # Use of assert detected.
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=1.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|