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
9
from typing import Any
8
10
from typing import Callable
9
- from typing import Optional
10
11
from typing import TYPE_CHECKING
11
- from typing import Union
12
12
13
13
from . import _types as _t
14
14
from ._entrypoints import _call_entrypoint_fn
46
46
}
47
47
48
48
49
- def version_from_scm (root : _t .PathT ) -> Optional [ ScmVersion ] :
49
+ def version_from_scm (root : _t .PathT ) -> ScmVersion | None :
50
50
warnings .warn (
51
51
"version_from_scm is deprecated please use get_version" ,
52
52
category = DeprecationWarning ,
@@ -60,7 +60,7 @@ def dump_version(
60
60
root : _t .PathT ,
61
61
version : str ,
62
62
write_to : _t .PathT ,
63
- template : " str | None" = None ,
63
+ template : str | None = None ,
64
64
) -> None :
65
65
assert isinstance (version , str )
66
66
target = os .path .normpath (os .path .join (root , write_to ))
@@ -79,7 +79,7 @@ def dump_version(
79
79
fp .write (template .format (version = version , version_tuple = version_tuple ))
80
80
81
81
82
- def _do_parse (config : Configuration ) -> " ScmVersion| None" :
82
+ def _do_parse (config : Configuration ) -> ScmVersion | None :
83
83
pretended = _read_pretended_version_for (config )
84
84
if pretended is not None :
85
85
return pretended
@@ -90,7 +90,7 @@ def _do_parse(config: Configuration) -> "ScmVersion|None":
90
90
raise TypeError (
91
91
f"version parse result was { str !r} \n please return a parsed version"
92
92
)
93
- version : Optional [ ScmVersion ]
93
+ version : ScmVersion | None
94
94
if parse_result :
95
95
assert isinstance (parse_result , ScmVersion )
96
96
version = parse_result
@@ -105,7 +105,7 @@ def _do_parse(config: Configuration) -> "ScmVersion|None":
105
105
return version
106
106
107
107
108
- def _version_missing (config : Configuration ) -> " NoReturn" :
108
+ def _version_missing (config : Configuration ) -> NoReturn :
109
109
raise LookupError (
110
110
f"setuptools-scm was unable to detect version for { config .absolute_root } .\n \n "
111
111
"Make sure you're either building from a fully intact git repository "
@@ -120,19 +120,19 @@ def _version_missing(config: Configuration) -> "NoReturn":
120
120
121
121
def get_version (
122
122
root : str = "." ,
123
- version_scheme : Union [ Callable [[ScmVersion ], str ], str ] = DEFAULT_VERSION_SCHEME ,
124
- local_scheme : Union [ Callable [[ScmVersion ], str ], str ] = DEFAULT_LOCAL_SCHEME ,
125
- write_to : Optional [ _t .PathT ] = None ,
126
- write_to_template : Optional [ str ] = None ,
127
- relative_to : Optional [ str ] = None ,
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
128
tag_regex : str = DEFAULT_TAG_REGEX ,
129
- parentdir_prefix_version : Optional [ str ] = None ,
130
- fallback_version : Optional [ str ] = None ,
129
+ parentdir_prefix_version : str | None = None ,
130
+ fallback_version : str | None = None ,
131
131
fallback_root : _t .PathT = "." ,
132
- parse : Optional [ Any ] = None ,
133
- git_describe_command : Optional [ Any ] = None ,
134
- dist_name : Optional [ str ] = None ,
135
- version_cls : Optional [ Any ] = None ,
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
136
normalize : bool = True ,
137
137
search_parent_directories : bool = False ,
138
138
) -> str :
@@ -150,7 +150,7 @@ def get_version(
150
150
return maybe_version
151
151
152
152
153
- def _get_version (config : Configuration ) -> " str| None" :
153
+ def _get_version (config : Configuration ) -> str | None :
154
154
parsed_version = _do_parse (config )
155
155
if parsed_version is None :
156
156
return None
0 commit comments