[build-system]
requires = [
    "setuptools >= 61.0.0",
    "setuptools_scm >= 7.0.0",
]
build-backend = "setuptools.build_meta"

[project]
name = "lyprox"
description = "Web app for exploring patterns and correlations in the lymph node level involvements of head & neck cancer patients."
authors = [
    {name = "Roman Ludwig", email = "roman.ludwig@usz.ch"}
]
readme = "README.md"
keywords = ["web app", "head and neck", "cancer", "radiation oncology", "lymph nodes", "metastases"]
license = { text = "MIT"}
dynamic = ["version"]
requires-python = "~=3.10"
dependencies = [
    "Django ~= 4.1",
    "django-filter ~= 2.4",
    "django-phonenumber-field[phonenumbers] ~= 6.1",
    "django-auth-logger ~= 2.1",
    "django-sekizai ~= 4.0",
    "Markdown ~= 3.3",
    "numpy ~= 1.24",
    "pandas ~= 1.5",
    "fontawesomefree ~= 5.15",
    "icd10-cm == 0.0.4",
    "python-magic ~= 0.4",
    "gunicorn ~= 20.1",
    "dvc ~= 3.2",
    "lymph-model ~= 0.4.3",
    "lyscripts ~= 0.6.6",
    "PyGithub ~= 1.58",
    "dateparser ~= 1.1",
    "python-markdown-math ~= 0.8",
]

[project.urls]
source = "https://github.com/rmnldwg/lyprox"
documentation = "https://rmnldwg.github.io/lyprox"

[project.optional-dependencies]
docs = [
    "docutils ~= 0.19",
    "pydoctor ~= 22.9",
]
test = [
    "factory_boy ~= 3.2",
]
dev = [
    "django-extensions ~= 3.2",
]

[project.scripts]
"manage.py" = "lyprox.manage:main"

[tool.setuptools]
packages = ["lyprox"]

[tool.setuptools.dynamic]
version = {attr = "lyprox._version.version"}

[tool.setuptools_scm]
write_to = "lyprox/_version.py"
local_scheme = "no-local-version"

[tool.ruff.lint]
select = ["E", "F", "W", "B", "C", "R", "U", "D", "I", "S", "T", "A", "N"]
ignore = ["D204"]

[tool.pytest.ini_options]
DJANGO_SETTINGS_MODULE = "lyprox.settings"
python_files = "test_*.py"

[tool.pydoctor]
project-name = "LyProX"
add-package = ["lyprox"]
docformat = "google"
make-html = true
html-output = "./docs"
verbose = 1
privacy = [
    "HIDDEN:lyprox.context_processors",
    "HIDDEN:lyprox.middleware",
    "HIDDEN:lyprox.loggers",
    "HIDDEN:lyprox.patients.migrations",
    "HIDDEN:lyprox.patients.static",
    "HIDDEN:lyprox.patients.templates",
    "HIDDEN:lyprox.patients.templatetags",
    "HIDDEN:lyprox.patients.admin",
    "HIDDEN:lyprox.patients.apps",
    "HIDDEN:lyprox.patients.tests",
    "HIDDEN:lyprox.dataexplorer.admin",
    "HIDDEN:lyprox.dataexplorer.apps",
    "HIDDEN:lyprox.dataexplorer.models",
]
