From: stengah Date: Thu, 22 Dec 2022 05:13:46 +0000 (+0545) Subject: refactor(c): get package version from metadata X-Git-Tag: pool-3.2.0~153^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d1a8550b56d3ab5c7750cb2ff3abbd3e5459ebe2;p=thirdparty%2Fpsycopg.git refactor(c): get package version from metadata --- diff --git a/psycopg_c/psycopg_c/_compat.py b/psycopg_c/psycopg_c/_compat.py new file mode 100644 index 000000000..16992cbfa --- /dev/null +++ b/psycopg_c/psycopg_c/_compat.py @@ -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"] diff --git a/psycopg_c/psycopg_c/version.py b/psycopg_c/psycopg_c/version.py index b2a22d98e..fb7ea9a46 100644 --- a/psycopg_c/psycopg_c/version.py +++ b/psycopg_c/psycopg_c/version.py @@ -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" diff --git a/psycopg_c/setup.cfg b/psycopg_c/setup.cfg index 6c5c93c97..5ada84cf4 100644 --- a/psycopg_c/setup.cfg +++ b/psycopg_c/setup.cfg @@ -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 diff --git a/psycopg_c/setup.py b/psycopg_c/setup.py index 3c8baef37..eeea1c945 100644 --- a/psycopg_c/setup.py +++ b/psycopg_c/setup.py @@ -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}, )