[tool.poetry] authors = ["Robert Kaussow "] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "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.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Utilities", "Topic :: Software Development", "Topic :: Software Development :: Documentation", ] description = "Generate documentation from annotated Ansible roles using templates." documentation = "https://ansible-doctor.geekdocs.de/" homepage = "https://ansible-doctor.geekdocs.de/" include = ["LICENSE"] keywords = ["ansible", "role", "documentation"] license = "GPL-3.0-only" name = "ansible-doctor" packages = [{ include = "ansibledoctor" }] readme = "README.md" repository = "https://github.com/thegeeklab/ansible-doctor/" version = "0.0.0" [tool.poetry.dependencies] Jinja2 = "3.1.3" anyconfig = "0.14.0" appdirs = "1.4.4" colorama = "0.4.6" environs = "11.0.0" jsonschema = "4.22.0" pathspec = "0.12.1" python = "^3.9.0" python-json-logger = "2.0.7" "ruamel.yaml" = "0.18.6" ansible-core = { version = "2.14.16", optional = true } [tool.poetry.extras] ansible-core = ["ansible-core"] [tool.poetry.scripts] ansible-doctor = "ansibledoctor.cli:main" [tool.poetry.group.dev.dependencies] ruff = "0.4.3" pytest = "8.2.0" 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 = "ansibledoctor --cov=ansibledoctor --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_dynamic_versioning.backend" requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"] [tool.ruff] exclude = [ ".git", "__pycache__", "build", "dist", "test", "*.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.format] quote-style = "double" indent-style = "space" line-ending = "lf"