[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.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "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.13.0" appdirs = "1.4.4" colorama = "0.4.6" environs = "9.5.0" jsonschema = "4.17.3" nested-lookup = "0.2.25" prometheus-client = "0.17.1" proxmoxer = "2.0.1" python = "^3.7.0" python-json-logger = "2.0.7" requests = "2.31.0" "ruamel.yaml" = "0.17.32" [tool.poetry.scripts] prometheus-pve-sd = "prometheuspvesd.cli:main" [tool.poetry.group.dev.dependencies] ruff = "0.0.277" pytest = "7.4.0" pytest-mock = "3.11.1" pytest-cov = "4.1.0" toml = "0.10.2" yapf = "0.40.1" [tool.poetry-dynamic-versioning] enable = true style = "semver" vcs = "git" [tool.isort] default_section = "THIRDPARTY" force_single_line = true line_length = 99 sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"] skip_glob = ["**/.env*", "**/env/*", "**/.venv/*", "**/docs/*"] [tool.pytest.ini_options] addopts = "prometheuspvesd --cov=prometheuspvesd --cov-report=xml:coverage.xml --cov-report=term --no-cov-on-fail" filterwarnings = [ "ignore::FutureWarning", "ignore::DeprecationWarning", "ignore:.*pep8.*:FutureWarning", ] [tool.coverage.run] omit = ["**/test/*"] [build-system] build-backend = "poetry.core.masonry.api" requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"] [tool.ruff] exclude = [ ".git", "__pycache__", "build", "dist", "test", "*.pyc", "*.egg-info", ".cache", ".eggs", "env*", ] # 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", ] line-length = 99 select = [ "D", "E", "F", "Q", "W", "I", "S", "BLE", "N", "UP", "B", "A", "C4", "T20", "SIM", "RET", "ARG", "ERA", "RUF", ] [tool.ruff.flake8-quotes] inline-quotes = "double" [tool.yapf] based_on_style = "google" column_limit = 99 dedent_closing_brackets = true coalesce_brackets = true split_before_logical_operator = true indent_dictionary_value = true allow_split_before_dict_value = false