godot/pyproject.toml

[tool.mypy]
ignore_missing_imports = true
disallow_any_generics = true
no_implicit_optional = true
pretty = true
show_column_numbers = true
warn_redundant_casts = true
warn_return_any = true
warn_unreachable = true
namespace_packages = true
explicit_package_bases = true
exclude = ["thirdparty/"]
python_version = "3.8"

[tool.ruff]
extend-exclude = ["thirdparty"]
extend-include = ["SConstruct", "SCsub"]
line-length = 120
target-version = "py37"

[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 = ""
write-changes = ""
check-hidden = ""
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,
	te,
	textin,
	thirdparty,
	vai
"""