mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-10-04 06:15:09 +00:00
- 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>
104 lines
2.1 KiB
INI
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
|
|
|