[tool.poetry]
name = "advlabdb"
version = "1.0.3"
description = "Database with a web interface for labs."
authors = ["Mo Bitar <mo8it@proton.me>"]
readme = "README.md"

[tool.poetry.dependencies]
python = "~3.12"
argon2-cffi = "^23.1" # Needed for hashing passwords with flask-security
click = "^8.1"
flask-admin = "^1.6"
flask-migrate = "^4.0"
flask-security = "^5.5"
flask-sqlalchemy = "^3.1"
gunicorn = "^23.0"
markupsafe = "^2.1"
matplotlib = "^3.9"
numpy = "^2.1"
setuptools = "^74.1"

[tool.ruff]
line-length = 120
lint.select = [
  "E",
  "W",
  "F",
  "I",
  "UP",
  "YTT",
  "S",
  "B",
  "C4",
  "ICN",
  "PIE",
  "Q",
  "RET",
  "SIM",
  "TID",
  "PTH",
  "ERA",
  "PL",
  "NPY",
  "PERF",
  "RUF",
]
lint.ignore = [
  "E501",
  "E711",
  "E712",
  "S3",
  "S6",
  "RET504",
  "PLR0912",
  "PLR0915",
  "PLW2901",
  "PLR2004",
  "PERF203",
  "RUF012",
]

[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["I"]

[tool.isort]
profile = "black"
skip = ["__init__.py"]

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"