[project] authors = [ {name = "Joe Banks", email = "joe@jb3.dev"}, {name = "Chris Lovering", email = "chris@jb3.dev"}, ] license = {text = "MIT"} requires-python = "~=3.13.0" dependencies = [ "pydis-core==11.6.0", "audioop-lts==0.2.1", "beautifulsoup4==4.13.3", "humanize==4.12.1", "jishaku==2.6.0", "kubernetes-asyncio==32.0.0", "loguru==0.7.3", "pydantic==2.10.6", "pydantic-settings==2.8.0", "python-freeipa==1.0.9", "python-keycloak==5.3.1", "sentry-sdk==2.22.0", "tabulate[widechars]==0.9.0", "wand==0.6.13", ] name = "king-arthur" version = "1.0.0" description = "King Arthur is a helper for the Python Discord DevOps team." [dependency-groups] dev = [ "pre-commit==4.1.0", "ruff==0.9.6", ] [project.optional-dependencies] ldap = [ "bonsai<2.0.0,>=1.5.3", ] [tool.ruff] target-version = "py313" extend-exclude = [".cache"] line-length = 100 unsafe-fixes = true output-format = "concise" [tool.ruff.lint] select = ["ALL"] ignore = [ "ANN002", "ANN003", "ANN204", "ANN206", "ANN401", "B904", "C401", "C408", "CPY001", "D100", "D104", "D105", "D107", "D203", "D212", "D214", "D215", "D301", "D400", "D401", "D402", "D404", "D405", "D406", "D407", "D408", "D409", "D410", "D411", "D412", "D413", "D414", "D416", "D417", "E731", "RET504", "RUF005", "S311", "SIM102", "SIM108", "PD", "PLR0913", "PLR0917", "PLR6301", "DTZ003", # Rules suggested to be ignored when using ruff format "COM812", "D206", "E111", "E114", "E117", "E501", "ISC001", "Q000", "Q001", "Q002", "Q003", "W191", ] [tool.ruff.lint.per-file-ignores] # McCabe is not supported on Linux systems "arthur/apis/systems/*.py" = ["C901", "PLR0912", "PERF401", "PLR2004"] # Bug in complexity calculation, similar to the above "arthur/exts/systems/system_information.py" = ["C901", "PLR2004"] [tool.ruff.lint.isort] order-by-type = false case-sensitive = true combine-as-imports = true