diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e39a66b4..e171cc80 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,3 +1,9 @@ +v6.4.2 +====== + +* fix #671 : NoReturn is not avaliable in painfully dead python 3.6 + + v6.4.1 ======= diff --git a/src/setuptools_scm/__init__.py b/src/setuptools_scm/__init__.py index eb671f7f..10134b67 100644 --- a/src/setuptools_scm/__init__.py +++ b/src/setuptools_scm/__init__.py @@ -4,8 +4,8 @@ """ import os import warnings -from typing import NoReturn from typing import Optional +from typing import TYPE_CHECKING from . import _types from ._entrypoints import _call_entrypoint_fn @@ -27,6 +27,10 @@ from .version import meta from .version import ScmVersion +if TYPE_CHECKING: + from typing import NoReturn + + TEMPLATES = { ".py": """\ # coding: utf-8 @@ -98,7 +102,7 @@ def _do_parse(config: Configuration) -> "ScmVersion|None": return version -def _version_missing(config) -> NoReturn: +def _version_missing(config) -> "NoReturn": raise LookupError( f"setuptools-scm was unable to detect version for {config.absolute_root}.\n\n" "Make sure you're either building from a fully intact git repository "