from .dbapi20 import Binary, Date, DateFromTicks, Time, TimeFromTicks
from .dbapi20 import Timestamp, TimestampFromTicks
-from .version import __version__
+from .version import __version__ as __version__ # noqa: F401
# Set the logger to a quiet default, can be enabled if needed
logger = logging.getLogger("psycopg")
# this is the canonical place to obtain them and should be used by MyPy too,
# so that function signatures are consistent with the documentation.
__all__ = [
- "__version__",
"AsyncConnection",
"AsyncCopy",
"AsyncCursor",
"the psycopg package should be imported before psycopg_c"
)
-from .version import __version__ # noqa
+from .version import __version__ as __version__ # noqa
from .pool import ConnectionPool
from .pool_async import AsyncConnectionPool
from .errors import PoolClosed, PoolTimeout, TooManyRequests
-from .version import __version__ # noqa: F401
+from .version import __version__ as __version__ # noqa: F401
__all__ = [
"AsyncConnectionPool",
import psycopg_pool as pool
+def test_package_version(mypy):
+ cp = mypy.run_on_source(
+ """\
+from psycopg_pool import __version__
+assert __version__
+"""
+ )
+ assert not cp.stdout
+
+
def test_defaults(dsn):
with pool.ConnectionPool(dsn) as p:
assert p.min_size == p.max_size == 4
import pytest
+from psycopg._cmodule import _psycopg
+
@pytest.mark.parametrize(
"args, kwargs, want_conninfo",
psycopg.connect(*args, **kwargs)
assert got_conninfo == want_conninfo
+
+
+def test_version(mypy):
+ cp = mypy.run_on_source(
+ """\
+from psycopg import __version__
+assert __version__
+"""
+ )
+ assert not cp.stdout
+
+
+@pytest.mark.skipif(_psycopg is None, reason="C module test")
+def test_version_c(mypy):
+ # can be psycopg_c, psycopg_binary
+ cpackage = _psycopg.__name__.split(".")[0]
+
+ cp = mypy.run_on_source(
+ f"""\
+from {cpackage} import __version__
+assert __version__
+"""
+ )
+ assert not cp.stdout