36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """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:
 | |
|     @wraps(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)
 |