Skip to content

chore(types): Phase 5 of #415, enable strict mypy checks - #471

Merged
rosspeili merged 2 commits into
ARPAHLS:mainfrom
UroojFatima-052:chore/issue-415-phase5-mypy
Nov 11, 2026
Merged

rosspeili merged 2 commits into
ARPAHLS:mainfrom
UroojFatima-052:chore/issue-415-phase5-mypy

Conversation

@UroojFatima-052

Copy link
Copy Markdown
Contributor

Closes #415

Phase 5: enables check_untyped_defs = true and disallow_incomplete_defs = true under [tool.mypy]. The overrides block was already removed in Phase 4 (#470), so mypy skillware now runs with zero overrides.

Changes

Turning on disallow_incomplete_defs surfaced 42 no-untyped-def errors, all partially annotated signatures. Annotation only, no logic changes:

  • console parameters (37): Console, or Optional[Console] = None where it defaults to None
  • input_fn parameters (10): Optional[Callable[[str], str]]
  • **kwargs in cmd_evm_dispatch, cmd_mail, cmd_addressbook_dispatch: **kwargs: Any
  • _print_menu(menu): List[Tuple[str, str, str]]; cmd_interactive(parser): Optional[argparse.ArgumentParser]
  • evm_config.get_web3: -> Any, since web3 is an optional dependency and may not be importable
  • Matching typing imports; black reflowed a few long signatures

check_untyped_defs did not surface any additional errors.

Verification

  • mypy skillware: Success, no issues in 25 files, no overrides
  • black --check skillware / flake8 skillware: clean
  • pytest tests/test_cli.py tests/test_evm_config.py: 156 passed

@rosspeili rosspeili left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me @UroojFatima-052. Merging as is! Thanks a lot <3 This completes #415 cleanly. Well done.

@rosspeili
rosspeili merged commit 6cda5e2 into ARPAHLS:main Nov 11, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat]: Type-Annotate Legacy Core Modules and Enforce Strict MyPy Mode Across Framework

2 participants