[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", "Topic :: Utilities", "Topic :: Software Development", "Topic :: Software Development :: Documentation", ] description = "Build environment for Ansible Collection." license = "MIT" name = "xoxys.general" readme = "README.md" repository = "https://gitea.rknet.org/ansible/xoxys.general" version = "0.0.0" [tool.poetry.dependencies] python = "^3.8.0" ansible-core = { version = "<=2.14.0", optional = true } pyopenssl = "23.0.0" proxmoxer = "2.0.1" hcloud = "1.18.2" [tool.poetry.extras] ansible = ["ansible-core"] [tool.poetry.group.dev.dependencies] ruff = "0.0.230" pytest = "7.2.1" pytest-mock = "3.10.0" pytest-cov = "4.0.0" toml = "0.10.2" yapf = "0.32.0" pycodestyle = "2.10.0" yamllint = "1.29.0" pylint = "2.15.0" voluptuous = "0.13.1" pytest-ansible = "3.1.5" pytest-forked = "1.6.0" pytest-xdist = "3.3.1" [tool.pytest.ini_options] addopts = "--cov --cov-report=xml:coverage.xml --cov-report=term --cov-append --no-cov-on-fail" pythonpath = [ "." ] testpaths = [ "tests", ] filterwarnings = [ "ignore::FutureWarning", "ignore::DeprecationWarning", "ignore:.*pep8.*:FutureWarning", "ignore:AnsibleCollectionFinder.*:UserWarning" ] [tool.coverage.run] omit = ["**/tests/*"] [build-system] build-backend = "poetry.core.masonry.api" requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"] [tool.ruff] exclude = [ ".git", "__pycache__", "build", "dist", "tests", "*.pyc", "*.egg-info", ".cache", ".eggs", "env*", ".venv", "iptables_raw.py", ] # 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 # E402: Module level import not at top of file # SIM105: Use `contextlib.suppress(Exception)` instead of try-except-pass # C402: Unnecessary generator (rewrite as a `dict` comprehension) # C408: Unnecessary `dict` call (rewrite as a literal) # I001: Import block is un-sorted or un-formatted # UP001: `__metaclass__ = type` is implied # UP009: UTF-8 encoding declaration is unnecessary # UP010: Unnecessary `__future__` imports `absolute_import`, `division`, `print_function` for target Python version ignore = [ "D102", "D103", "D105", "D107", "D202", "D203", "D212", "E402", "SIM105", "C402", "C408", "I001", "UP001", "UP009", "UP010", ] 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