feat(mypy): configure mypy settings and add module overrides for gradual typing (#2101)

This commit is contained in:
Adil Zouitine
2025-10-01 15:14:41 +02:00
committed by GitHub
parent 5dfdec9288
commit 6d331310ab

View File

@@ -272,17 +272,8 @@ default.extend-ignore-identifiers-re = [
# [tool.mypy] # [tool.mypy]
# python_version = "3.10" # python_version = "3.10"
# Exclude examples, benchmarks, and tests from type checking
# exclude = [
# "examples/",
# "benchmarks/",
# "tests/",
# ]
# Ignore missing imports for third-party libraries without stubs
# ignore_missing_imports = true # ignore_missing_imports = true
# Don't follow imports - only check files explicitly passed to mypy
# follow_imports = "skip" # follow_imports = "skip"
# Gradual typing - start lenient, enable these as code improves:
# warn_return_any = true # warn_return_any = true
# warn_unused_configs = true # warn_unused_configs = true
# strict = true # strict = true
@@ -290,71 +281,73 @@ default.extend-ignore-identifiers-re = [
# disallow_incomplete_defs = true # disallow_incomplete_defs = true
# check_untyped_defs = true # check_untyped_defs = true
# [[tool.mypy.overrides]]
# module = "lerobot.*"
# ignore_errors = true
# [[tool.mypy.overrides]]
# module = "lerobot.envs.*"
# # Enable type checking only for the envs module
# ignore_errors = false
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.utils.*" # module = "lerobot.utils.*"
# follow_imports = "normal" # ignore_errors = false
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.configs.*" # module = "lerobot.configs.*"
# follow_imports = "normal" # ignore_errors = false
# # Data processing modules # PHASE 2: Core modules
# [[tool.mypy.overrides]]
# module = "lerobot.processor.*"
# follow_imports = "normal"
# [[tool.mypy.overrides]]
# module = "lerobot.datasets.*"
# follow_imports = "normal"
# # Core machine learning modules
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.optim.*" # module = "lerobot.optim.*"
# follow_imports = "normal" # ignore_errors = false
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.model.*" # module = "lerobot.model.*"
# follow_imports = "normal" # ignore_errors = false
# [[tool.mypy.overrides]]
# module = "lerobot.processor.*"
# ignore_errors = false
# [[tool.mypy.overrides]]
# module = "lerobot.datasets.*"
# ignore_errors = false
# # Hardware interfaces
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.cameras.*" # module = "lerobot.cameras.*"
# follow_imports = "normal" # ignore_errors = false
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.motors.*" # module = "lerobot.motors.*"
# follow_imports = "normal" # ignore_errors = false
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.robots.*" # module = "lerobot.robots.*"
# follow_imports = "normal" # ignore_errors = false
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.teleoperators.*" # module = "lerobot.teleoperators.*"
# follow_imports = "normal" # ignore_errors = false
# # Complex modules (enable these last)
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.policies.*" # module = "lerobot.policies.*"
# follow_imports = "normal" # ignore_errors = false
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.rl.*" # module = "lerobot.rl.*"
# follow_imports = "normal" # ignore_errors = false
# Currently checking only the envs module
# [[tool.mypy.overrides]]
# module = "lerobot.envs.*"
# follow_imports = "normal"
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.async_inference.*" # module = "lerobot.async_inference.*"
# follow_imports = "normal" # ignore_errors = false
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.transport.*" # module = "lerobot.transport.*"
# follow_imports = "normal" # ignore_errors = false
# [[tool.mypy.overrides]] # [[tool.mypy.overrides]]
# module = "lerobot.scripts.*" # module = "lerobot.scripts.*"
# follow_imports = "normal" # ignore_errors = false