]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
refactor(c): get package version from metadata
authorstengah <deepsghimire1@gmail.com>
Thu, 22 Dec 2022 05:13:46 +0000 (10:58 +0545)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Wed, 28 Dec 2022 20:21:36 +0000 (20:21 +0000)
psycopg_c/psycopg_c/_compat.py [new file with mode: 0644]
psycopg_c/psycopg_c/version.py
psycopg_c/setup.cfg
psycopg_c/setup.py

diff --git a/psycopg_c/psycopg_c/_compat.py b/psycopg_c/psycopg_c/_compat.py
new file mode 100644 (file)
index 0000000..16992cb
--- /dev/null
@@ -0,0 +1,15 @@
+"""
+compatibility functions for different Python versions
+"""
+
+# Copyright (C) 2021 The Psycopg Team
+
+import sys
+
+if sys.version_info < (3, 8):
+    import importlib_metadata as metadata
+else:
+    from importlib import metadata
+
+
+__all__ = ["metadata"]
index b2a22d98e09cbad778befc62140330536358fb06..fb7ea9a46860d09d5e6daf8d8ca9b3baa3700ed8 100644 (file)
@@ -1,11 +1,14 @@
 """
 psycopg-c distribution version file.
 """
+from ._compat import metadata
 
 # Copyright (C) 2020 The Psycopg Team
 
 # Use a versioning scheme as defined in
 # https://www.python.org/dev/peps/pep-0440/
-__version__ = "3.1.8.dev1"
 
-# also change psycopg/psycopg/version.py accordingly.
+try:
+    __version__ = metadata.version("psycopg-c")
+except metadata.PackageNotFoundError:
+    __version__ = "0.0.0.0"
index 6c5c93c97159ebf3884a18410231e61f350c3cb7..5ada84cf4e05a491ab97701590dae7e31a16f21c 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/
@@ -39,6 +40,8 @@ python_requires = >= 3.7
 setup_requires = Cython >= 3.0.0a11
 packages = find:
 zip_safe = False
+install_requires =
+    importlib-metadata >= 1.4; python_version < "3.8"
 
 [options.package_data]
 # NOTE: do not include .pyx files: they shouldn't be in the sdist
index 3c8baef37d0fe2a6f98932aa507412fbb75584be..eeea1c94515be639916217b62b7687a3f185adec 100644 (file)
@@ -6,7 +6,6 @@ PostgreSQL database adapter for Python - optimisation package
 # Copyright (C) 2020 The Psycopg Team
 
 import os
-import re
 import sys
 import subprocess as sp
 
@@ -20,14 +19,6 @@ here = os.path.abspath(os.path.dirname(__file__))
 if os.path.abspath(os.getcwd()) != here:
     os.chdir(here)
 
-with open("psycopg_c/version.py") as f:
-    data = f.read()
-    m = re.search(r"""(?m)^__version__\s*=\s*['"]([^'"]+)['"]""", data)
-    if m is None:
-        raise Exception(f"cannot find version in {f.name}")
-    version = m.group(1)
-
-
 
 def get_config(what: str) -> str:
     pg_config = "pg_config"
@@ -105,7 +96,6 @@ pqext = Extension(
 )
 
 setup(
-    version=version,
     ext_modules=[pgext, pqext],
     cmdclass={"build_ext": psycopg_build_ext},
 )