[build-system]
requires = ["setuptools>=70.0.0", "wheel", "build", "setuptools_scm>=8", "drain_swamp"]
build-backend = "setuptools.build_meta"

[project]
name = "complete-awesome-perfect"
dynamic = [
    "optional-dependencies",
    "dependencies",
    "version",
]
license = {file = "LICENSE"}
description = "build this nonsense package"
readme = "README.rst"
requires-python = ">=3.9"

authors = [  # Contact by mastodon please
    {name = "Dave Faulkmore", email = "faulkmore@protonmail.com"},
]

[tool.setuptools.packages.find]
where = ["src"]
include = ["complete_awesome_perfect*"]

[project.scripts]
complete_awesome_perfect = "complete_awesome_perfect.__main__:main"

[tool.setuptools.dynamic]
# @@@ editable little_shop_of_horrors_shrine_candles
dependencies = { file = ["requirements/prod.lnk"] }
optional-dependencies.pip = { file = ["requirements/pip.lnk"] }
optional-dependencies.manage = { file = ["requirements/manage.lnk"] }
# @@@ end

version = {attr = "complete_awesome_perfect._version.__version__"}

[tool.drain-swamp]
copyright_start_year = 2024

[tool.pipenv-unlock]
# wraps-build-backend = "setuptools.build_meta"
version_file = "src/complete_awesome_perfect/_version.py"
folders = [
    "ci",
]

required = { target = "prod", relative_path = "requirements/prod.in" }

# underscore: hyphen
optionals = [
    { target = "pip", relative_path = "requirements/pip.in" },
    { target = "manage", relative_path = "requirements/manage.in" },
]
