[build-system]
requires = ["setuptools>=69"]
build-backend = "setuptools.build_meta"

[project]
name = "ccma"
dynamic = ["version"]
description = "Chaotic Creature Member Administration for Chaos Computer Club Mannheim e.V."
readme = "README.md"
requires-python = ">=3.11"
license = "MIT"
authors = [{name = "Chaos Computer Club Mannheim e.V."}]
dependencies = [
    "screeninfo>=0.8.1,<1",
    "ttkbootstrap-icons",
    "ttkbootstrap-icons-mat",
]

[project.optional-dependencies]
dev = [
    "pytest>=8",
    "ruff>=0.6",
]
build = [
    "pyinstaller>=6",
    "pillow>=9",
]

[project.scripts]
ccma = "ccma.app:main"

[tool.setuptools]
package-dir = {"" = "src"}
include-package-data = true

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools.package-data]
ccma = [
    "VERSION",
    "assets/CHANGELOG.json",
    "assets/splash.png",
    "assets/templates/*",
    "assets/themes/forest/**/*",
    "assets/themes/forest/*",
]

[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]

[tool.ruff]
line-length = 110
target-version = "py311"
extend-exclude = ["ci-templates"]

[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B"]
