[mypy]
python_version = 3.11
show_error_codes = true
follow_imports = normal
ignore_missing_imports = true
strict_equality = true
warn_incomplete_stub = true
warn_redundant_casts = true
warn_unused_configs = true
warn_unused_ignores = true
enable_error_code = ignore-without-code
check_untyped_defs = true
disallow_incomplete_defs = true
disallow_subclassing_any = true
# https://github.com/python/mypy/issues/10757
disallow_untyped_calls = false
disallow_untyped_decorators = true
disallow_untyped_defs = true
no_implicit_optional = true
warn_return_any = true
warn_unreachable = true
no_implicit_reexport = true

[mypy-frigate.*]
ignore_errors = false

# Third-party code imported from https://github.com/ufal/whisper_streaming
[mypy-frigate.data_processing.real_time.whisper_online]
ignore_errors = true

# TODO: Remove ignores for these modules as they are updated with type annotations.

[mypy-frigate.api.*]
ignore_errors = true

[mypy-frigate.config.*]
ignore_errors = true

[mypy-frigate.debug_replay]
ignore_errors = true

[mypy-frigate.detectors.*]
ignore_errors = true

[mypy-frigate.embeddings.*]
ignore_errors = true

[mypy-frigate.http]
ignore_errors = true

[mypy-frigate.ptz.*]
ignore_errors = true

[mypy-frigate.stats.*]
ignore_errors = true

[mypy-frigate.test.*]
ignore_errors = true

[mypy-frigate.util.*]
ignore_errors = true

[mypy-frigate.video.*]
ignore_errors = true
