25 lines
786 B
Python
25 lines
786 B
Python
"""
|
|
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}")
|