[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "gitea-runner-manager" dynamic = ["version"] description = "Lean CLI to manage Gitea Actions runners" readme = "README.md" license = {text = "GPL-3.0"} requires-python = ">=3.12" classifiers = [ "Programming Language :: Python :: 3", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", ] dependencies = [ "requests>=2.34.2", "python-dotenv>=1.2.2", "click>=8.4.1", "ansible>=14.0.0", ] [project.scripts] grm = "gitea_runner_manager.cli:cli" [tool.setuptools.dynamic] version = {attr = "gitea_runner_manager.__version__"} [project.optional-dependencies] dev = [ "pytest>=9.1.0", "pytest-cov>=7.1.0", "ruff>=0.15.17", "pyright>=1.1.410", "molecule>=26.4.0", "molecule-docker>=2.1.0", "ansible-lint>=26.4.0", "bandit>=1.8.2", "pre-commit>=4.6.0", # Non-Python dev dependency: checkmake (Makefile linter) # Install via: go install github.com/checkmake/checkmake/cmd/checkmake@latest ] [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-data] gitea_runner_manager = ["translations.json"] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["src", "."] addopts = "--cov=src/gitea_runner_manager --cov=scripts --cov-report=term-missing --cov-fail-under=100" markers = [ "integration: marks tests as integration tests (not counted in coverage)", ] [tool.ruff] target-version = "py312" line-length = 120 [tool.ruff.lint] select = ["E", "F", "I", "W", "UP", "B", "C4", "SIM"] ignore = ["SIM117"] [tool.ruff.format] quote-style = "double" indent-style = "space" [tool.pyright] include = ["src", "scripts"] pythonVersion = "3.12" strict = ["src/gitea_runner_manager"]