Ctrl K
ComunidadGuías…

pyproject.toml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[tool.uv]
package = false

[dependency-groups]
dev = [
    "ruff>=0.8",
    "pyright>=1.1",
    "codespell>=2.0",
    "tox>=4.0",
    "pytest>=8.0",
    "pytest-cov>=4.0",
    "coverage>=7.0",
    "ops[testing]>=2.17",
]

[tool.ruff]
line-length = 99
target-version = "py312"

[tool.ruff.lint]
select = [
    "E",   # pycodestyle errors
    "W",   # pycodestyle warnings
    "F",   # pyflakes
    "I",   # isort
    "N",   # pep8-naming
    "UP",  # pyupgrade
    "B",   # flake8-bugbear
    "C4",  # flake8-comprehensions
    "SIM", # flake8-simplify
    "RUF", # ruff-specific rules
]
ignore = [
    "E501",  # line too long (handled by formatter)
]

[tool.ruff.lint.per-file-ignores]
"tests/**" = [
    "D",    # pydocstyle - no docstrings required in tests
]

[tool.ruff.lint.isort]
known-first-party = ["charmarr"]

[tool.ruff.format]
quote-style = "double"
indent-style = "space"
line-ending = "lf"

[tool.pyright]
pythonVersion = "3.12"
pythonPlatform = "Linux"
typeCheckingMode = "standard"
exclude = [
    "**/__pycache__",
    "**/.*",
    ".venv",
]
reportMissingImports = true
reportMissingTypeStubs = false
reportUnusedImport = true
reportUnusedVariable = true
reportDuplicateImport = true
reportPrivateUsage = true
reportUnnecessaryIsInstance = true
reportUnnecessaryCast = true
reportUnnecessaryComparison = true
reportConstantRedefinition = true
reportIncompatibleMethodOverride = true
reportIncompatibleVariableOverride = true
reportUntypedFunctionDecorator = false
reportUntypedClassDecorator = false

[tool.coverage.report]
exclude_lines = [
    "pragma: no cover",
    "def __repr__",
    "raise AssertionError",
    "raise NotImplementedError",
    "if __name__ == .__main__.:",
    "if TYPE_CHECKING:",
    "@abstractmethod",
]

[tool.pytest.ini_options]
minversion = "8.0"
addopts = "-v --tb=short"
log_cli_level = "INFO"