From c873ebdad9032fdcff6aaec491299f096ccdecc5 Mon Sep 17 00:00:00 2001 From: maximlt Date: Fri, 3 Jan 2025 11:08:17 +0100 Subject: [PATCH 1/3] deprecate Version --- param/version.py | 24 ++++++++++++++++++++++++ tests/testdeprecations.py | 22 ++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/param/version.py b/param/version.py index b43e4f5d..1f8ed963 100644 --- a/param/version.py +++ b/param/version.py @@ -1,4 +1,6 @@ """ +This module is deprecated and will be removed in a future release. + Provide consistent and up-to-date ``__version__`` strings for Python packages. @@ -21,8 +23,14 @@ import os import subprocess import json +import warnings def run_cmd(args, cwd=None): + warnings.warn( + 'param.version.run_cmd has been deprecated and will be removed in a future version.', + FutureWarning, + stacklevel=2 + ) kwargs = {} if os.name == 'nt': kwargs['creationflags'] = subprocess.CREATE_NO_WINDOW @@ -105,6 +113,11 @@ def __init__(self, release=None, fpath=None, commit=None, reponame=None, :fpath: Set to ``__file__`` to access version control information :reponame: Used to verify VCS repository name. """ + warnings.warn( + 'param.version.Version has been deprecated and will be removed in a future version.', + FutureWarning, + stacklevel=2 + ) self.fpath = fpath self._expected_commit = commit @@ -477,6 +490,11 @@ def get_setup_version(location, reponame, pkgname=None, archive_commit=None): """ import warnings + warnings.warn( + 'param.version.get_setup_version has been deprecated and will be removed in a future version.', + FutureWarning, + stacklevel=2 + ) pkgname = reponame if pkgname is None else pkgname if archive_commit is None: warnings.warn("No archive commit available; git archives will not contain version information") @@ -522,6 +540,11 @@ def get_setupcfg_version(): """ import configparser import re + warnings.warn( + 'param.version.get_setupcfg_version has been deprecated and will be removed in a future version.', + FutureWarning, + stacklevel=2 + ) cfg = "setup.cfg" autover_section = 'tool:autover' config = configparser.ConfigParser() @@ -588,6 +611,7 @@ def __init__(self, release=None, fpath=None, commit=None, :dev: Development version number. None if not a development version. :commit_count Commits since last release. Set for dev releases. """ + warnings.warn('param.version.OldDeprecatedVersion has been deprecated and will be removed in a future version.', FutureWarning, stacklevel=2) self.fpath = fpath self._expected_commit = commit self.expected_release = release diff --git a/tests/testdeprecations.py b/tests/testdeprecations.py index a4e4162a..b0e5efee 100644 --- a/tests/testdeprecations.py +++ b/tests/testdeprecations.py @@ -203,3 +203,25 @@ class P(param.Parameterized): with pytest.raises(param._utils.ParamFutureWarning): p.param.debug('test') + + +class TestDeprecateVersion: + def test_deprecate_Version(self): + with pytest.raises(FutureWarning): + param.version.Version() + + def test_deprecate_OldDeprecatedVersion(self): + with pytest.raises(FutureWarning): + param.version.OldDeprecatedVersion() + + def test_deprecate_run_cmd(self): + with pytest.raises(FutureWarning): + param.version.run_cmd(['echo', 'test']) + + def test_deprecate_get_setup_version(self): + with pytest.raises(FutureWarning): + param.version.get_setup_version('dummy', 'dummy') + + def test_deprecate_get_setupcfg_version(self): + with pytest.raises(FutureWarning): + param.version.get_setupcfg_version() From ef0933f3bd3bec7790e23a5f2e41b89eb09c7776 Mon Sep 17 00:00:00 2001 From: maximlt Date: Fri, 3 Jan 2025 11:09:24 +0100 Subject: [PATCH 2/3] format --- param/version.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/param/version.py b/param/version.py index 1f8ed963..b667c5b2 100644 --- a/param/version.py +++ b/param/version.py @@ -611,7 +611,11 @@ def __init__(self, release=None, fpath=None, commit=None, :dev: Development version number. None if not a development version. :commit_count Commits since last release. Set for dev releases. """ - warnings.warn('param.version.OldDeprecatedVersion has been deprecated and will be removed in a future version.', FutureWarning, stacklevel=2) + warnings.warn( + 'param.version.OldDeprecatedVersion has been deprecated and will be removed in a future version.', + FutureWarning, + stacklevel=2 + ) self.fpath = fpath self._expected_commit = commit self.expected_release = release From bb11659c1137dd2ef5e8cabac3f825ca7b2625a2 Mon Sep 17 00:00:00 2001 From: maximlt Date: Fri, 3 Jan 2025 11:27:51 +0100 Subject: [PATCH 3/3] ignore warning in real test --- tests/testversion.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/testversion.py b/tests/testversion.py index 1a71f673..5834810d 100644 --- a/tests/testversion.py +++ b/tests/testversion.py @@ -1,6 +1,8 @@ -from param.version import run_cmd +import pytest +from param.version import run_cmd +@pytest.mark.filterwarnings('ignore:param.version.run_cmd:FutureWarning') def test_run_cmd(): output = run_cmd(['echo', 'test']) assert output == 'test'