Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: add mypy #10874

Merged
merged 17 commits into from
Mar 9, 2022
Merged

chore: add mypy #10874

merged 17 commits into from
Mar 9, 2022

Commits on Mar 7, 2022

  1. chore(deps): install mypy in lint.in

    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    187169c View commit details
    Browse the repository at this point in the history
  2. chore(deps): include more types-* packages for mypy

    These were suggested from running mypy on the codebase.
    
    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    f9be9ac View commit details
    Browse the repository at this point in the history
  3. chore: configure mypy

    Set configuration for mypy.
    
    Exclude some of the subdirectories we are not interested in testing to
    speed up mypy execution.
    
    Ignore any 3rd party modules that we do not have types for yet.
    Added links that I could find to help track completion.
    
    Does **not** set `strict` mode yet, since that's a bigger lift.
    
    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    ad707cd View commit details
    Browse the repository at this point in the history
  4. chore: add mypy runner script

    Eventually this command should fold into `bin/lint` and be removed.
    
    For now, it's a convenient execution wrapper.
    
    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    fffeadb View commit details
    Browse the repository at this point in the history
  5. lint: ignore dynamic properties

    Callables are receiving dynamic attributes, something that isn't "usual".
    
    See python/mypy#708
    
    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    49e5822 View commit details
    Browse the repository at this point in the history
  6. lint: ignore lambdas

    See python/mypy#4226
    
    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    4afc312 View commit details
    Browse the repository at this point in the history
  7. lint: ignore hybrid_property repeat definitions

    Part of the SQLAlchemy extensions, which do not yet have reliable
    stubs/plugins.
    
    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    83631ae View commit details
    Browse the repository at this point in the history
  8. lint: ignore sqlalchemy declarative

    Should come along with sqlalchemy stubs.
    
    See: https://docs.sqlalchemy.org/en/14/orm/extensions/mypy.html#using-declared-attr-and-declarative-mixins
    
    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    b1e978b View commit details
    Browse the repository at this point in the history
  9. lint: a few more ignores

    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    ed4be0f View commit details
    Browse the repository at this point in the history
  10. lint: interface methods shouldn't use self

    Surfaced via mypy, corrected!
    
    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    5451699 View commit details
    Browse the repository at this point in the history
  11. lint: correct subclass path

    Surfaced via mypy, corrected.
    
    Unclear why this wouldn't have been caught by other tools.
    
    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    5c754ce View commit details
    Browse the repository at this point in the history
  12. lint: rename internal variable

    mypy detected this as a type mismatch, as the internal variable name was
    shadowing the externally-supplied one, and changing the type.
    
    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    69a07b9 View commit details
    Browse the repository at this point in the history
  13. lint: ignore flake8 line too long for ignored types

    Adding a `# type: ignore` comment to a couple of places triggered
    flake8's line too long check.
    
    Running `make reformat` did nothing for these - black has outstanding
    design issues with line length and comments.
    
    See psf/black#1713 for one example.
    
    Instead of changing the line structure to accommodate, ignore these two
    cases, at least until the types can be fixed and the comments removed.
    
    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    3f1b9bb View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2022

  1. Revert "chore: add mypy runner script"

    This reverts commit fffeadb.
    miketheman committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    37f6038 View commit details
    Browse the repository at this point in the history
  2. test: include mypy in lint execution

    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    c0f245a View commit details
    Browse the repository at this point in the history
  3. chore(deps): include itsdangerous type stubs

    Until itsdangerous 2.0 is included, this types package is needed.
    
    Signed-off-by: Mike Fiedler <miketheman@gmail.com>
    miketheman committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    3dbe8df View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    df2be72 View commit details
    Browse the repository at this point in the history