Spaces:
Sleeping
Sleeping
"""For backward compatibility, expose main functions from | |
``setuptools.config.setupcfg`` | |
""" | |
import warnings | |
from functools import wraps | |
from textwrap import dedent | |
from typing import Callable, TypeVar, cast | |
from .._deprecation_warning 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): | |
msg = 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. | |
""" | |
warnings.warn(dedent(msg), SetuptoolsDeprecationWarning, stacklevel=2) | |
return fn(*args, **kwargs) | |
return cast(Fn, _wrapper) | |
read_configuration = _deprecation_notice(setupcfg.read_configuration) | |
parse_configuration = _deprecation_notice(setupcfg.parse_configuration) | |