ba-thesis/app/.venv/lib/python3.11/site-packages/psycopg/_cmodule.py

25 lines
786 B
Python
Raw Normal View History

2023-07-21 09:57:46 +01:00
"""
Simplify access to the _psycopg module
"""
# Copyright (C) 2021 The Psycopg Team
from typing import Optional
from . import pq
__version__: Optional[str] = None
# Note: "c" must the first attempt so that mypy associates the variable the
# right module interface. It will not result Optional, but hey.
if pq.__impl__ == "c":
from psycopg_c import _psycopg as _psycopg
from psycopg_c import __version__ as __version__ # noqa: F401
elif pq.__impl__ == "binary":
from psycopg_binary import _psycopg as _psycopg # type: ignore
from psycopg_binary import __version__ as __version__ # type: ignore # noqa: F401
elif pq.__impl__ == "python":
_psycopg = None # type: ignore
else:
raise ImportError(f"can't find _psycopg optimised module in {pq.__impl__!r}")