]> git.openstreetmap.org Git - nominatim.git/blob - src/nominatim_api/sql/async_core_library.py
contributions: some additional rules for AI use
[nominatim.git] / src / nominatim_api / sql / async_core_library.py
1 # SPDX-License-Identifier: GPL-3.0-or-later
2 #
3 # This file is part of Nominatim. (https://nominatim.org)
4 #
5 # Copyright (C) 2024 by the Nominatim developer community.
6 # For a full list of authors see the git log.
7 """
8 Import the base library to use with asynchronous SQLAlchemy.
9 """
10 # pylint: disable=invalid-name, ungrouped-imports, unused-import
11
12 from typing import Any
13
14 try:
15     import sqlalchemy.dialects.postgresql.psycopg
16     import psycopg
17     PGCORE_LIB = 'psycopg'
18     PGCORE_ERROR: Any = psycopg.Error
19 except ModuleNotFoundError:
20     import sqlalchemy.dialects.postgresql.asyncpg
21     import asyncpg
22     PGCORE_LIB = 'asyncpg'
23     PGCORE_ERROR = asyncpg.PostgresError