[tool.mypy] disallow_any_generics = true explicit_package_bases = true ignore_missing_imports = true namespace_packages = true no_implicit_optional = true pretty = true show_column_numbers = true warn_redundant_casts = true warn_return_any = true warn_unreachable = true exclude = ["thirdparty/"] python_version = "3.8" [tool.ruff] extend-exclude = ["thirdparty"] extend-include = ["SConstruct", "SCsub"] line-length = 120 target-version = "py38" [tool.ruff.lint] extend-select = [ "I", # isort ] [tool.ruff.lint.per-file-ignores] "{SConstruct,SCsub}" = [ "E402", # Module level import not at top of file "F403", # Undefined local with import star "F405", # Undefined local with import star usage ] [tool.ruff.lint.isort] sections = { metadata = ["misc.utility.scons_hints"] } section-order = [ "future", "metadata", "standard-library", "third-party", "first-party", "local-folder", ] [tool.codespell] enable-colors = true write-changes = true check-hidden = true quiet-level = 3 builtin = ["clear", "rare", "en-GB_to_en-US"] skip = [ ".mailmap", "*.desktop", "*.gitignore", "*.po", "*.pot", "*.rc", "AUTHORS.md", "COPYRIGHT.txt", "core/input/gamecontrollerdb.txt", "core/string/locales.h", "DONORS.md", "editor/project_converter_3_to_4.cpp", "platform/android/java/lib/src/com/*", "platform/web/package-lock.json", ] ignore-words-list = [ "breaked", "cancelled", "checkin", "colour", "curvelinear", "doubleclick", "expct", "findn", "gird", "hel", "inout", "labelin", "lod", "mis", "nd", "numer", "ot", "outin", "parm", "requestor", "streamin", "te", "textin", "thirdparty", "vai", ]