summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/setuptools_scm/__init__.py33
-rw-r--r--src/setuptools_scm/_log.py23
-rw-r--r--src/setuptools_scm/integration.py19
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