fix!: drop support for Python 2.7 (#778)
Drop use of 'six' wrapper library.
Drop 'u"' prefixes.
Drop support for app_engine 'classic' mode (Python 2.7-only).
Release-As: 2.0.0b1
Closes #777.
diff --git a/google/auth/crypt/__init__.py b/google/auth/crypt/__init__.py
index 15ac950..97e9d81 100644
--- a/google/auth/crypt/__init__.py
+++ b/google/auth/crypt/__init__.py
@@ -37,8 +37,6 @@
version is at least 1.4.0.
"""
-import six
-
from google.auth.crypt import base
from google.auth.crypt import rsa
@@ -90,7 +88,7 @@
Returns:
bool: True if the signature is valid, otherwise False.
"""
- if isinstance(certs, (six.text_type, six.binary_type)):
+ if isinstance(certs, (str, bytes)):
certs = [certs]
for cert in certs:
diff --git a/google/auth/crypt/_python_rsa.py b/google/auth/crypt/_python_rsa.py
index ec30dd0..1c4a9da 100644
--- a/google/auth/crypt/_python_rsa.py
+++ b/google/auth/crypt/_python_rsa.py
@@ -21,12 +21,13 @@
from __future__ import absolute_import
+import io
+
from pyasn1.codec.der import decoder
from pyasn1_modules import pem
from pyasn1_modules.rfc2459 import Certificate
from pyasn1_modules.rfc5208 import PrivateKeyInfo
import rsa
-import six
from google.auth import _helpers
from google.auth.crypt import base
@@ -52,9 +53,9 @@
"""
num_bits = len(bit_list)
byte_vals = bytearray()
- for start in six.moves.xrange(0, num_bits, 8):
+ for start in range(0, num_bits, 8):
curr_bits = bit_list[start : start + 8]
- char_val = sum(val * digit for val, digit in six.moves.zip(_POW2, curr_bits))
+ char_val = sum(val * digit for val, digit in zip(_POW2, curr_bits))
byte_vals.append(char_val)
return bytes(byte_vals)
@@ -152,7 +153,7 @@
"""
key = _helpers.from_bytes(key) # PEM expects str in Python 3
marker_id, key_bytes = pem.readPemBlocksFromFile(
- six.StringIO(key), _PKCS1_MARKER, _PKCS8_MARKER
+ io.StringIO(key), _PKCS1_MARKER, _PKCS8_MARKER
)
# Key is in pkcs1 format.
diff --git a/google/auth/crypt/base.py b/google/auth/crypt/base.py
index c98d5bf..0bda9c3 100644
--- a/google/auth/crypt/base.py
+++ b/google/auth/crypt/base.py
@@ -18,15 +18,12 @@
import io
import json
-import six
-
_JSON_FILE_PRIVATE_KEY = "private_key"
_JSON_FILE_PRIVATE_KEY_ID = "private_key_id"
-@six.add_metaclass(abc.ABCMeta)
-class Verifier(object):
+class Verifier(object, metaclass=abc.ABCMeta):
"""Abstract base class for crytographic signature verifiers."""
@abc.abstractmethod
@@ -46,8 +43,7 @@
raise NotImplementedError("Verify must be implemented")
-@six.add_metaclass(abc.ABCMeta)
-class Signer(object):
+class Signer(object, metaclass=abc.ABCMeta):
"""Abstract base class for cryptographic signers."""
@abc.abstractproperty
@@ -70,8 +66,7 @@
raise NotImplementedError("Sign must be implemented")
-@six.add_metaclass(abc.ABCMeta)
-class FromServiceAccountMixin(object):
+class FromServiceAccountMixin(object, metaclass=abc.ABCMeta):
"""Mix-in to enable factory constructors for a Signer."""
@abc.abstractmethod