summaryrefslogtreecommitdiffstats
path: root/third_party/python/setuptools/setuptools/config/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/setuptools/setuptools/config/__init__.py')
-rw-r--r--third_party/python/setuptools/setuptools/config/__init__.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/third_party/python/setuptools/setuptools/config/__init__.py b/third_party/python/setuptools/setuptools/config/__init__.py
new file mode 100644
index 0000000000..ffea394436
--- /dev/null
+++ b/third_party/python/setuptools/setuptools/config/__init__.py
@@ -0,0 +1,42 @@
+"""For backward compatibility, expose main functions from
+``setuptools.config.setupcfg``
+"""
+from functools import wraps
+from typing import Callable, TypeVar, cast
+
+from ..warnings import SetuptoolsDeprecationWarning
+from . import setupcfg
+
+Fn = TypeVar("Fn", bound=Callable)
+
+__all__ = ('parse_configuration', 'read_configuration')
+
+
+def _deprecation_notice(fn: Fn) -> Fn:
+ @wraps(fn)
+ def _wrapper(*args, **kwargs):
+ SetuptoolsDeprecationWarning.emit(
+ "Deprecated API usage.",
+ f"""
+ As setuptools moves its configuration towards `pyproject.toml`,
+ `{__name__}.{fn.__name__}` became deprecated.
+
+ For the time being, you can use the `{setupcfg.__name__}` module
+ to access a backward compatible API, but this module is provisional
+ and might be removed in the future.
+
+ To read project metadata, consider using
+ ``build.util.project_wheel_metadata`` (https://pypi.org/project/build/).
+ For simple scenarios, you can also try parsing the file directly
+ with the help of ``configparser``.
+ """,
+ # due_date not defined yet, because the community still heavily relies on it
+ # Warning introduced in 24 Mar 2022
+ )
+ return fn(*args, **kwargs)
+
+ return cast(Fn, _wrapper)
+
+
+read_configuration = _deprecation_notice(setupcfg.read_configuration)
+parse_configuration = _deprecation_notice(setupcfg.parse_configuration)