From e6a76a0ce430f2792b48fbde2c8b9bfd9643d295 Mon Sep 17 00:00:00 2001 From: James Liu <52677895+jamesliu4c@users.noreply.github.com> Date: Wed, 26 Mar 2025 10:40:52 -0700 Subject: [PATCH 1/2] Downgrade hyphen and uppercase deprecation warning to info --- setuptools/dist.py | 19 +++++----- setuptools/tests/config/test_setupcfg.py | 44 ------------------------ 2 files changed, 9 insertions(+), 54 deletions(-) diff --git a/setuptools/dist.py b/setuptools/dist.py index 8d972cc49b..c0de89e459 100644 --- a/setuptools/dist.py +++ b/setuptools/dist.py @@ -628,17 +628,16 @@ def _enforce_underscore(self, opt: str, section: str) -> str: underscore_opt = opt.replace('-', '_') affected = f"(Affected: {self.metadata.name})." if self.metadata.name else "" - SetuptoolsDeprecationWarning.emit( + InformationOnly.emit( f"Invalid dash-separated key {opt!r} in {section!r} (setup.cfg), " f"please use the underscore name {underscore_opt!r} instead.", f""" - Usage of dash-separated {opt!r} will not be supported in future - versions. Please use the underscore name {underscore_opt!r} instead. + Usage of dash-separated {opt!r} is not supported by Python packaging + specifications. Please use the underscore name {underscore_opt!r} instead. {affected} """, see_docs="userguide/declarative_config.html", - due_date=(2026, 3, 3), - # Warning initially introduced in 3 Mar 2021 + # Changed from warning to info after https://github.com/pypa/setuptools/issues/4910 ) return underscore_opt @@ -648,17 +647,17 @@ def _enforce_option_lowercase(self, opt: str, section: str) -> str: lowercase_opt = opt.lower() affected = f"(Affected: {self.metadata.name})." if self.metadata.name else "" - SetuptoolsDeprecationWarning.emit( + InformationOnly.emit( f"Invalid uppercase key {opt!r} in {section!r} (setup.cfg), " f"please use lowercase {lowercase_opt!r} instead.", f""" - Usage of uppercase key {opt!r} in {section!r} will not be supported in - future versions. Please use lowercase {lowercase_opt!r} instead. + Usage of uppercase key {opt!r} in {section!r} is not supported + by Python packaging specifications. Please use lowercase {lowercase_opt!r} + instead. {affected} """, see_docs="userguide/declarative_config.html", - due_date=(2026, 3, 3), - # Warning initially introduced in 6 Mar 2021 + # Changed from warning to info after https://github.com/pypa/setuptools/issues/4910 ) return lowercase_opt diff --git a/setuptools/tests/config/test_setupcfg.py b/setuptools/tests/config/test_setupcfg.py index 61af990447..085de98cbb 100644 --- a/setuptools/tests/config/test_setupcfg.py +++ b/setuptools/tests/config/test_setupcfg.py @@ -1,7 +1,6 @@ import configparser import contextlib import inspect -import re from pathlib import Path from unittest.mock import Mock, patch @@ -421,49 +420,6 @@ def test_not_utf8(self, tmpdir): with get_dist(tmpdir): pass - @pytest.mark.parametrize( - ("error_msg", "config", "invalid"), - [ - ( - "Invalid dash-separated key 'author-email' in 'metadata' (setup.cfg)", - DALS( - """ - [metadata] - author-email = test@test.com - maintainer_email = foo@foo.com - """ - ), - {"author-email": "test@test.com"}, - ), - ( - "Invalid uppercase key 'Name' in 'metadata' (setup.cfg)", - DALS( - """ - [metadata] - Name = foo - description = Some description - """ - ), - {"Name": "foo"}, - ), - ], - ) - def test_invalid_options_previously_deprecated( - self, tmpdir, error_msg, config, invalid - ): - # This test and related methods can be removed when no longer needed. - # Deprecation postponed due to push-back from the community in - # https://github.com/pypa/setuptools/issues/4910 - fake_env(tmpdir, config) - with pytest.warns(SetuptoolsDeprecationWarning, match=re.escape(error_msg)): - dist = get_dist(tmpdir).__enter__() - - tmpdir.join('setup.cfg').remove() - - for field, value in invalid.items(): - attr = field.replace("-", "_").lower() - assert getattr(dist.metadata, attr) == value - class TestOptions: def test_basic(self, tmpdir): From 3f314cd014a38b1e18653c49e93671b40ea237d4 Mon Sep 17 00:00:00 2001 From: James Liu <52677895+jamesliu4c@users.noreply.github.com> Date: Wed, 26 Mar 2025 11:18:15 -0700 Subject: [PATCH 2/2] Add newsfragment --- newsfragments/4923.misc.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 newsfragments/4923.misc.rst diff --git a/newsfragments/4923.misc.rst b/newsfragments/4923.misc.rst new file mode 100644 index 0000000000..12ad18863f --- /dev/null +++ b/newsfragments/4923.misc.rst @@ -0,0 +1 @@ +This changes ``enforce_underscore`` and ``enforce_option_lowercase`` from deprecation warnings to information only.