# kas - setup tool for bitbake based projects
#
# Copyright (c) Siemens AG, 2021-2025
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

[build-system]
build-backend = "setuptools.build_meta"

requires = [ "setuptools>=40.5", "wheel" ]

[project]
name = "kas"
description = "Setup tool for bitbake based projects"
readme = "README.rst"
keywords = [ "OpenEmbedded bitbake development" ]
license = { text = "MIT" }
maintainers = [
  { name = "Jan Kiszka", email = "jan.kiszka@siemens.com" },
]
requires-python = ">=3.9"
classifiers = [
  "Development Status :: 5 - Production/Stable",
  "Intended Audience :: Developers",
  "License :: OSI Approved :: MIT License",
  "Programming Language :: Python :: 3 :: Only",
  "Programming Language :: Python :: 3.9",
  "Programming Language :: Python :: 3.10",
  "Programming Language :: Python :: 3.11",
  "Programming Language :: Python :: 3.12",
  "Programming Language :: Python :: 3.13",
  "Programming Language :: Python :: 3.14",
  "Topic :: Software Development :: Build Tools",
]
dynamic = [ "version" ]
dependencies = [
  "distro>=1,<2",
  "gitpython>=3.1,<4",
  "jsonschema>=3.2,<5",
  "pyyaml>=3,<7",
]
optional-dependencies.tui = [
  "kconfiglib>=14.1,<15"
]
optional-dependencies.verify = [
  "python-gnupg>=0.4.0,<1"
]
optional-dependencies.test = [
  "kas[tui]",
  "kas[verify]",
  "pytest>=6,<9",
]

urls.Documentation = "https://kas.readthedocs.io/"
urls.Homepage = "https://github.com/siemens/kas"
urls.Repository = "https://github.com/siemens/kas.git"
scripts.kas = "kas.kas:main"

[tool.poetry]
version = "1.0"

[tool.setuptools]
package-data = { "kas" = [ "*.json" ] }
script-files = [ "kas-container" ]

[tool.setuptools.packages.find]
namespaces = false

[tool.pytest.ini_options]
markers = [
  "online: tests requiring internet access",
  "dirsfromenv: parameterize test work dirs and build dirs",
]
filterwarnings = [
  "error",
]
