[build-system]
requires = [
    "setuptools>=70.0.0",
    "wheel",
    "build",
    "setuptools_scm>=8",
    "click",
    "pluggy",
    "drain-swamp-snippet",
]
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]
dependencies = { file = ['requirements/prod.unlock'] }
optional-dependencies.pip = { file = ['requirements/pip.unlock'] }
optional-dependencies.manage = { file = ['requirements/manage.unlock'] }

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

[tool.drain-swamp]
copyright_start_year = 2024
# Legacy. Obsoleted by tool.venvs
#    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' },
]
