50 lines
1.8 KiB
INI
50 lines
1.8 KiB
INI
# mypy configuration for this repository.
|
|
#
|
|
# The repository is designed to check out and run its gates with only the standard library plus
|
|
# pytest (see pytest.ini and .github/workflows/ci.yml): frida, capstone, tiktoken and PyYAML are
|
|
# optional runtime dependencies that scripts import lazily or behind try/except, with documented
|
|
# fallbacks. Do not require them -- or their stubs -- to be installed for
|
|
# `mypy *.py skills/apk-reverse/scripts/*.py` to pass. When they *are* installed and typed
|
|
# (e.g. types-PyYAML), mypy still uses the real stubs; these overrides only apply where the module is
|
|
# missing or untyped.
|
|
#
|
|
# When installed, capstone ships no py.typed marker; frida and tiktoken are host-side extras.
|
|
# Everything else in the tree is analyzed normally, including every gate script -- which is the point:
|
|
# check_repo/check_refs/check_budget/check_routing/check_commands carry the behaviour of the whole
|
|
# repository, so they are worth type-checking rather than excluding.
|
|
#
|
|
# Enforced in CI: the `lint` job in .github/workflows/ci.yml runs mypy with exactly this
|
|
# configuration, on a bare interpreter (no frida/capstone/tiktoken/PyYAML installed), so the
|
|
# overrides below are exercised rather than skipped.
|
|
#
|
|
# Verified locally on 2026-09-22: `mypy` over 55 files reports no issues with the overrides in place,
|
|
# on a venv containing only mypy and flake8.
|
|
|
|
[mypy]
|
|
python_version = 3.9
|
|
warn_unused_ignores = False
|
|
|
|
[mypy-frida]
|
|
ignore_missing_imports = True
|
|
|
|
[mypy-frida.*]
|
|
ignore_missing_imports = True
|
|
|
|
[mypy-capstone]
|
|
ignore_missing_imports = True
|
|
|
|
[mypy-capstone.*]
|
|
ignore_missing_imports = True
|
|
|
|
[mypy-tiktoken]
|
|
ignore_missing_imports = True
|
|
|
|
[mypy-tiktoken.*]
|
|
ignore_missing_imports = True
|
|
|
|
[mypy-yaml]
|
|
ignore_missing_imports = True
|
|
|
|
[mypy-yaml.*]
|
|
ignore_missing_imports = True
|