2
2
:copyright: 2010-2015 by Ronny Pfannschmidt
3
3
:license: MIT
4
4
"""
5
+ from __future__ import annotations
6
+
5
7
import os
6
8
import warnings
7
- from typing import Optional
9
+ from typing import Any
10
+ from typing import Callable
8
11
from typing import TYPE_CHECKING
9
12
10
- from . import _types
13
+ from . import _types as _t
11
14
from ._entrypoints import _call_entrypoint_fn
12
15
from ._entrypoints import _version_from_entrypoints
13
16
from ._overrides import _read_pretended_version_for
36
39
# coding: utf-8
37
40
# file generated by setuptools_scm
38
41
# don't change, don't track in version control
39
- version = {version!r}
40
- version_tuple = {version_tuple!r}
42
+ __version__ = version = {version!r}
43
+ __version_tuple__ = version_tuple = {version_tuple!r}
41
44
""" ,
42
45
".txt" : "{version}" ,
43
46
}
44
47
45
48
46
- def version_from_scm (root ) :
49
+ def version_from_scm (root : _t . PathT ) -> ScmVersion | None :
47
50
warnings .warn (
48
51
"version_from_scm is deprecated please use get_version" ,
49
52
category = DeprecationWarning ,
@@ -54,11 +57,11 @@ def version_from_scm(root):
54
57
55
58
56
59
def dump_version (
57
- root : _types .PathT ,
60
+ root : _t .PathT ,
58
61
version : str ,
59
- write_to : _types .PathT ,
60
- template : " str | None" = None ,
61
- ):
62
+ write_to : _t .PathT ,
63
+ template : str | None = None ,
64
+ ) -> None :
62
65
assert isinstance (version , str )
63
66
target = os .path .normpath (os .path .join (root , write_to ))
64
67
ext = os .path .splitext (target )[1 ]
@@ -76,7 +79,7 @@ def dump_version(
76
79
fp .write (template .format (version = version , version_tuple = version_tuple ))
77
80
78
81
79
- def _do_parse (config : Configuration ) -> " ScmVersion| None" :
82
+ def _do_parse (config : Configuration ) -> ScmVersion | None :
80
83
pretended = _read_pretended_version_for (config )
81
84
if pretended is not None :
82
85
return pretended
@@ -85,9 +88,9 @@ def _do_parse(config: Configuration) -> "ScmVersion|None":
85
88
parse_result = _call_entrypoint_fn (config .absolute_root , config , config .parse )
86
89
if isinstance (parse_result , str ):
87
90
raise TypeError (
88
- "version parse result was a string \n please return a parsed version"
91
+ f "version parse result was { str !r } \n please return a parsed version"
89
92
)
90
- version : Optional [ ScmVersion ]
93
+ version : ScmVersion | None
91
94
if parse_result :
92
95
assert isinstance (parse_result , ScmVersion )
93
96
version = parse_result
@@ -102,7 +105,7 @@ def _do_parse(config: Configuration) -> "ScmVersion|None":
102
105
return version
103
106
104
107
105
- def _version_missing (config ) -> " NoReturn" :
108
+ def _version_missing (config : Configuration ) -> NoReturn :
106
109
raise LookupError (
107
110
f"setuptools-scm was unable to detect version for { config .absolute_root } .\n \n "
108
111
"Make sure you're either building from a fully intact git repository "
@@ -116,23 +119,23 @@ def _version_missing(config) -> "NoReturn":
116
119
117
120
118
121
def get_version (
119
- root = "." ,
120
- version_scheme = DEFAULT_VERSION_SCHEME ,
121
- local_scheme = DEFAULT_LOCAL_SCHEME ,
122
- write_to = None ,
123
- write_to_template = None ,
124
- relative_to = None ,
125
- tag_regex = DEFAULT_TAG_REGEX ,
126
- parentdir_prefix_version = None ,
127
- fallback_version = None ,
128
- fallback_root = "." ,
129
- parse = None ,
130
- git_describe_command = None ,
131
- dist_name = None ,
132
- version_cls = None ,
133
- normalize = True ,
134
- search_parent_directories = False ,
135
- ):
122
+ root : str = "." ,
123
+ version_scheme : Callable [[ ScmVersion ], str ] | str = DEFAULT_VERSION_SCHEME ,
124
+ local_scheme : Callable [[ ScmVersion ], str ] | str = DEFAULT_LOCAL_SCHEME ,
125
+ write_to : _t . PathT | None = None ,
126
+ write_to_template : str | None = None ,
127
+ relative_to : str | None = None ,
128
+ tag_regex : str = DEFAULT_TAG_REGEX ,
129
+ parentdir_prefix_version : str | None = None ,
130
+ fallback_version : str | None = None ,
131
+ fallback_root : _t . PathT = "." ,
132
+ parse : Any | None = None ,
133
+ git_describe_command : Any | None = None ,
134
+ dist_name : str | None = None ,
135
+ version_cls : Any | None = None ,
136
+ normalize : bool = True ,
137
+ search_parent_directories : bool = False ,
138
+ ) -> str :
136
139
"""
137
140
If supplied, relative_to should be a file from which root may
138
141
be resolved. Typically called by a script or module that is not
@@ -147,7 +150,7 @@ def get_version(
147
150
return maybe_version
148
151
149
152
150
- def _get_version (config : Configuration ) -> " str| None" :
153
+ def _get_version (config : Configuration ) -> str | None :
151
154
parsed_version = _do_parse (config )
152
155
if parsed_version is None :
153
156
return None
0 commit comments