Verified: 332 tests pass (325 unit/integration + 7 E2E/accessibility with Playwright chromium), ruff clean. Identified via ITWorx security-hardening programme Trivy scan.
81 lines
1.9 KiB
TOML
81 lines
1.9 KiB
TOML
[project]
|
|
name = "vacatureradar"
|
|
version = "0.3.14"
|
|
description = "Persoonlijke autonome vacature-assistent voor toegestane publieke bronnen en vacaturemails."
|
|
readme = "README.md"
|
|
requires-python = ">=3.12,<3.14"
|
|
license = {text = "MIT"}
|
|
authors = [{name = "Jens"}]
|
|
dependencies = [
|
|
"Django==5.2.16",
|
|
"celery[redis]==5.6.3",
|
|
"psycopg[binary]==3.3.4",
|
|
"httpx==0.28.1",
|
|
"certifi==2026.6.17",
|
|
"beautifulsoup4==4.15.0",
|
|
"bleach==6.4.0",
|
|
"lxml==6.1.1",
|
|
"feedparser==6.0.12",
|
|
"PyYAML==6.0.3",
|
|
"python-dateutil==2.9.0.post0",
|
|
"defusedxml==0.7.1",
|
|
"gunicorn==26.0.0",
|
|
"whitenoise==6.11.0",
|
|
"cryptography==50.0.0",
|
|
"msal==1.37.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest==9.0.2",
|
|
"pytest-django==4.11.1",
|
|
"pytest-cov==7.0.0",
|
|
"ruff==0.12.7",
|
|
]
|
|
browser = ["playwright==1.54.0"]
|
|
|
|
[tool.uv]
|
|
default-groups = ["dev"]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest==9.0.2",
|
|
"pytest-django==4.11.1",
|
|
"pytest-cov==7.0.0",
|
|
"ruff==0.12.7",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
DJANGO_SETTINGS_MODULE = "config.settings"
|
|
python_files = ["test_*.py"]
|
|
addopts = "-ra --strict-markers --disable-warnings"
|
|
testpaths = ["tests"]
|
|
markers = [
|
|
"integration: tests die meerdere modules of de database combineren",
|
|
"security: beveiligingsgerichte tests",
|
|
]
|
|
|
|
[tool.ruff]
|
|
target-version = "py312"
|
|
line-length = 100
|
|
extend-exclude = [".venv", "staticfiles", "media", "local", "*/migrations/*", "docs/reference/*"]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "B", "UP", "S", "SIM", "RUF"]
|
|
ignore = ["S101", "S105", "S106", "B008", "RUF012"]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"config/settings.py" = ["S105"]
|
|
"tests/**/*.py" = ["S101", "S105", "S106", "S108"]
|
|
"apps/**/management/commands/*.py" = ["S105"]
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
source = ["apps", "config"]
|
|
omit = ["*/migrations/*", "*/admin.py", "*/apps.py"]
|
|
|
|
[tool.coverage.report]
|
|
show_missing = true
|
|
skip_covered = true
|
|
fail_under = 70
|