Files
LEDMatrix/mypy.ini
T
ChuckandClaude Opus 5.5 aeaeaa4e94 chore: make contributor tooling work; fix drifted docs (#648)
- mypy.ini parses again (multi-line exclude and inline value comments made
  mypy reject the file); the mypy pre-commit hook is manual-only until the
  ~500 existing errors in src/ are paid down, and CONTRIBUTING says so
- .gitignore: ignore all of config/ except the templates (ytm_auth.json and
  others weren't ignored)
- .gitattributes: LF for .sh and .service
- claude-code-review: skip fork PRs, which have no secrets
- check_system_compatibility.sh: 3.13 supported, <3.10 an error
- docs/scripts drift: emulator guide, README API Metrics, route count,
  docs index, scripts README; pyflakes nits in dev scripts

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 08:26:55 -04:00

104 lines
2.1 KiB
INI

[mypy]
# Mypy configuration for LEDMatrix
# What a bare `mypy` checks. ini values can't span lines or carry trailing
# comments -- this file used to have both, so mypy refused to read it at all.
files = src
exclude = (^|/)(test|__pycache__)/
# Python version
python_version = 3.10
# Platform (Linux/Raspberry Pi)
platform = linux
# Follow imports
follow_imports = normal
# Ignore missing imports (for optional dependencies)
ignore_missing_imports = True
# Show error codes
show_error_codes = True
# Warn about unused ignores
warn_unused_ignores = True
# Warn about unreachable code
warn_unreachable = True
# Strict optional checking
strict_optional = True
# Disallow untyped definitions (set to True once all code is typed)
disallow_untyped_defs = False
# Disallow untyped calls (set to True once all code is typed)
disallow_untyped_calls = False
# Check untyped definitions
check_untyped_defs = True
# No implicit optional
no_implicit_optional = True
# Warn about return Any
warn_return_any = True
# Warn about unused configs
warn_unused_configs = True
# Per-module options
[mypy-src.*]
# Allow untyped for now, but check typed code
disallow_untyped_defs = False
disallow_untyped_calls = False
[mypy-src.cache_manager]
# Cache manager has comprehensive type hints
disallow_untyped_defs = True
disallow_untyped_calls = True
[mypy-src.config_manager]
# Config manager has comprehensive type hints
disallow_untyped_defs = True
disallow_untyped_calls = True
[mypy-src.plugin_system.*]
# Plugin system has type hints
disallow_untyped_defs = False
disallow_untyped_calls = False
[mypy-src.exceptions]
# Exceptions module
disallow_untyped_defs = True
# Ignore third-party libraries that may not have type stubs
[mypy-rgbmatrix.*]
ignore_missing_imports = True
[mypy-RGBMatrixEmulator.*]
ignore_missing_imports = True
[mypy-PIL.*]
ignore_missing_imports = True
[mypy-freetype.*]
ignore_missing_imports = True
[mypy-pytz.*]
ignore_missing_imports = True
[mypy-requests.*]
ignore_missing_imports = True
[mypy-Flask.*]
ignore_missing_imports = True
[mypy-google.*]
ignore_missing_imports = True
[mypy-spotipy.*]
ignore_missing_imports = True