[project]
name = "servala"
version = "0.0.0"
description = "Servala portal server and frontend"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
    "argon2-cffi>=23.1.0",
    "cryptography>=44.0.2",
    "django==5.2b1",
    "django-allauth>=65.5.0",
    "django-fernet-encrypted-fields>=0.3.0",
    "django-scopes>=2.0.0",
    "django-template-partials>=24.4",
    "kubernetes>=32.0.1",
    "pillow>=11.1.0",
    "psycopg2-binary>=2.9.10",
    "pyjwt>=2.10.1",
    "requests>=2.32.3",
    "rules>=3.5",
    "urlman>=2.0.2",
]

[dependency-groups]
dev = [
    "black>=25.1.0",
    "coverage>=7.7.0",
    "djlint>=1.36.4",
    "flake8>=7.1.2",
    "flake8-bugbear>=24.12.12",
    "flake8-pyproject>=1.2.3",
    "isort>=6.0.1",
    "pytest>=8.3.5",
    "pytest-cov>=6.0.0",
    "pytest-django>=4.10.0",
]

[tool.isort]
profile = "black"
known_first_party = "servala"

[tool.flake8]
max-line-length = 160
exclude = ".venv"

[tool.djlint]
extend_exclude = "src/servala/static/mazer"

[tool.pytest.ini_options]
DJANGO_SETTINGS_MODULE = "servala.settings"
addopts = "-p no:doctest -p no:pastebin -p no:nose --cov=./ --cov-report=term-missing:skip-covered"
testpaths = "src/tests"
pythonpath = "src"
