jw-pkg/conf/templates/pyproject.toml
Jan Lindemann 64edcec48c
pyproject.toml: Enable mypy.disallow_any_generics
Add disallow_any_generics = true to the mypy configuration. This
requires all generic types (dict, list, Iterable, Types, etc.) to
have explicit type arguments instead of using bare generic aliases.

Assisted-by: unsloth/Qwen3.6-35B-A3B-GGUF:IQ4_NL and pi.dev 0.81.1
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-08-07 18:02:27 +02:00

97 lines
1.7 KiB
TOML

[tool.mypy]
{mypypath}
warn_redundant_casts = true
strict_equality = true
disallow_any_generics = true
enable_error_code = [
"explicit-override",
"ignore-without-code",
"possibly-undefined",
"truthy-bool",
]
[tool.isort]
lines_between_sections = 1
lines_between_types = 1
# Make sure external deps are classified above
known_third_party = [
"yaml",
]
# Define semantic/dependency layers.
sections = [
"FUTURE",
"STDLIB",
"THIRDPARTY",
"JW_BASIC",
"FIRSTPARTY",
"LOCALFOLDER",
]
known_jw_basic = [
"jw.pkg",
]
# Catch other jw.* imports not assigned to a finer section.
known_first_party = [
"jw",
]
[tool.ruff]
line-length = 88
output-format = "concise"
[tool.ruff.format]
quote-style = "single"
[tool.ruff.lint]
future-annotations = true
select = [
"F", # Pyflakes, includes F401
"E", # pycodestyle errors
"W", # pycodestyle warnings
"TC", # type-checking import placement rules
"FA", # future annotations rules
]
ignore = [
"E251",
]
unfixable = [
"E251",
]
[tool.yapf]
based_on_style = "pep8"
column_limit = 88
indent_width = 4
continuation_indent_width = 4
continuation_align_style = "space"
dedent_closing_brackets = true
coalesce_brackets = false
split_all_comma_separated_values = false
split_all_top_level_comma_separated_values = true
split_before_first_argument = true
split_arguments_when_comma_terminated = true
split_before_expression_after_opening_paren = true
spaces_around_default_or_named_assign = true
blank_line_before_nested_class_or_def = true
blank_lines_around_top_level_definition = 1