diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/setuptools_scm/__init__.py | 33 | ||||
-rw-r--r-- | src/setuptools_scm/_log.py | 23 | ||||
-rw-r--r-- | src/setuptools_scm/integration.py | 19 |
3 files changed, 23 insertions, 52 deletions
diff --git a/src/setuptools_scm/__init__.py b/src/setuptools_scm/__init__.py index faea673..01b3da8 100644 --- a/src/setuptools_scm/__init__.py +++ b/src/setuptools_scm/__init__.py @@ -152,26 +152,23 @@ def get_version( def _get_version(config: Configuration) -> str | None: - from ._log import magic_debug - - with magic_debug(): - parsed_version = _do_parse(config) - if parsed_version is None: - return None - version_string = _format_version( - parsed_version, - version_scheme=config.version_scheme, - local_scheme=config.local_scheme, + parsed_version = _do_parse(config) + if parsed_version is None: + return None + version_string = _format_version( + parsed_version, + version_scheme=config.version_scheme, + local_scheme=config.local_scheme, + ) + if config.write_to is not None: + dump_version( + root=config.root, + version=version_string, + write_to=config.write_to, + template=config.write_to_template, ) - if config.write_to is not None: - dump_version( - root=config.root, - version=version_string, - write_to=config.write_to, - template=config.write_to_template, - ) - return version_string + return version_string # Public API diff --git a/src/setuptools_scm/_log.py b/src/setuptools_scm/_log.py index abbdd0c..1247d46 100644 --- a/src/setuptools_scm/_log.py +++ b/src/setuptools_scm/_log.py @@ -9,6 +9,7 @@ import os import sys from typing import IO from typing import Iterator +from typing import Mapping log = logging.getLogger(__name__.rsplit(".", 1)[0]) log.propagate = False @@ -46,19 +47,9 @@ _default_handler = make_default_handler() log.addHandler(_default_handler) -def _default_log_level() -> str | int: - val: str = os.environ.get("SETUPTOOLS_SCM_DEBUG", "") - level: str | int - if val: - level = logging.DEBUG - levelname: str | int = logging.getLevelName(val) - if isinstance(levelname, int): - level = val - else: - level = logging.WARNING - else: - level = logging.WARNING - return level +def _default_log_level(_env: Mapping[str, str] = os.environ) -> int: + val: str | None = _env.get("SETUPTOOLS_SCM_DEBUG") + return logging.WARN if val is None else logging.DEBUG log.setLevel(_default_log_level()) @@ -92,9 +83,3 @@ def enable_debug(handler: logging.Handler = _default_handler) -> Iterator[None]: handler.setLevel(old_handler_level) if handler is not _default_handler: log.removeHandler(handler) - - -@contextlib.contextmanager -def magic_debug() -> Iterator[None]: - with enable_debug(): - yield diff --git a/src/setuptools_scm/integration.py b/src/setuptools_scm/integration.py index 9df4f3e..42ea95d 100644 --- a/src/setuptools_scm/integration.py +++ b/src/setuptools_scm/integration.py @@ -26,27 +26,16 @@ if TYPE_CHECKING: def _warn_on_old_setuptools(_version: str = setuptools.__version__) -> None: - if int(_version.split(".")[0]) < 45: + if int(_version.split(".")[0]) < 61: warnings.warn( RuntimeWarning( f""" -ERROR: setuptools=={_version} is used in combination with setuptools_scm>=6.x +ERROR: setuptools=={_version} is used in combination with setuptools_scm>=8.x Your build configuration is incomplete and previously worked by accident! -setuptools_scm requires setuptools>=45 +setuptools_scm requires setuptools>=61 - -This happens as setuptools is unable to replace itself when a activated build dependency -requires a more recent setuptools version -(it does not respect "setuptools>X" in setup_requires). - - -setuptools>=31 is required for setup.cfg metadata support -setuptools>=42 is required for pyproject.toml configuration support - -Suggested workarounds if applicable: - - preinstalling build dependencies like setuptools_scm before running setup.py - - installing setuptools_scm using the system package manager to ensure consistency +Suggested workaround if applicable: - migrating from the deprecated setup_requires mechanism to pep517/518 and using a pyproject.toml to declare build dependencies which are reliably pre-installed before running the build tools |