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

[project]
name = "portfolio-ui"
version = "2.0.0"
description = "A lightweight YAML-driven portfolio and landing-page generator."
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
    # 3.1 introduced TRUSTED_HOSTS; an older Flask accepts the config key and
    # ignores it, which would silently disable the host-forgery check.
    "flask>=3.1",
    "pyyaml",
    "requests",
]

[project.optional-dependencies]
dev = [
    "bandit",
    "pip-audit",
    "ruff",
    "yamllint",
]

[tool.setuptools]
py-modules = ["main"]

[tool.setuptools.packages.find]
include = ["app", "app.*"]

[tool.setuptools.package-data]
app = [
    "config.sample.yaml",
    "i18n/ui/*.yaml",
    "i18n/content/*.yaml",
    "templates/**/*.j2",
    "static/css/*.css",
    "static/js/*.js",
]

[tool.ruff]
target-version = "py312"
line-length = 88
extend-exclude = ["app/static/cache", "build"]

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