[tool.poetry] authors = ["Robert Kaussow "] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "License :: OSI Approved :: MIT License", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "Natural Language :: English", "Operating System :: POSIX", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Utilities", ] description = "Prometheus Service Discovery for Proxmox VE." documentation = "https://github.com/thegeeklab/prometheus-pve-sd/" homepage = "https://github.com/thegeeklab/prometheus-pve-sd/" include = ["LICENSE"] keywords = ["prometheus", "sd", "pve", "metrics"] license = "MIT" name = "prometheus-pve-sd" packages = [{ include = "prometheuspvesd" }] readme = "README.md" repository = "https://github.com/thegeeklab/prometheus-pve-sd/" version = "0.0.0" [tool.poetry.dependencies] anyconfig = "0.14.0" appdirs = "1.4.4" colorama = "0.4.6" environs = "11.0.0" jsonschema = "4.23.0" nested-lookup = "0.2.25" prometheus-client = "0.21.0" proxmoxer = "2.1.0" python = "^3.8.0" python-json-logger = "2.0.7" requests = "2.32.3" "ruamel.yaml" = "0.18.6" [tool.poetry.scripts] prometheus-pve-sd = "prometheuspvesd.cli:main" [tool.poetry.group.dev.dependencies] ruff = "0.7.1" pytest = "8.3.3" pytest-mock = "3.14.0" pytest-cov = "5.0.0" toml = "0.10.2" [tool.poetry-dynamic-versioning] enable = true style = "semver" vcs = "git" [tool.pytest.ini_options] addopts = "prometheuspvesd --cov=prometheuspvesd --cov-report=xml:coverage.xml --cov-report=term-missing --no-cov-on-fail --cov-fail-under=80" filterwarnings = ["ignore::FutureWarning", "ignore::DeprecationWarning"] [tool.coverage.run] omit = ["**/test/*"] [build-system] build-backend = "poetry_dynamic_versioning.backend" requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"] [tool.ruff] exclude = [ ".git", "__pycache__", "build", "dist", "*.pyc", "*.egg-info", ".cache", ".eggs", "env*", ] line-length = 99 indent-width = 4 [tool.ruff.lint] # Explanation of errors # # D102: Missing docstring in public method # D103: Missing docstring in public function # D105: Missing docstring in magic method # D107: Missing docstring in __init__ # D202: No blank lines allowed after function docstring # D203: One blank line required before class docstring # D212: Multi-line docstring summary should start at the first line ignore = [ "D102", "D103", "D105", "D107", "D202", "D203", "D212", "UP038", "RUF012", ] select = [ "D", "E", "F", "Q", "W", "I", "S", "BLE", "N", "UP", "B", "A", "C4", "T20", "SIM", "RET", "ARG", "ERA", "RUF", ] [tool.ruff.lint.per-file-ignores] "test_*.py" = ["S"] [tool.ruff.format] quote-style = "double" indent-style = "space" line-ending = "lf"