[mypy] python_version = 3.13 # Type-check as if the target is Linux regardless of where mypy runs. # OpenSRE's agent bus and PTY-backed subprocess plumbing use POSIX-only # APIs (``socket.AF_UNIX``, ``fcntl.flock``, ``pty.openpty``) that # typeshed exposes only on POSIX. Without this pin, the ``windows-quality`` # job reports false-positive ``attr-defined`` errors against modules # whose Windows variants legitimately lack those names. Runtime guards # (``try/except OSError`` around ``openpty``, the bus module being a # no-op when ``AF_UNIX`` is missing) are what keep Windows runs safe; # this pin only affects static checks. platform = linux warn_return_any = True warn_unused_configs = True disallow_untyped_defs = False ignore_missing_imports = False # Tests are not type-checked. Top-level ``tests/`` is excluded by living outside # the mypy source paths; gateway tests live under ``gateway/tests`` (see # gateway/AGENTS.md) so they are excluded explicitly here to match that policy. exclude = ^gateway/tests/ # Ignore boto3 import errors - stubs are installed but mypy needs explicit config [mypy-boto3.*] ignore_missing_imports = True [mypy-botocore.*] ignore_missing_imports = True [mypy-kubernetes] ignore_missing_imports = True [mypy-requests] ignore_missing_imports = True [mypy-questionary] ignore_missing_imports = True [mypy-questionary.*] ignore_missing_imports = True [mypy-confluent_kafka] ignore_missing_imports = True [mypy-confluent_kafka.*] ignore_missing_imports = True [mypy-apscheduler] ignore_missing_imports = True [mypy-apscheduler.*] ignore_missing_imports = True [mypy-pyodbc] ignore_missing_imports = True [mypy-pyfiglet] ignore_missing_imports = True # Hugging Face `datasets` has no py.typed; error is attributed to the importer. [mypy-integrations.opensre.hf_remote] disable_error_code = import-untyped # Per-module overrides [mypy-core.tool_framework.utils.data_validation] check_untyped_defs = False