disko/pyproject.toml
Felix Uhl ae7891e21f disko2: Fix all mypy type checking errors
Belongs to d382a3cccf, but I authored that
on another machine.

Making sure vscode uses mypy from the environment is very important now,
because some of these errors get triggered in different ways depending
on the version.
2024-11-17 19:39:07 +01:00

59 lines
1.5 KiB
TOML

[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "disko2"
version = "2.0.0-preview"
[project.scripts]
disko2 = "disko:main"
[tool.setuptools]
package-dir = { "" = "src" }
[tool.setuptools.package-data]
"*" = ["*.nix"]
[tool.mypy]
mypy_path = "src"
warn_unused_configs = true
# We don't use `strict = true` but write out all individual flags because
# strict is not strict enough and its meaning may change in the future.
# See https://mypy.readthedocs.io/en/stable/config_file.html#confval-strict
# Disallow dynamic typing
disallow_any_unimported = true
disallow_any_expr = true
disallow_any_decorated = true
disallow_any_explicit = false # We need to be able to use `Any` as an input parameter to some functions
disallow_any_generics = true
disallow_subclassing_any = true
# Untyped definitions and calls
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
# Warnings
warn_redundant_casts = true
warn_unused_ignores = true
warn_no_return = true
warn_return_any = true
warn_unreachable = true
# Miscellaneous strictness flags
no_implicit_reexport = true
strict_equality = true
extra_checks = true
enable_error_code = "ignore-without-code"
# Error message control
show_error_context = true
show_error_code_links = true
pretty = true
[tool.pytest.ini_options]
pythonpath = ["src"]
addopts = ["--doctest-modules"]
[tool.autoflake]
remove_all_unused_imports = true
in_place = true