Files
django-postfix-dovecot-api/pyproject.toml
T
ponas 7efa230deb
CI / tests (push) Successful in 1m52s
CI / prek (push) Successful in 17s
CI / image (push) Successful in 1m41s
CI / deploy-lynx (push) Successful in 27s
feat: build an image and deploy it to lynx from ci
2026-11-03 04:13:05 +01:00

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"]