Skip to content

Commit

Permalink
Merge branch 'clarify_example' of github.com:neuralmagic/sparseml int…
Browse files Browse the repository at this point in the history
…o clarify_example
  • Loading branch information
Sara Adkins committed Jun 17, 2024
2 parents 0828a6d + 45a16ff commit 5cd21db
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 11 deletions.
19 changes: 13 additions & 6 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,25 @@
from typing import Dict, List, Tuple

from setuptools import find_packages, setup
from utils.artifacts import get_release_and_version


# default variables to be overwritten by the version.py file
is_release = None
is_dev = None
version = "unknown"
version_major_minor = version
package_path = os.path.join(
os.path.dirname(os.path.realpath(__file__)), "src", "sparseml"
)
(
is_release,
is_dev,
version,
version_major,
version_minor,
version_bug,
) = get_release_and_version(package_path)

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

if is_release:
_PACKAGE_NAME = "sparseml"
Expand Down
14 changes: 9 additions & 5 deletions src/sparseml/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,20 @@
Functionality for storing and setting the version info for SparseML
"""

from datetime import date


version_base = "1.8.0"
is_release = False # change to True to set the generated version as a release version
is_dev = False
dev_number = None


def _generate_version():
def _generate_version(
is_release: bool,
is_dev: bool,
version_base: str,
dev_number: str,
):
from datetime import date

if is_release:
return version_base
elif is_dev:
Expand All @@ -45,7 +49,7 @@ def _generate_version():
"version_build",
"version_major_minor",
]
__version__ = _generate_version()
__version__ = _generate_version(is_release, is_dev, version_base, dev_number)

version = __version__
version_major, version_minor, version_bug, version_build = version.split(".") + (
Expand Down
46 changes: 46 additions & 0 deletions utils/artifacts.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Copyright (c) 2021 - present / Neuralmagic, Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


import os
from typing import Tuple


def get_release_and_version(package_path: str) -> Tuple[bool, bool, str, str, str, str]:
"""
Load version and release info from deepsparse package
"""
# deepsparse/src/deepsparse/version.py always exists, default source of truth
version_path = os.path.join(package_path, "version.py")

# exec() cannot set local variables so need to manually
locals_dict = {}
exec(open(version_path).read(), globals(), locals_dict)
is_release = locals_dict.get("is_release", False)
is_dev = locals_dict.get("is_dev", False)
version = locals_dict.get("version", "unknown")
version_major = locals_dict.get("version_major", "unknown")
version_minor = locals_dict.get("version_minor", "unknown")
version_bug = locals_dict.get("version_bug", "unknown")

print(f"Loaded version {version} from {version_path}")

return (
is_release,
is_dev,
version,
version_major,
version_minor,
version_bug,
)

0 comments on commit 5cd21db

Please sign in to comment.