File tree Expand file tree Collapse file tree 3 files changed +16
-0
lines changed Expand file tree Collapse file tree 3 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -31,6 +31,11 @@ def test_get_version_python(py_package):
31
31
assert util .get_version () == "0.0.2a0"
32
32
33
33
34
+ def test_get_version_pyproject (py_package ):
35
+ os .unlink ("setup.py" )
36
+ assert util .get_version () == "0.0.1"
37
+
38
+
34
39
def test_get_version_multipython (py_multipackage ):
35
40
prev_dir = os .getcwd ()
36
41
for package in py_multipackage :
Original file line number Diff line number Diff line change @@ -85,6 +85,9 @@ def pyproject_template(sub_packages=[]):
85
85
[build-system]
86
86
requires = ["setuptools>=40.8.0", "wheel"]
87
87
build-backend = "setuptools.build_meta"
88
+
89
+ [project]
90
+ version = "0.0.1"
88
91
"""
89
92
if sub_packages :
90
93
res += f"""
Original file line number Diff line number Diff line change @@ -136,6 +136,14 @@ def get_version():
136
136
"""Get the current package version"""
137
137
if SETUP_PY .exists ():
138
138
return run ("python setup.py --version" ).split ("\n " )[- 1 ]
139
+ elif PYPROJECT .exists ():
140
+ text = PYPROJECT .read_text (encoding = "utf-8" )
141
+ data = toml .loads (text )
142
+ project = data .get ('project' , {})
143
+ version = project .get ('version' )
144
+ if not version : # pragma: no cover
145
+ raise ValueError ("No version identifier could be found!" )
146
+ return version
139
147
elif PACKAGE_JSON .exists ():
140
148
return json .loads (PACKAGE_JSON .read_text (encoding = "utf-8" )).get ("version" , "" )
141
149
else : # pragma: no cover
You can’t perform that action at this time.
0 commit comments