]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/tokenizer/token_analysis/base.py
remove typing_extensions requirement
[nominatim.git] / nominatim / tokenizer / token_analysis / base.py
index b55b4f7c2f6837bc7f30fc1ac538143aa483a0f5..b2a4386cb6d2ea640d7fa25053c4b9b74f987686 100644 (file)
@@ -7,12 +7,9 @@
 """
 Common data types and protocols for analysers.
 """
-from typing import TypeVar, Mapping, List, Any
+from typing import Mapping, List, Any
 
-from typing_extensions import Protocol
-
-
-T_config = TypeVar('T_config') # pylint: disable=invalid-name
+from nominatim.typing import Protocol
 
 class Analyser(Protocol):
     """ Instance of the token analyser.
@@ -28,17 +25,17 @@ class Analyser(Protocol):
             and transliterate the result.
         """
 
-class AnalysisModule(Protocol[T_config]):
+class AnalysisModule(Protocol):
     """ Protocol for analysis modules.
     """
 
-    def configure(self, rules: Mapping[str, Any], normalization_rules: str) -> T_config:
+    def configure(self, rules: Mapping[str, Any], normalization_rules: str) -> Any:
         """ Prepare the configuration of the analysis module.
             This function should prepare all data that can be shared
             between instances of this analyser.
         """
 
-    def create(self, normalizer: Any, transliterator: Any, config: T_config) -> Analyser:
+    def create(self, normalizer: Any, transliterator: Any, config: Any) -> Analyser:
         """ Create a new instance of the analyser.
             A separate instance of the analyser is created for each thread
             when used in multi-threading context.