Add type checking in our CI tests using mypy
#292
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a type checking step to our CI tests using
mypy.For files where type checking flagged an error and it was obvious to me what the fix was, I fixed the problem. Otherwise, I (hopefully temporarily) used
ignore_errorsto avoid blowing up this PR completely.The sole file with larger changes in this PR is
verifyproblem.py, as I felt it was the most important file to get type checking coverage for. There, the way we access problemparts (introduced in #286) viaproblem.classesturned out to be particularly problematic. I know the intent is to follow up #286 with restructuring to avoid that access completely, but to get this past type checking in a decently clean way, I added a new methodgetProblemPartto replace access via.classes.