febus982/mkdocs-macros-adr-summary

View on GitHub
pyproject.toml

Summary

Maintainability
Test Coverage
[tool.poetry]
name = "mkdocs-macros-adr-summary"
version = "0.0.0"
description = "A plugin to generate a summary of a ADR directory"
license = "MIT"
authors = ["Federico Busetti <729029+febus982@users.noreply.github.com>"]
repository = "https://github.com/febus982/mkdocs-macros-adr-summary"
homepage = "https://febus982.github.io/mkdocs-macros-adr-summary"
readme = "README.md"
packages = [{include = "mkdocs_macros_adr_summary"}]
keywords = [
    "adr",
    "architecture-decision-records",
    "mkdocs",
    "mkdocs-plugin",
    "mkdocs-macro",
    "mkdocs-macro-plugin",
    "nygard",
]
classifiers = [
    "Development Status :: 4 - Beta",
    "Framework :: MkDocs",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Natural Language :: English",
    "Operating System :: OS Independent",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3 :: Only",
    "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 :: Documentation",
    "Topic :: Software Development",
    "Topic :: Software Development :: Documentation",
    "Topic :: Software Development :: Libraries",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Typing :: Typed",
]

[tool.poetry-dynamic-versioning]
enable = true

[build-system]
requires = ["poetry-core", "poetry-dynamic-versioning"]
build-backend = "poetry_dynamic_versioning.backend"

[tool.poetry.dependencies]
mistune = "^3.0.2"
mkdocs = "^1.4.3"
mkdocs-macros-plugin = "^1.0.5"
python = ">=3.8,<3.13"
pyyaml = "^6.0.1"

[tool.poetry.group.dev]
optional = true

[tool.poetry.group.dev.dependencies]
coverage = "*"
mkdocs-awesome-pages-plugin = "*"
mkdocs-material = "*"
mike = "*"
mypy = "*"
pymdown-extensions = "*"
pytest = "*"
pytest-cov = "*"
pytest-factoryboy = "*"
pytest-xdist = "*"
ruff = "*"
types-pyyaml = "^6.0.12.12"

############################
### Tools configuration  ###
############################

[tool.coverage.run]
branch = true
source = ["mkdocs_macros_adr_summary"]
# It's not necessary to configure concurrency here
# because pytest-cov takes care of that

[tool.coverage.report]
fail_under = 100
exclude_also = [
    "pragma: no cover",
    "pass",
    "\\.\\.\\.",
    ]

[tool.mypy]
files = "mkdocs_macros_adr_summary"

[[tool.mypy.overrides]]
module = [
    "mkdocs_macros.*",
]
ignore_missing_imports = true

[tool.pytest.ini_options]
asyncio_mode = "auto"
minversion = "6.0"
addopts = "-n auto --cov-report=term-missing"
testpaths = [
    "tests",
]

[tool.ruff]
extend-exclude = ["docs", ".tox"]
target-version = "py38"

[tool.ruff.lint]
select = [
    "E",  # pycodestyle
    "W",  # pycodestyle
    "F",  # pyflakes
    "I",  # isort
    "N",  # pep8-naming
    "S",  # flake8-bandit
    "RUF",  # ruff-specific-rules
]
# Ignoring rules problematic with formatter
# https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules
ignore = [
    "W191",
    "E111",
    "E114",
    "E117",
    "D206",
    "D300",
    "Q000",
    "Q001",
    "Q002",
    "Q003",
    "COM812",
    "COM819",
    "ISC001",
    "ISC002",
]

[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401"]  # Ignore unused imports on init files
"tests/**/*.py" = ["S101"]  # Allow assert usage on tests