]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
refactor(pool): get package version from metadata
authorstengah <deepsghimire1@gmail.com>
Thu, 22 Dec 2022 14:44:05 +0000 (20:29 +0545)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Wed, 28 Dec 2022 20:21:54 +0000 (20:21 +0000)
psycopg_pool/psycopg_pool/_compat.py
psycopg_pool/psycopg_pool/version.py
psycopg_pool/setup.cfg
psycopg_pool/setup.py

index 9fb2b9b566a61abbb23a5a24b126f268edf0aa8a..2ddbcb158a1d824dbde550ecdc25ff193dedd395 100644 (file)
@@ -32,11 +32,17 @@ if sys.version_info >= (3, 9):
 else:
     from typing import Counter, Deque
 
+if sys.version_info < (3, 8):
+    import importlib_metadata as metadata
+else:
+    from importlib import metadata
+
 __all__ = [
     "Counter",
     "Deque",
     "Task",
     "create_task",
+    "metadata",
 ]
 
 # Workaround for psycopg < 3.0.8.
index 3645d78854f8a008226d1d1ec1c6f335ef908c5c..2496d102c2d60c15da519dc0c7c4dff497a74cdf 100644 (file)
@@ -1,6 +1,7 @@
 """
 psycopg pool version file.
 """
+from ._compat import metadata
 
 # Copyright (C) 2021 The Psycopg Team
 
@@ -8,6 +9,9 @@ psycopg pool version file.
 # https://www.python.org/dev/peps/pep-0440/
 
 # STOP AND READ! if you change:
-__version__ = "3.1.6.dev1"
+try:
+    __version__ = metadata.version("psycopg-pool")
+except metadata.PackageNotFoundError:
+    __version__ = "0.0.0.0"
 # also change:
 # - `docs/news_pool.rst` to declare this version current or unreleased
index 1a3274e635b9e095d079ca6a2bdb117304dd17ea..1d19ef86d1cd5b82b51259c4390d31f1114b1182 100644 (file)
@@ -5,6 +5,7 @@ url = https://psycopg.org/psycopg3/
 author = Daniele Varrazzo
 author_email = daniele.varrazzo@gmail.com
 license = GNU Lesser General Public License v3 (LGPLv3)
+version = 3.2.0.dev1
 
 project_urls =
     Homepage = https://psycopg.org/
@@ -40,6 +41,7 @@ packages = find:
 zip_safe = False
 install_requires =
     typing-extensions >= 3.10
+    importlib-metadata >= 1.4; python_version < "3.8"
 
 [options.package_data]
 psycopg_pool = py.typed
index 771847debc32ac73d1f279a5400e53fe09acf709..ab75bb726906827156f154c2647b30b88ecf3a01 100644 (file)
@@ -5,22 +5,6 @@ PostgreSQL database adapter for Python - Connection Pool
 
 # Copyright (C) 2020 The Psycopg Team
 
-import os
-import re
 from setuptools import setup
 
-# Move to the directory of setup.py: executing this file from another location
-# (e.g. from the project root) will fail
-here = os.path.abspath(os.path.dirname(__file__))
-if os.path.abspath(os.getcwd()) != here:
-    os.chdir(here)
-
-with open("psycopg_pool/version.py") as f:
-    data = f.read()
-    m = re.search(r"""(?m)^__version__\s*=\s*['"]([^'"]+)['"]""", data)
-    if not m:
-        raise Exception(f"cannot find version in {f.name}")
-    version = m.group(1)
-
-
-setup(version=version)
+setup()