[tool.poetry]
name = "flupdt"
version = "0.1.0"
description = """\
Nix flake update diff checker. \
Useful for validating and diffing flakes after updates. \
Short for fl(ake) up(date) d(iff).\
"""
authors = ["Alice Huston <aliceghuston@gmail.com>"]
license = "MIT"
readme = "README.md"
packages = [{ include = "flupdt" }]

[tool.poetry.dependencies]
python = "^3.11"
sqlalchemy = "^2.0.31"

[tool.poetry.scripts]
flupdt = "flupdt.main:main"
flake-update-diff = "flupdt.main:main"

[tool.poetry.group.dev.dependencies]
ruff = "0.5.1"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.ruff]

line-length = 100
indent-width = 4

target-version = "py39"

[tool.ruff.lint]
select = ["ALL"]
ignore = [
    "ANN101", # (perm) this rule is deprecated
    "ANN102", # (perm) this rule is deprecated
    "G004",   # (perm) this is a performance nit
    "COM812",  # https://docs.astral.sh/ruff/rules/missing-trailing-comma/
    "ISC001",  # https://docs.astral.sh/ruff/rules/single-line-implicit-string-concatenation/
]

[tool.ruff.lint.per-file-ignores]

"tests/**" = [
    "S101", # (perm) pytest needs asserts
]

fixable = ["ALL"]

[tool.ruff.lint.pydocstyle]
convention = "google"

[tool.ruff.lint.pycodestyle]
max-line-length = 120

[tool.ruff.lint.pylint]
max-args = 9