Spaces:
Running
Running
"""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: | |
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) | |