Browse Source

Add mypy config and mypy-zope-plugin (#357)

Signed-off-by: H.Shay <shaysquared@gmail.com>
Hillery Shay 2 years ago
parent
commit
56fbed05f1

+ 1 - 0
changelog.d/357.misc

@@ -0,0 +1 @@
+Add a mypy.ini and add missing modules to ignore, add mypy-zope plugin, and remove inline type-ignore comments. 

+ 21 - 1
pyproject.toml

@@ -38,4 +38,24 @@
 profile = "black"
 
 [tool.black]
-target-version = ['py36']
+target-version = ['py36']
+
+[tool.mypy]
+plugins = "mypy_zope:plugin"
+show_error_codes = true
+namespace_packages = true
+
+[[tool.mypy.overrides]]
+module = [
+    "idna",
+    "nacl.*",
+    "netaddr",
+    "OpenSSL",
+    "prometheus_client",
+    "phonenumbers",
+    "signedjson.*",
+    "sortedcontainers",
+    "unpaddedbase64"
+]
+ignore_missing_imports = true
+

+ 4 - 0
setup.py

@@ -56,6 +56,10 @@ setup(
         "flake8==3.9.2",
         "black==21.5b1",
         "isort==5.8.0",
+        "mypy>=0.902",
+        "mypy-zope>=0.3.1",
+        "types-PyYAML",
+        "types-mock",
     ],
     # make sure we package the sql files
     include_package_data=True,

+ 1 - 0
sydent/db/threepid_associations.py

@@ -22,6 +22,7 @@ from sydent.util import time_msec
 if TYPE_CHECKING:
     from sydent.sydent import Sydent
 
+
 logger = logging.getLogger(__name__)
 
 

+ 1 - 1
sydent/hs_federation/verifier.py

@@ -21,7 +21,7 @@ import signedjson.sign  # type: ignore
 from signedjson.sign import SignatureVerifyException
 from twisted.internet import defer
 from twisted.web.server import Request
-from unpaddedbase64 import decode_base64  # type: ignore
+from unpaddedbase64 import decode_base64
 
 from sydent.http.httpclient import FederationHttpClient
 from sydent.util.stringutils import is_valid_matrix_server_name

+ 1 - 1
sydent/replication/peer.py

@@ -25,7 +25,7 @@ from twisted.internet import defer
 from twisted.internet.defer import Deferred
 from twisted.web.client import readBody
 from twisted.web.iweb import IResponse
-from unpaddedbase64 import decode_base64  # type: ignore
+from unpaddedbase64 import decode_base64
 
 from sydent.config import ConfigError
 from sydent.db.hashing_metadata import HashingMetadataStore

+ 1 - 1
sydent/threepid/signer.py

@@ -14,7 +14,7 @@
 
 from typing import TYPE_CHECKING, Any, Dict
 
-import signedjson.sign  # type: ignore
+import signedjson.sign
 
 if TYPE_CHECKING:
     from sydent.sydent import Sydent