remove typing_extensions requirement

The typing_extensions package is only necessary now when running mypy.
It won't be used at runtime anymore.
This commit is contained in:
Sarah Hoffmann
2022-07-17 23:18:55 +02:00
parent cb81f11422
commit 83054af46f
15 changed files with 34 additions and 34 deletions

View File

@@ -12,7 +12,8 @@ Complex type definitions are moved here, to keep the source files readable.
from typing import Any, Union, Mapping, TypeVar, Sequence, TYPE_CHECKING
# Generics varaible names do not confirm to naming styles, ignore globally here.
# pylint: disable=invalid-name,abstract-method,multiple-statements,missing-class-docstring
# pylint: disable=invalid-name,abstract-method,multiple-statements
# pylint: disable=missing-class-docstring,useless-import-alias
if TYPE_CHECKING:
import psycopg2.sql
@@ -36,3 +37,16 @@ class DictCursorResult(Mapping[str, Any]):
DictCursorResults = Sequence[DictCursorResult]
T_cursor = TypeVar('T_cursor', bound='psycopg2.extensions.cursor')
# The following typing features require typing_extensions to work
# on all supported Python versions.
# Only require this for type checking but not for normal operations.
if TYPE_CHECKING:
from typing_extensions import (Protocol as Protocol,
Final as Final,
TypedDict as TypedDict)
else:
Protocol = object
Final = 'Final'
TypedDict = dict