########################################################################### # # Copyright (c) 2020-2023 Diality Inc. - All Rights Reserved. # # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN # WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # @file setup.py # # @author (last) Dara Navaei # @date (last) 24-Oct-2023 # @author (original) Peter Lucia # @date (original) 02-Apr-2020 # ############################################################################ import setuptools import subprocess VERSION = "1.0.0" def get_branch(): """ Gets the current branch name in the current git repository @return: The current branch name, None if it can't be determined """ try: return subprocess.check_output("git rev-parse --abbrev-ref HEAD", shell=True).decode("utf-8").strip() except subprocess.CalledProcessError: return None def get_last_commit(): """ Gets the latest commit in the current git repository @return: (str) the latest commit in the current git repository, None if it can't be determined """ try: return subprocess.check_output("git rev-parse --short=7 HEAD", shell=True).decode("utf-8").strip() except subprocess.CalledProcessError: return None def check_if_git_repo(): """ Checks if we're in a git repo or not to know if we can get the git branch and commit @return: True if in a git repo, False otherwise """ return subprocess.call(["git", "branch"], stderr=subprocess.DEVNULL, stdout=subprocess.DEVNULL) == 0 branch = None commit = None DEV_VERSION = VERSION if check_if_git_repo(): branch = get_branch() commit = get_last_commit() DEV_VERSION += "+{0}".format(branch) DEV_VERSION += ".{0}".format(commit) if __name__ == '__main__': check_if_git_repo() setuptools.setup( name="dialin", author="Peter Lucia", author_email="plucia@diality.com", description="The Diality Dialin API", packages=setuptools.find_packages(exclude=["test*", "tools", "venv"]), classifiers=[ # all classifiers: https://pypi.org/classifiers/ "Programming Language :: Python :: 3.6", "Operating System :: POSIX :: Linux", ], python_requires="~=3.6", version=DEV_VERSION, install_requires=[ "aenum", "cycler", "importlib-metadata", "kiwisolver", "matplotlib", "numpy", "openpyxl", "pandas", "pyparsing", "python-can", "python-dateutil", "six", "wrapt", ] )