diff --git a/docs/source/conf.py b/docs/source/conf.py index 3490b8fe..44eee57b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -30,10 +30,11 @@ copyright = u'2016-2026, Postgres Professional' author = u'Postgres Professional' -# The short X.Y version -version = u'' # The full version, including alpha/beta/rc tags -release = u'1.13.6' +release = testgres.__version__ + +# The short X.Y version +version = '.'.join(release.split('.')[:2]) # -- General configuration --------------------------------------------------- diff --git a/pyproject.toml b/pyproject.toml index 48d5b9a7..19e41ae3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,6 +5,9 @@ build-backend = "setuptools.build_meta" [tool.setuptools.package-dir] "testgres" = "src" +[tool.setuptools.dynamic] +version = {attr = "testgres.__version__"} + [tool.flake8] extend-ignore = ["E501"] exclude = [".git", "__pycache__", "env", "venv"] @@ -19,7 +22,7 @@ log_file_date_format = "%Y-%m-%d %H:%M:%S" [project] name = "testgres" -version = "1.13.6" +dynamic = ["version"] description = "Testing utility for PostgreSQL and its extensions" readme = "README.md" diff --git a/src/__init__.py b/src/__init__.py index 02284b35..23aa459e 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -56,6 +56,8 @@ from testgres.operations.local_ops import LocalOperations from testgres.operations.remote_ops import RemoteOperations +__version__ = "1.13.6" + __all__ = [ "get_new_node", "get_remote_node", diff --git a/tests/test_testgres_common.py b/tests/test_testgres_common.py index cc13ce24..b7d4e24d 100644 --- a/tests/test_testgres_common.py +++ b/tests/test_testgres_common.py @@ -5,6 +5,7 @@ from .helpers.global_data import OsOperations from .helpers.global_data import PortManager +from src import __version__ as testgres_version from src.node import PgVer from src.node import PostgresNode from src.node import NodeConnection @@ -51,6 +52,8 @@ import types import psutil +from packaging.version import Version + @contextmanager def removing(os_ops: OsOperations, f): @@ -84,6 +87,19 @@ def node_svc(self, request: pytest.FixtureRequest) -> PostgresNodeService: assert isinstance(request.param.port_manager, PortManager) return request.param + def test_testgres_version(self): + assert type(testgres_version) is str + + v = Version(testgres_version) + + # Author: Mark G. + assert v.major == 1 + assert v.minor == 13 + assert v.micro == 6 + + assert str(v) == testgres_version + return + def test_version_management(self, node_svc: PostgresNodeService): assert isinstance(node_svc, PostgresNodeService)