From: stengah Date: Thu, 22 Dec 2022 14:44:05 +0000 (+0545) Subject: refactor(pool): get package version from metadata X-Git-Tag: pool-3.2.0~153^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf74d4bc83526f98265e9f28951ff614e2fcabab;p=thirdparty%2Fpsycopg.git refactor(pool): get package version from metadata --- diff --git a/psycopg_pool/psycopg_pool/_compat.py b/psycopg_pool/psycopg_pool/_compat.py index 9fb2b9b56..2ddbcb158 100644 --- a/psycopg_pool/psycopg_pool/_compat.py +++ b/psycopg_pool/psycopg_pool/_compat.py @@ -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. diff --git a/psycopg_pool/psycopg_pool/version.py b/psycopg_pool/psycopg_pool/version.py index 3645d7885..2496d102c 100644 --- a/psycopg_pool/psycopg_pool/version.py +++ b/psycopg_pool/psycopg_pool/version.py @@ -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 diff --git a/psycopg_pool/setup.cfg b/psycopg_pool/setup.cfg index 1a3274e63..1d19ef86d 100644 --- a/psycopg_pool/setup.cfg +++ b/psycopg_pool/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/ @@ -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 diff --git a/psycopg_pool/setup.py b/psycopg_pool/setup.py index 771847deb..ab75bb726 100644 --- a/psycopg_pool/setup.py +++ b/psycopg_pool/setup.py @@ -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()