move complex typing annotations to extra file

This commit is contained in:
Sarah Hoffmann
2022-07-02 11:59:19 +02:00
parent 992e6f72cf
commit f22fa992f7
3 changed files with 37 additions and 12 deletions

27
nominatim/typing.py Normal file
View File

@@ -0,0 +1,27 @@
# SPDX-License-Identifier: GPL-2.0-only
#
# This file is part of Nominatim. (https://nominatim.org)
#
# Copyright (C) 2022 by the Nominatim developer community.
# For a full list of authors see the git log.
"""
Type definitions for typing annotations.
Complex type definitions are moved here, to keep the source files readable.
"""
from typing import Union, TypeVar, TYPE_CHECKING
# Generics varaible names do not confirm to naming styles, ignore globally here.
# pylint: disable=invalid-name
if TYPE_CHECKING:
import psycopg2.sql
import psycopg2.extensions
import os
StrPath = Union[str, 'os.PathLike[str]']
# psycopg2-related types
Query = Union[str, bytes, 'psycopg2.sql.Composable']
T_cursor = TypeVar('T_cursor', bound='psycopg2.extensions.cursor')