Skip to content

Commit 484916d

Browse files
author
David Robertson
committed
Run mypy
1 parent cf9384d commit 484916d

4 files changed

Lines changed: 25 additions & 8 deletions

File tree

pyproject.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,11 @@ known_first_party = ["signedjson", "tests"]
4343

4444
[tool.black]
4545
# Placeholder for now.
46+
47+
[tool.mypy]
48+
files = ["signedjson", "tests"]
49+
show_error_codes = true
50+
51+
[[tool.mypy.overrides]]
52+
module = ["canonicaljson"]
53+
ignore_missing_imports = true

signedjson/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@
1515
try:
1616
from importlib.metadata import PackageNotFoundError, version
1717
except ImportError: # pragma: nocover
18-
from importlib_metadata import PackageNotFoundError, version
18+
from importlib_metadata import ( # type: ignore[import, no-redef]
19+
PackageNotFoundError,
20+
version,
21+
)
1922

2023
try:
2124
__version__ = version(__name__)

signedjson/key.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import nacl.signing
2121
from unpaddedbase64 import decode_base64, encode_base64
2222

23-
from signedjson.types import SigningKey, VerifyKey
23+
from signedjson.types import SigningKey, VerifyKey, VerifyKeyWithExpiry
2424

2525
NACL_ED25519 = "ed25519"
2626
SUPPORTED_ALGORITHMS = [NACL_ED25519]
@@ -34,7 +34,7 @@ def generate_signing_key(version):
3434
Returns:
3535
A SigningKey object.
3636
"""
37-
key = nacl.signing.SigningKey.generate()
37+
key: SigningKey = nacl.signing.SigningKey.generate() # type: ignore[assignment]
3838
key.version = version
3939
key.alg = NACL_ED25519
4040
return key
@@ -43,7 +43,7 @@ def generate_signing_key(version):
4343
def get_verify_key(signing_key):
4444
# type: (SigningKey) -> VerifyKey
4545
"""Get a verify key from a signing key"""
46-
verify_key = signing_key.verify_key
46+
verify_key: VerifyKey = signing_key.verify_key # type: ignore[assignment]
4747
verify_key.version = signing_key.version
4848
verify_key.alg = signing_key.alg
4949
return verify_key
@@ -61,7 +61,7 @@ def decode_signing_key_base64(algorithm, version, key_base64):
6161
"""
6262
if algorithm == NACL_ED25519:
6363
key_bytes = decode_base64(key_base64)
64-
key = nacl.signing.SigningKey(key_bytes)
64+
key: SigningKey = nacl.signing.SigningKey(key_bytes) # type: ignore[assignment]
6565
key.version = version
6666
key.alg = NACL_ED25519
6767
return key
@@ -126,7 +126,7 @@ def decode_verify_key_bytes(key_id, key_bytes):
126126
"""
127127
if key_id.startswith(NACL_ED25519 + ":"):
128128
version = key_id[len(NACL_ED25519) + 1 :]
129-
key = nacl.signing.VerifyKey(key_bytes)
129+
key: VerifyKey = nacl.signing.VerifyKey(key_bytes) # type: ignore[assignment]
130130
key.version = version
131131
key.alg = NACL_ED25519
132132
return key
@@ -151,7 +151,7 @@ def read_signing_keys(stream):
151151

152152

153153
def read_old_signing_keys(stream):
154-
# type: (Iterable[str]) -> List[VerifyKey]
154+
# type: (Iterable[str]) -> List[VerifyKeyWithExpiry]
155155
"""Reads a list of old keys from a stream
156156
Args:
157157
stream : A stream to iterate for keys.
@@ -161,7 +161,9 @@ def read_old_signing_keys(stream):
161161
keys = []
162162
for line in stream:
163163
algorithm, version, expired, key_base64 = line.split()
164-
key = decode_verify_key_base64(algorithm, version, key_base64)
164+
key: VerifyKeyWithExpiry = decode_verify_key_base64(
165+
algorithm, version, key_base64
166+
) # type: ignore[assignment]
165167
key.expired = int(expired)
166168
keys.append(key)
167169
return keys

signedjson/types.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ def verify(self, message, signature):
4343
pass # pragma: nocover
4444

4545

46+
class VerifyKeyWithExpiry(VerifyKey):
47+
expired: int
48+
49+
4650
class SigningKey(BaseKey):
4751
"""The private part of a key pair, for use with sign_json"""
4852

0 commit comments

Comments
 (0)