Skip to content

Commit 030bea2

Browse files
dhuangnmdhuangnm
dhuangnm
authored and
dhuangnm
committed
Merge branch 'wheel-fix' into relbuild
2 parents a9b22fa + 9efa73a commit 030bea2

File tree

3 files changed

+68
-11
lines changed

3 files changed

+68
-11
lines changed

setup.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,25 @@
1616
from typing import Dict, List, Tuple
1717

1818
from setuptools import find_packages, setup
19+
from utils.artifacts import get_release_and_version
1920

2021

21-
# default variables to be overwritten by the version.py file
22-
is_release = None
23-
is_dev = None
24-
version = "unknown"
25-
version_major_minor = version
22+
package_path = os.path.join(
23+
os.path.dirname(os.path.realpath(__file__)), "src", "sparseml"
24+
)
25+
(
26+
is_release,
27+
is_dev,
28+
version,
29+
version_major,
30+
version_minor,
31+
version_bug,
32+
) = get_release_and_version(package_path)
2633

2734
# load and overwrite version and release info from sparseml package
2835
exec(open(os.path.join("src", "sparseml", "version.py")).read())
2936
print(f"loaded version {version} from src/sparseml/version.py")
30-
version_nm_deps = f"{version_major_minor}.0"
37+
version_nm_deps = f"{version_major}.{version_minor}.0"
3138

3239
if is_release:
3340
_PACKAGE_NAME = "sparseml"

src/sparseml/version.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,20 @@
1616
Functionality for storing and setting the version info for SparseML
1717
"""
1818

19-
from datetime import date
20-
21-
2219
version_base = "1.8.0"
2320
is_release = False # change to True to set the generated version as a release version
2421
is_dev = False
2522
dev_number = None
2623

2724

28-
def _generate_version():
25+
def _generate_version(
26+
is_release: bool,
27+
is_dev: bool,
28+
version_base: str,
29+
dev_number: str,
30+
):
31+
from datetime import date
32+
2933
if is_release:
3034
return version_base
3135
elif is_dev:
@@ -45,7 +49,7 @@ def _generate_version():
4549
"version_build",
4650
"version_major_minor",
4751
]
48-
__version__ = _generate_version()
52+
__version__ = _generate_version(is_release, is_dev, version_base, dev_number)
4953

5054
version = __version__
5155
version_major, version_minor, version_bug, version_build = version.split(".") + (

utils/artifacts.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Copyright (c) 2021 - present / Neuralmagic, Inc. All Rights Reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing,
10+
# software distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
16+
import os
17+
from typing import Tuple
18+
19+
20+
def get_release_and_version(package_path: str) -> Tuple[bool, bool, str, str, str, str]:
21+
"""
22+
Load version and release info from deepsparse package
23+
"""
24+
# deepsparse/src/deepsparse/version.py always exists, default source of truth
25+
version_path = os.path.join(package_path, "version.py")
26+
27+
# exec() cannot set local variables so need to manually
28+
locals_dict = {}
29+
exec(open(version_path).read(), globals(), locals_dict)
30+
is_release = locals_dict.get("is_release", False)
31+
is_dev = locals_dict.get("is_dev", False)
32+
version = locals_dict.get("version", "unknown")
33+
version_major = locals_dict.get("version_major", "unknown")
34+
version_minor = locals_dict.get("version_minor", "unknown")
35+
version_bug = locals_dict.get("version_bug", "unknown")
36+
37+
print(f"Loaded version {version} from {version_path}")
38+
39+
return (
40+
is_release,
41+
is_dev,
42+
version,
43+
version_major,
44+
version_minor,
45+
version_bug,
46+
)

0 commit comments

Comments
 (0)