60 lines
1.3 KiB
TOML
60 lines
1.3 KiB
TOML
[project]
|
|
name = "django-postfix-dovecot-api"
|
|
version = "0.1.0"
|
|
description = "REST API for managing Postfix/Dovecot virtual domains, users and aliases"
|
|
readme = "README.md"
|
|
requires-python = "~=3.14.0"
|
|
dependencies = [
|
|
"django>=5.2,<6",
|
|
"django-extensions>=4.1",
|
|
"django-ninja>=1.7.3",
|
|
"libpass>=1.9.4",
|
|
"sentry-sdk>=2.73.0",
|
|
"whitenoise>=6.12.0",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest>=9.2.0",
|
|
"pytest-cov>=7.1.0",
|
|
"pytest-django>=4.14.0",
|
|
"ruff>=0.17.3",
|
|
]
|
|
prod = [
|
|
"gunicorn>=26.2.0",
|
|
"mysqlclient>=2.3.0",
|
|
]
|
|
|
|
[tool.uv]
|
|
package = false
|
|
|
|
[tool.pytest.ini_options]
|
|
DJANGO_SETTINGS_MODULE = "dpdapisite.settings"
|
|
testpaths = ["tests"]
|
|
pythonpath = ["."]
|
|
filterwarnings = ["error"]
|
|
addopts = "--cov --cov-report=term-missing"
|
|
|
|
[tool.coverage.run]
|
|
source = ["dpdapi", "dpdapisite"]
|
|
omit = ["*/migrations/*", "dpdapisite/settings.py", "dpdapisite/settings_prod.py"]
|
|
branch = true
|
|
|
|
[tool.coverage.report]
|
|
fail_under = 100
|
|
show_missing = true
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
target-version = "py314"
|
|
extend-exclude = ["*/migrations/*"]
|
|
force-exclude = true
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"E", "W", "F", "I", "UP", "B", "A", "C4", "DJ", "S", "SIM", "PT", "PTH", "RET", "RUF", "N", "LOG", "G",
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"tests/*" = ["S101", "S105", "S106"]
|